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,
})