# Todoist — Pipedream Connect

> Todoist is a delightfully simple yet powerful task planner and to-do list app.

- API slug: `todoist` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Productivity
- Website: https://todoist.com
- Managed OAuth scopes: `task:add` · `data:read_write` · `data:delete` · `project:delete` · `data:read`
- This page (HTML): https://pipedream.com/apps/todoist
- Tools: 45 actions · 8 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: todoist`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "todoist",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Create Filter:
const result = await mcp.callTool({
  name: "todoist-create-filter",
  arguments: {
    name: "Name",
    query: "Query",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Todoist endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.todoist.com/rest/v2/projects

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkudG9kb2lzdC5jb20vcmVzdC92Mi9wcm9qZWN0cw?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "todoist-create-filter",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    todoist: { authProvisionId: "apn_xxxxxxx" },
    name: "Name",
    query: "Query",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (45)

### `todoist-create-filter` — Create Filter (Write)

Creates a filter. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/create-filter.md

### `todoist-create-label` — Create Label (Write)

Creates a label. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/create-label.md

### `todoist-create-project` — Create Project (Write)

Creates a project. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/create-project.md

### `todoist-create-project-comment` — Create Project Comment (Write)

Adds a comment to a project. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/create-project-comment.md

### `todoist-create-section` — Create Section (Write)

Creates a section. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/create-section.md

### `todoist-create-task` — Create Task (Write)

Creates a task. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/create-task.md

### `todoist-create-task-comment` — Create Task Comment (Write)

Adds a comment to a task. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/create-task-comment.md

### `todoist-delete-comment` — Delete Comment (Write)

Deletes a comment. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/delete-comment.md

### `todoist-delete-filter` — Delete Filter (Write)

Deletes a filter. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/delete-filter.md

### `todoist-delete-label` — Delete Label (Write)

Deletes a label. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/delete-label.md

### `todoist-delete-project` — Delete Project (Write)

Deletes a project. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/delete-project.md

### `todoist-delete-section` — Delete Section (Write)

Deletes a section. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/delete-section.md

### `todoist-delete-task` — Delete Task (Write)

Deletes a task. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/delete-task.md

### `todoist-export-tasks` — Export Tasks (Read-only)

Export project task names as comma separated file. Returns path to new file. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/export-tasks.md

### `todoist-find-project` — Find Project (Read-only)

Finds a project (by name/title). See the documentation Optionally, create one if none are found. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/find-project.md

### `todoist-find-task` — Find Task (Read-only)

Finds a task by name. See the documentation Optionally, create one if none are found. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/find-task.md

### `todoist-find-user` — Find User (Read-only)

Searches by email for a user who is connected/shared with your account. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/find-user.md

### `todoist-get-label` — Get Label (Read-only)

Returns info about a label. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/get-label.md

### `todoist-get-project` — Get Project (Read-only)

Returns info about a project. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/get-project.md

### `todoist-get-project-comment` — Get Project Comment (Write)

Returns info about a project comment. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/get-project-comment.md

### `todoist-get-section` — Get Section (Read-only)

Returns info about a section. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/get-section.md

### `todoist-get-task` — Get Task (Read-only)

Returns info about a task. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/get-task.md

### `todoist-get-task-comment` — Get Task Comment (Write)

Returns info about a task comment. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/get-task-comment.md

### `todoist-import-tasks` — Import Tasks (Write)

Import tasks into a selected project. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/import-tasks.md

### `todoist-invite-user-to-project` — Invite User To Project (Write)

Sends email to a person, inviting them to use one of your projects. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/invite-user-to-project.md

### `todoist-list-filters` — List Filters (Read-only)

Returns a list of all filters. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/list-filters.md

### `todoist-list-labels` — List Labels (Read-only)

Returns a list of all labels. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/list-labels.md

### `todoist-list-label-string-options` — List Labels Options (Read-only)

Retrieves available options for the Labels field.

Full schema: https://pipedream.com/apps/todoist/actions/list-label-string-options.md

### `todoist-list-project-comments` — List Project Comments (Read-only)

Returns a list of comments for a project. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/list-project-comments.md

### `todoist-list-projects` — List Projects (Read-only)

Returns a list of all projects. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/list-projects.md

### `todoist-list-include-resource-types-options` — List Resource Types Options (Read-only)

Retrieves available options for the Resource Types field.

Full schema: https://pipedream.com/apps/todoist/actions/list-include-resource-types-options.md

### `todoist-list-sections` — List Sections (Read-only)

Returns a list of all sections. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/list-sections.md

### `todoist-list-select-projects-options` — List Select Projects Options (Read-only)

Retrieves available options for the Select Projects field.

Full schema: https://pipedream.com/apps/todoist/actions/list-select-projects-options.md

### `todoist-list-task-comments` — List Task Comments (Read-only)

Returns a list of comments for a task. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/list-task-comments.md

### `todoist-list-uncompleted-tasks` — List Uncompleted Tasks (Read-only)

Returns a list of uncompleted tasks by project, section, and/or label. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/list-uncompleted-tasks.md

### `todoist-mark-task-completed` — Mark Task as Completed (Write)

Marks a task as being completed. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/mark-task-completed.md

### `todoist-move-task-to-section` — Move Task To Section (Write)

Move a Task to a different section within the same project. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/move-task-to-section.md

### `todoist-search-tasks` — Search Tasks (Read-only)

Search tasks by name, label, project and/or section. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/search-tasks.md

### `todoist-uncomplete-task` — Uncomplete Task (Write)

Uncompletes a task. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/uncomplete-task.md

### `todoist-update-comment` — Update Comment (Write)

Updates a comment. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/update-comment.md

### `todoist-update-filter` — Update Filter (Write)

Updates a filter. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/update-filter.md

### `todoist-update-label` — Update Label (Write)

Updates a label. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/update-label.md

### `todoist-update-project` — Update Project (Write)

Updates a project. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/update-project.md

### `todoist-update-section` — Update Section (Write)

Updates a section. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/update-section.md

### `todoist-update-task` — Update Task (Write)

Updates a task. See the documentation

Full schema: https://pipedream.com/apps/todoist/actions/update-task.md

## Triggers (8)

### `todoist-new-or-modified-task` — New or Modified Task (Polling)

Emit new event for each new or modified task. See the documentation

Full schema: https://pipedream.com/apps/todoist/triggers/new-or-modified-task.md

### `todoist-completed-task` — New Completed Task (Polling)

Emit new event for each completed Todoist task, including recurring task completions. Non-recurring completions are polled via GET /tasks/completed/by_completion_date. Recurring completions don't appear there - Todoist reschedules a recurring task instead of marking it completed there - so they're…

Full schema: https://pipedream.com/apps/todoist/triggers/completed-task.md

### `todoist-incomplete-task` — New Incomplete Task (Polling)

Emit new event for each new incomplete task. See the documentation

Full schema: https://pipedream.com/apps/todoist/triggers/incomplete-task.md

### `todoist-new-or-modified-project` — New or Modified Project (Polling)

Emit new event for each new or modified project. See the documentation

Full schema: https://pipedream.com/apps/todoist/triggers/new-or-modified-project.md

### `todoist-new-project` — New Project (Polling)

Emit new event for each new project. See the documentation

Full schema: https://pipedream.com/apps/todoist/triggers/new-project.md

### `todoist-new-section` — New Section (Polling)

Emit new event for each new section added. See the documentation

Full schema: https://pipedream.com/apps/todoist/triggers/new-section.md

### `todoist-sync-resources` — New Sync Resources (Polling)

Emit new updates for your selected resources. See the documentation

Full schema: https://pipedream.com/apps/todoist/triggers/sync-resources.md

### `todoist-new-task` — New Task (Polling)

Emit new event for each new task. See the documentation

Full schema: https://pipedream.com/apps/todoist/triggers/new-task.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
