Skip to content

2Do ​

2Do is a powerful personal task manager that supports GTD methodology and more. Protocol Launcher allows you to generate deep links to create tasks, search, and navigate lists in 2Do.

Usage ​

There are two ways to use this library:

  • On-Demand import from subpaths enables tree-shaking and keeps bundles small.
  • Full Import from the root package is convenient but includes all app modules.

Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.

Select Installation Method

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

Open App ​

On-Demand
ts
import { open } from 'protocol-launcher/2do'

const url = open()

Show All Tasks ​

On-Demand
ts
import { showAll } from 'protocol-launcher/2do'

const url = showAll()

Show Today Tasks ​

On-Demand
ts
import { showToday } from 'protocol-launcher/2do'

const url = showToday()

Show Starred Tasks ​

On-Demand
ts
import { showStarred } from 'protocol-launcher/2do'

const url = showStarred()

Show Scheduled Tasks ​

On-Demand
ts
import { showScheduled } from 'protocol-launcher/2do'

const url = showScheduled()

Show List ​

On-Demand
ts
import { showList } from 'protocol-launcher/2do'

const url = showList({
  name: 'Work',
})

Search Tasks ​

On-Demand
ts
import { search } from 'protocol-launcher/2do'

const url = search({
  text: 'John',
})

Search Overdue Tasks ​

On-Demand
ts
import { search } from 'protocol-launcher/2do'

const url = search({
  text: 'type:overdue',
})

Add New Task (Open Screen) ​

On-Demand
ts
import { addNewTask } from 'protocol-launcher/2do'

const url = addNewTask({
  ignoreDefaults: 1,
})

Add Task ​

On-Demand
ts
import { add } from 'protocol-launcher/2do'

const url = add({
  task: 'Dinner at 8pm',
  due: '1',
})

Add Task with Priority ​

On-Demand
ts
import { add } from 'protocol-launcher/2do'

const url = add({
  task: 'Important task',
  priority: 3,
})

Add Task with Tags ​

On-Demand
ts
import { add } from 'protocol-launcher/2do'

const url = add({
  task: 'Monthly subscription',
  tags: 'bill,payment',
})

Add Task to Project ​

On-Demand
ts
import { add } from 'protocol-launcher/2do'

const url = add({
  task: 'Buy a new charger',
  forParentName: 'Shopping List',
  forList: 'Home',
})

Paste Text as Tasks ​

On-Demand
ts
import { paste } from 'protocol-launcher/2do'

const url = paste({
  text: 'Task 1\nTask 2\nTask 3',
  forList: 'Shopping',
})

Get Task ID ​

On-Demand
ts
import { getTaskID } from 'protocol-launcher/2do'

const url = getTaskID({
  task: 'My Task',
  forList: 'Work',
  saveInClipboard: 1,
})