Skip to main content

URL Schemes

2Do iOS registers the twodo:// URL scheme. You can use it from Shortcuts, launchers, widgets, browsers, and other apps that can open a URL.

The public URL scheme is for user automation. It does not include sign-in, sync authorization, or other account callback URLs.

Base Format

Most actions use the x-callback-url format:

twodo://x-callback-url/<action>?<parameter>=<value>&<parameter>=<value>

Action names are case-insensitive, so showtoday, showToday, and ShowToday all reach the same action.

URL Encode Your Values

URL parameters must be encoded before you put them into a URL. This matters for spaces, commas, ampersands, line breaks, and symbols.

TextEncoded
Buy milkBuy%20milk
Work & HomeWork%20%26%20Home
finance,adminfinance%2Cadmin
Line one + line break + Line twoLine%20one%0ALine%20two

In Shortcuts, use the URL Encode action before Open URL.

In JavaScript:

encodeURIComponent('Call Sam & book flights');
// Call%20Sam%20%26%20book%20flights
tip

Encode only the parameter value, not the whole URL. For example, encode Call Sam & book flights, then place the result after task=.

Quick Examples

Create a task in the Inbox:

twodo://x-callback-url/add?task=Buy%20milk&forlist=Inbox

Create a task with a note, due date, due time, tags, and a priority:

twodo://x-callback-url/add?task=Submit%20expenses&note=Attach%20receipts&forlist=Work&due=2026-05-08&duetime=17:00&tags=finance%2Cadmin&priority=2

Create a checklist from multiple lines:

twodo://x-callback-url/add?task=Trip%20prep&type=2&subtasks=Book%20flights%0AReserve%20hotel%0APack%20passport

Open the Today Focus List:

twodo://x-callback-url/showtoday

Search for tasks containing invoice:

twodo://x-callback-url/search?text=invoice

Public Actions

These are the public x-callback-url actions that are useful for user automation in 2Do for iPhone and iPad.

ActionPurpose
addCreate a task, project, or checklist.
addnewtaskOpen the new-task interface.
pasteCreate tasks from plain text.
searchSearch tasks.
showallOpen the All Focus List.
showtodayOpen the Today Focus List.
showstarredOpen the Starred Focus List.
showscheduledOpen the Scheduled Focus List.
showlistOpen a list by name.
showtaskOpen a task by UID.
gettaskidFind a project UID by title and list.
launchOpen 2Do.
note

2Do for Mac also supports completetasks for marking tasks complete by UID. 2Do iOS does not include that URL action.

Creating Tasks with add

Use add when you want a URL to create a task directly.

twodo://x-callback-url/add?task=Call%20Sam&forlist=Work

Basic Parameters

ParameterDescription
taskTask title. If omitted, 2Do uses New Task.
noteNotes for the task.
forlistDestination list name. If omitted, 2Do uses the default or last-used list.
forparentnameParent project or checklist title. Use this with forlist so 2Do can find the right parent.
forparenttaskParent project or checklist UID. Use this when your automation already knows the parent UID.
type0 for a regular task, 1 for a project, 2 for a checklist.
ignoredefaults1 tells 2Do not to apply default list/date/alert settings while creating the task.
edit1 creates the task, then opens it for editing.
saveinclipboard1 copies the new task UID to the clipboard after the task is created.
note

Use addnewtask when you only want to open the new-task interface. On iOS, add creates the task directly unless you pass edit=1.

Dates, Times, and Repeat

ParameterDescription
dueDue date. Use yyyy-MM-dd, a natural phrase such as tomorrow, or a number of days from today (0 = today, 1 = tomorrow).
duetimeDue time, such as 17:00 or 5pm. This is applied when a due date is supplied.
startStart date/time. Use yyyy-MM-dd HH:mm, a natural phrase, or a number of days from today.
repeatRepeat preset: 1 daily, 2 weekly, 3 every two weeks, 4 monthly. A due date or start date is required.

Examples:

twodo://x-callback-url/add?task=Pay%20rent&due=2026-06-01&duetime=09:00&repeat=4
twodo://x-callback-url/add?task=Review%20agenda&start=2026-05-08%2009:00

Organization and Details

ParameterDescription
tagsComma-separated tag names. Existing tags are reused, and new tags can be created.
locationsComma-separated location names. 2Do matches existing locations.
subtasksNewline-separated sub-task titles. If the parent is a regular task, it becomes a checklist.
priority0 none, 1 low, 2 medium, 3 high.
starred1, true, or yes stars the task.
actionAdds an Action. Use call:, message:, mail:, url:, visit:, or google: followed by the target value.
pictureBase64-encoded image data. Use lastphoto to attach the latest photo when Photos access is allowed.
audioBase64-encoded audio data.

Action examples:

twodo://x-callback-url/add?task=Call%20Alex&action=call%3A%2B15551234567
twodo://x-callback-url/add?task=Open%20project%20brief&action=url%3Ahttps%3A%2F%2Fexample.com%2Fbrief

Clipboard Values

For Shortcuts workflows, these parameters can use (clipboard) as their value:

ParameterClipboard behavior
taskUses the clipboard as the task title.
noteUses the clipboard as the notes body.
tagsUses the clipboard as the comma-separated tag list.
locationsUses the clipboard as the comma-separated location list.

Example:

twodo://x-callback-url/add?task=(clipboard)&forlist=Inbox
note

For multi-line sub-tasks on iPhone and iPad, pass the encoded text directly in subtasks, using %0A for line breaks.

Opening Lists and Focus Lists

Open a normal list by name:

twodo://x-callback-url/showlist?name=Work

Open built-in Focus Lists:

twodo://x-callback-url/showall
twodo://x-callback-url/showtoday
twodo://x-callback-url/showstarred
twodo://x-callback-url/showscheduled
tip

There is no separate showinbox action. Use showlist?name=Inbox if your Inbox list is named Inbox.

Use search with the text parameter:

twodo://x-callback-url/search?text=invoice

You can also search for clipboard text:

twodo://x-callback-url/search?text=(clipboard)

Pasting Multiple Tasks

Use paste when you already have a block of plain text and want 2Do to create tasks from it. 2Do treats non-empty lines as separate tasks.

ParameterDescription
textPlain text to paste. Use %0A for line breaks.
forlistOptional destination list name.
inprojectOptional project/checklist title inside forlist.

Create three Inbox tasks:

twodo://x-callback-url/paste?forlist=Inbox&text=Buy%20milk%0ACall%20Sam%0ABook%20flights

Paste into a project:

twodo://x-callback-url/paste?forlist=Work&inproject=Website%20Launch&text=Write%20copy%0AReview%20screenshots

Opening a Task by UID

Use showtask when your automation already knows the task UID:

twodo://x-callback-url/showtask?uid=<task-uid>

The easiest way to get a newly created task UID is to call add with saveinclipboard=1 or with an x-success callback.

Looking Up a Project UID

Use gettaskid to find a project or checklist by title inside a list.

twodo://x-callback-url/gettaskid?task=Website%20Launch&forlist=Work
ParameterDescription
taskProject or checklist title.
forlistList name containing that project or checklist.
saveinclipboard1 copies the found UID to the clipboard.

On success, the callback receives a uid parameter.

x-callback-url Callbacks

Every action can use the standard x-callback-url parameters:

ParameterDescription
x-successURL to open after success.
x-errorURL to open after an error.
x-cancelURL to open if the action is cancelled.
x-sourceOptional calling app name.

The add action returns the new task UID in an add parameter:

twodo://x-callback-url/add?task=Draft%20proposal&x-success=shortcuts%3A%2F%2Fx-callback-url%2Frun-shortcut%3Fname%3DTask%2520Created

The gettaskid action returns the found project/checklist UID in a uid parameter.

Not Available as Public Actions

For clarity, these are not public iPhone and iPad automation endpoints:

EndpointUse this instead
quickEntryUse addnewtask, or create directly with add.
showinboxUse showlist?name=Inbox.
completetasksThis action is available in 2Do for Mac, but not in 2Do iOS.
Sync sign-in callback URLsThese are handled internally during account authorization and are not part of the public URL scheme.
Widget picker callbacksThese are used by 2Do's widgets and are not needed for normal automation.

If you need a public action that is not listed here, contact us.