Skip to content

Todoist

Todoist is a to-do list and task management application. Protocol Launcher allows you to generate deep links to open views and add tasks in Todoist.

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/todoist'

const url = open()

Add Task

Add a task to Todoist (Mobile only). This opens and pre-fills the form but does not automatically submit.

On-Demand
ts
import { addTask } from 'protocol-launcher/todoist'

const url = addTask({
  content: 'Buy Milk',
  date: 'Tomorrow @ 14:00',
  priority: 4,
})

Open Quick Add

Open the Global Quick Add panel (Desktop only, 9.2.0+). This opens and pre-fills the panel but does not automatically submit.

On-Demand
ts
import { openQuickAdd } from 'protocol-launcher/todoist'

const url = openQuickAdd({
  content: 'My Task',
  description: 'This is a description',
})

Search in Todoist (Android mobile and Desktop 9.10.0+).

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

const url = search({
  query: 'Test & Today',
})

Open Inbox

Open the Inbox view in Todoist.

On-Demand
ts
import { openInbox } from 'protocol-launcher/todoist'

const url = openInbox()

Open Today

Open the Today view in Todoist.

On-Demand
ts
import { openToday } from 'protocol-launcher/todoist'

const url = openToday()

Open Upcoming

Open the Upcoming view in Todoist.

On-Demand
ts
import { openUpcoming } from 'protocol-launcher/todoist'

const url = openUpcoming()

Open Project

Open a specific project by ID.

On-Demand
ts
import { openProject } from 'protocol-launcher/todoist'

const url = openProject({
  id: '128501470',
})

Open Projects

Open the Projects view. On desktop, you can optionally filter by workspace ID.

On-Demand
ts
import { openProjects } from 'protocol-launcher/todoist'

const url = openProjects({
  workspaceId: '1234',
})

Open Label

Open a specific label. On mobile, use label name. On desktop, use label ID.

On-Demand
ts
import { openLabel } from 'protocol-launcher/todoist'

const url = openLabel({
  name: 'Urgent',
})

Open Labels

Open the Labels view (Mobile only).

On-Demand
ts
import { openLabels } from 'protocol-launcher/todoist'

const url = openLabels()

Open Filter

Open a specific filter by ID.

On-Demand
ts
import { openFilter } from 'protocol-launcher/todoist'

const url = openFilter({
  id: '9',
})

Open Filters

Open the Filters view (Mobile only).

On-Demand
ts
import { openFilters } from 'protocol-launcher/todoist'

const url = openFilters()

Open Filters & Labels

Open the Filters & Labels view (Desktop only).

On-Demand
ts
import { openFiltersLabels } from 'protocol-launcher/todoist'

const url = openFiltersLabels()

Open Task

Open a specific task by ID.

On-Demand
ts
import { openTask } from 'protocol-launcher/todoist'

const url = openTask({
  id: '12345',
})

Open Team Inbox

Open the Team Inbox view (Mobile only, Business accounts). Non-business accounts will be redirected to inbox.

On-Demand
ts
import { openTeaminbox } from 'protocol-launcher/todoist'

const url = openTeaminbox()

Open Templates

Open the Templates view (Desktop only). You can optionally open a specific template by ID.

On-Demand
ts
import { openTemplates } from 'protocol-launcher/todoist'

const url = openTemplates({
  id: '123',
})

Open Notifications

Open the Notifications view in Todoist.

On-Demand
ts
import { openNotifications } from 'protocol-launcher/todoist'

const url = openNotifications()

Open Profile

Open the Profile view (Mobile only).

On-Demand
ts
import { openProfile } from 'protocol-launcher/todoist'

const url = openProfile()