# Todoist

Your Toolhouse AI Worker can connect to Todoist using 84 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=todoist).

## Tools (84)

### `Todoist Add Workspace`

Integration name: **TODOIST\_ADD\_WORKSPACE**

Tool to create a new workspace in Todoist. Use when you need a separate workspace to organize projects. Generates UUID and temp\_id automatically.

#### Parameters

| Parameter | Type    | Required | Example                                  | Description                                                                                           |
| --------- | ------- | :------: | ---------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `icon`    | string  |          | `"🏢"`                                   | Icon for the workspace (optional).                                                                    |
| `name`    | string  |     ✅    | `"My Workspace"`                         | Name of the new workspace.                                                                            |
| `uuid`    | string  |          | `"550e8400-e29b-41d4-a716-446655440000"` | UUID for this command for idempotency. If omitted, a new UUID is generated.                           |
| `color`   | integer |          | `30`                                     | Color ID for the workspace (optional).                                                                |
| `temp_id` | string  |          | `"temp_123"`                             | Temporary identifier to map the command to the created resource. If omitted, a new UUID is generated. |

***

### `Todoist Archive Project2`

Integration name: **TODOIST\_ARCHIVE\_PROJECT2**

Tool to archive a project using Todoist API v1. For personal projects, archives it for the initiating user. For workspace projects, archives it for all workspace users.

#### Parameters

| Parameter    | Type   | Required | Example              | Description                          |
| ------------ | ------ | :------: | -------------------- | ------------------------------------ |
| `project_id` | string |     ✅    | `"6fm7p8pvJFrPR6rJ"` | String ID of the project to archive. |

***

### `Todoist Bulk Create Tasks`

Integration name: **TODOIST\_BULK\_CREATE\_TASKS**

Create many tasks in one request using Todoist's Sync batching. Use when scaffolding projects or creating multiple tasks at once to reduce round trips.

#### Parameters

| Parameter | Type  | Required | Example                                                                                                 | Description                                                                               |
| --------- | ----- | :------: | ------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `tasks`   | array |     ✅    | `[{"content":"Buy groceries","project_id":"6fxqGF38mvvr9g2r"},{"content":"Call dentist","priority":3}]` | Array of task specifications to create. Each task must have at minimum a 'content' field. |

***

### `Todoist Close Task`

Integration name: **TODOIST\_CLOSE\_TASK**

DEPRECATED: Use TODOIST\_CLOSE\_TASK\_V1 instead. This tool marks an existing task as completed in Todoist. It requires the `task_id` of the task to be closed. Closing an already-completed task returns an error; check task state first if idempotent behavior is needed.

#### Parameters

| Parameter | Type   | Required | Example              | Description                                                                                                                                                                                                                                                     |
| --------- | ------ | :------: | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `task_id` | string |     ✅    | `"6fw72RV9r37jCPq4"` | The ID of the task to close (alphanumeric format from unified API v1). Verify the ID belongs to the intended task before calling, as completing the wrong task cannot be undone easily; use TODOIST\_GET\_ALL\_TASKS or TODOIST\_GET\_TASK to confirm identity. |

***

### `Todoist Close Task V1`

Integration name: **TODOIST\_CLOSE\_TASK\_V1**

Tool to close (complete) a task in Todoist using API v1. Use when you need to mark a task as complete using the v1 endpoint.

#### Parameters

| Parameter | Type   | Required | Example              | Description                                                                                                                                                                              |
| --------- | ------ | :------: | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `task_id` | string |     ✅    | `"6Xvwww8jQhrQjFPW"` | String ID of the task to close. Regular tasks are marked complete and moved to history along with their subtasks. Tasks with recurring due dates are scheduled to their next occurrence. |

***

### `Todoist Create Comment V1`

Integration name: **TODOIST\_CREATE\_COMMENT\_V1**

Tool to create a new comment on a project or task using Todoist API v1. Use when you need to add a note to a specific task or project. IMPORTANT: You must provide EXACTLY ONE of task\_id or project\_id - these parameters are mutually exclusive. - To comment on a task, provide task\_id (and omit project\_id) - To comment on a project, provide project\_id (and omit task\_id) - Providing both task\_id AND project\_id will cause an error.

#### Parameters

| Parameter        | Type   | Required | Example                            | Description                                                                                                                                               |
| ---------------- | ------ | :------: | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `content`        | string |     ✅    | `"This is a comment on the task."` | The content of the comment. Must be between 1 and 15000 characters.                                                                                       |
| `task_id`        | —      |          | `"2995104589"`                     | The ID of the task to attach the comment to. IMPORTANT: Provide EITHER task\_id OR project\_id, but NOT BOTH. These parameters are mutually exclusive.    |
| `attachment`     | object |          | —                                  | Attachment metadata for comments in API v1.                                                                                                               |
| `project_id`     | —      |          | `"6XvwwRvRfmCjM5PW"`               | The ID of the project to attach the comment to. IMPORTANT: Provide EITHER project\_id OR task\_id, but NOT BOTH. These parameters are mutually exclusive. |
| `uids_to_notify` | array  |          | `["12345","67890"]`                | Optional list of user IDs to notify about this comment.                                                                                                   |

***

### `Todoist Create Label`

Integration name: **TODOIST\_CREATE\_LABEL**

DEPRECATED: Use TODOIST\_CREATE\_LABEL\_V1 instead. Creates a new label.

#### Parameters

| Parameter     | Type    | Required | Example  | Description                                                                                                                                                                                          |
| ------------- | ------- | :------: | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`        | string  |     ✅    | `"Work"` | Name of the label. Must be a non-empty string.                                                                                                                                                       |
| `color`       | integer |          | `30`     | Color of the label. See <https://developer.todoist.com/guides/#colors> for available colors. Only supported integer codes from that reference are valid; arbitrary integers cause validation errors. |
| `order`       | integer |          | `1`      | The order of the label in the list.                                                                                                                                                                  |
| `is_favorite` | boolean |          | `true`   | Whether the label is a favorite.                                                                                                                                                                     |

***

### `Todoist Create Label V1`

Integration name: **TODOIST\_CREATE\_LABEL\_V1**

Tool to create a new personal label using API v1. Use when you need to add a new label to organize tasks.

#### Parameters

| Parameter     | Type    | Required | Example            | Description                                                                                                                |
| ------------- | ------- | :------: | ------------------ | -------------------------------------------------------------------------------------------------------------------------- |
| `name`        | string  |     ✅    | `"Test Label API"` | Name of the new label. Must be between 1 and 128 characters.                                                               |
| `color`       | —       |          | `"blue"`           | Label color. Can be a color name (e.g., 'blue', 'red') or a color code (integer). Defaults to 'charcoal' if not specified. |
| `order`       | integer |          | `1`                | Position of the new label in the label list. Used by clients to sort labels.                                               |
| `is_favorite` | boolean |          | `true`             | Whether the label is marked as a favorite. Defaults to false if not specified.                                             |

***

### `Todoist Create Project`

Integration name: **TODOIST\_CREATE\_PROJECT**

DEPRECATED: Use TODOIST\_TODOIST\_CREATE\_PROJECT2 instead. Creates a new project in Todoist. Project names are not unique; use the returned project\_id for subsequent operations to avoid ambiguous matches.

#### Parameters

| Parameter    | Type    | Required | Example        | Description                                                                                                                                                                                 |
| ------------ | ------- | :------: | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`       | string  |     ✅    | `"Work Tasks"` | Name of the project. Must be non-empty; empty values cause validation failures.                                                                                                             |
| `color`      | string  |          | `"blue"`       | Enum for project colors. Names are based on Todoist's standard palette.                                                                                                                     |
| `favorite`   | boolean |          | `true`         | Whether the project should be marked as a favorite.                                                                                                                                         |
| `parent_id`  | string  |          | `"2203306141"` | ID of the parent project to create a sub-project. If not set, it's a top-level project. Must reference an existing project ID; an incorrect value buries the project deep in the hierarchy. |
| `view_style` | string  |          | `"list"`       | Enum for project view styles.                                                                                                                                                               |

***

### `Todoist Create Project2`

Integration name: **TODOIST\_CREATE\_PROJECT2**

Tool to create a new project in Todoist using the unified API v1. Use when you need to create a new project with specific parameters like name, color, or parent project.

#### Parameters

| Parameter      | Type    | Required | Example                                     | Description                                                                                                            |
| -------------- | ------- | :------: | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `name`         | string  |     ✅    | `"Work Tasks"`                              | The project name. This is the only required field.                                                                     |
| `color`        | —       |          | `"blue"`                                    | Project color. Can be either a color name (e.g., 'berry\_red', 'blue') or a numeric color code. Default is 'charcoal'. |
| `parent_id`    | —       |          | `"2203306141"`                              | Parent project ID. If provided, creates this project as a sub-project. Can be either a string or integer ID.           |
| `view_style`   | string  |          | `"list"`                                    | View style of the project. Can be 'list' or 'board'.                                                                   |
| `description`  | string  |          | `"Project for tracking work-related tasks"` | Description of the project. Optional field.                                                                            |
| `is_favorite`  | boolean |          | `true`                                      | Whether the project is a favorite for the user. Default is false.                                                      |
| `workspace_id` | integer |          | `123456`                                    | Workspace ID. If provided, creates a workspace project instead of a personal project.                                  |

***

### `Todoist Create Section`

Integration name: **TODOIST\_CREATE\_SECTION**

DEPRECATED: Use TODOIST\_CREATE\_SECTION\_V1 instead. Tool to create a new section within a specific project. Use when you need to group tasks under a new heading in a project.

#### Parameters

| Parameter    | Type    | Required | Example              | Description                                                                                                                    |
| ------------ | ------- | :------: | -------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `name`       | string  |     ✅    | `"Backlog"`          | Name of the new section. This will be the section heading in the project.                                                      |
| `order`      | integer |          | `1`                  | Position of the new section in the project. Lower values appear first. If not specified, the section will be added to the end. |
| `project_id` | string  |     ✅    | `"6XvwwRvRfmCjM5PW"` | ID of the project to add the section to.                                                                                       |

***

### `Todoist Create Section V1`

Integration name: **TODOIST\_CREATE\_SECTION\_V1**

Tool to create a new section within a project using API v1. Use when you need to organize tasks under a new heading in a project.

#### Parameters

| Parameter    | Type    | Required | Example              | Description                                                                                                                                       |
| ------------ | ------- | :------: | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`       | string  |     ✅    | `"Backlog"`          | Name of the new section. This will be the section heading in the project.                                                                         |
| `order`      | integer |          | `1`                  | Position of the new section in the project. Lower values appear first. If not specified, the section will be added to the end.                    |
| `project_id` | string  |     ✅    | `"6XvwwRvRfmCjM5PW"` | ID of the project to add the section to. Must be a new-format alphanumeric string ID. Legacy numeric project IDs are not supported by the v1 API. |

***

### `Todoist Create Task`

Integration name: **TODOIST\_CREATE\_TASK**

Create a new task in Todoist using the unified API v1. This action allows users to create tasks with various parameters including content, due dates, priority, and more. The task can be created in a specific project, section, or as a subtask of another task. Bulk creation may trigger HTTP 429; honor Retry-After response headers.

#### Parameters

| Parameter       | Type    | Required | Example                                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| --------------- | ------- | :------: | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order`         | integer |          | `1`                                              | Non-zero integer value used to sort tasks under the same parent.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `labels`        | array   |          | `["Food","Shopping"]`                            | The task's labels (list of names for personal/shared labels). Labels must already exist in Todoist; referencing non-existent labels may fail silently.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `content`       | string  |     ✅    | `"Buy milk"`                                     | Task content/title. Can contain markdown-formatted text and hyperlinks. Do NOT include due dates or times in this field - use due\_string instead.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `due_date`      | string  |          | `"2023-12-25"`                                   | Specific date in YYYY-MM-DD format relative to user's timezone. Use this for exact dates without time. For natural language dates, use due\_string instead. Only one due\_\* field can be used at a time (except due\_lang). Cannot express recurrence; one-off tasks only. Use due\_string (e.g., 'every Friday') for recurring schedules.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `due_lang`      | string  |          | `"en"`                                           | 2-letter ISO 639-1 language code for parsing due\_string. Required when due\_string is in a language other than English. Supported codes: da (Danish), de (German), en (English), es (Spanish), fi (Finnish), fr (French), it (Italian), ja (Japanese), ko (Korean), nb (Norwegian), nl (Dutch), pl (Polish), pt (Portuguese), ru (Russian), sv (Swedish), tw (Traditional Chinese), zh (Chinese).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `duration`      | integer |          | `15`                                             | Task duration amount as a positive integer. Must be used together with duration\_unit. Use this field for task duration instead of embedding 'for X minutes' in due\_string. Example: for a 15-minute task, set duration=15 and duration\_unit='minute'.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `priority`      | integer |          | `1`                                              | Task priority from 1 (normal) to 4 (urgent).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `parent_id`     | string  |          | `"2995104339"`                                   | Parent task ID for creating subtasks. Use IDs from TODOIST\_GET\_ALL\_TASKS or TODOIST\_GET\_ACTIVE\_TASK.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `due_string`    | string  |          | `"tomorrow at 12:00"`                            | Human-defined due date in arbitrary format. Accepts natural language expressions like 'tomorrow', 'next Monday at 3pm', 'in 2 hours', 'every Friday'. Also accepts formatted dates like 'Jan 21, 2026' or ISO dates like '2026-01-21'. Value is interpreted using local time. IMPORTANT: If the due string is in a language other than English (e.g., 'esta semana' in Portuguese, 'mañana' in Spanish, 'demain' in French), you MUST also set the due\_lang field with the appropriate 2-letter language code (e.g., 'pt' for Portuguese, 'es' for Spanish, 'fr' for French, 'de' for German), otherwise the API will reject it with 'Invalid date format'. Do NOT include duration phrases like 'for X minutes' or 'for X days' in this field - use the separate duration and duration\_unit fields instead. If duration is included, it will be automatically extracted and applied to the duration fields. Only one due\_\* field can be used at a time (except due\_lang). |
| `project_id`    | string  |          | `"2203306141"`                                   | Project ID where the task will be created. Use IDs from TODOIST\_GET\_ALL\_PROJECTS or TODOIST\_CREATE\_PROJECT. If not set, task is added to the user's Inbox. Project names are not unique; always use numeric IDs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `section_id`    | string  |          | `"2203306141"`                                   | Section ID to put task into. Use IDs from TODOIST\_GET\_ALL\_SECTIONS.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `assignee_id`   | string  |          | `"53792166"`                                     | The responsible user ID for shared tasks (numeric format).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `description`   | string  |          | `"Need to get 2 gallons of milk from the store"` | Additional notes or details about the task. Can contain markdown-formatted text and hyperlinks. IMPORTANT: Do NOT include due dates, times, or scheduling information here - use the due\_string field for natural language dates (e.g., 'tomorrow at 2pm') or due\_date/due\_datetime for specific dates.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `due_datetime`  | string  |          | `"2023-12-25T12:00:00Z"`                         | Specific date and time in RFC3339 format in UTC. Use this for exact date and time. Only one due\_\* field can be used at a time (except due\_lang). Cannot express recurrence; one-off tasks only. Use due\_string for recurring schedules.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `duration_unit` | string  |          | `"minute"`                                       | Units for task duration in Todoist.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

***

### `Todoist Delete Comment`

Integration name: **TODOIST\_DELETE\_COMMENT**

Tool to delete a specific comment from Todoist by its ID. Use when you need to permanently remove a comment.

#### Parameters

| Parameter    | Type   | Required | Example              | Description                                                                                            |
| ------------ | ------ | :------: | -------------------- | ------------------------------------------------------------------------------------------------------ |
| `comment_id` | string |     ✅    | `"6fvWm92qwCcwhq7W"` | The ID of the comment to delete. Todoist supports alphanumeric comment IDs (e.g., '6fvWm92qwCcwhq7W'). |

***

### `Todoist Delete Label V1`

Integration name: **TODOIST\_DELETE\_LABEL\_V1**

Tool to delete a personal label using API v1. Use when you need to permanently remove a label by its ID. All instances of the label will be removed from tasks.

#### Parameters

| Parameter  | Type   | Required | Example        | Description                                                                                    |
| ---------- | ------ | :------: | -------------- | ---------------------------------------------------------------------------------------------- |
| `label_id` | string |     ✅    | `"2182932094"` | The ID of the personal label to delete. All instances of the label will be removed from tasks. |

***

### `Todoist Delete Project2`

Integration name: **TODOIST\_DELETE\_PROJECT2**

Tool to delete a project and all of its sections and tasks using Todoist API v1. Use when you need to permanently remove a project by its ID.

#### Parameters

| Parameter    | Type   | Required | Example        | Description                                                             |
| ------------ | ------ | :------: | -------------- | ----------------------------------------------------------------------- |
| `project_id` | string |     ✅    | `"2203306141"` | The ID of the project to delete. Can be numeric or alphanumeric format. |

***

### `Todoist Delete Section2`

Integration name: **TODOIST\_DELETE\_SECTION2**

Tool to delete a section and all tasks within it. Use when you need to permanently remove a section by its ID.

#### Parameters

| Parameter    | Type   | Required | Example              | Description                                                                        |
| ------------ | ------ | :------: | -------------------- | ---------------------------------------------------------------------------------- |
| `section_id` | string |     ✅    | `"6fvWm9G4XJvWRcfF"` | ID of the section to delete. This will delete the section and all tasks within it. |

***

### `Todoist Delete Task`

Integration name: **TODOIST\_DELETE\_TASK**

Tool to delete a specific task from Todoist. Permanently removes the task and all its subtasks with no recycle bin or undo option. Confirm with the user before executing, especially for bulk deletions.

#### Parameters

| Parameter | Type   | Required | Example        | Description                                                                                                                           |
| --------- | ------ | :------: | -------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `task_id` | string |     ✅    | `"2995104339"` | The ID of the task to delete. Todoist supports both numeric IDs (e.g., '2995104339') and alphanumeric IDs (e.g., '6X4Vw2Hfmg73Q2XR'). |

***

### `Todoist Delete Task V1`

Integration name: **TODOIST\_DELETE\_TASK\_V1**

DEPRECATED: Use TODOIST\_DELETE\_TASK instead. Tool to delete a specific task from Todoist using API v1. Use when you need to permanently remove a task by its ID.

#### Parameters

| Parameter | Type   | Required | Example              | Description                                                                                                                           |
| --------- | ------ | :------: | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `task_id` | string |     ✅    | `"6fvWm74vJ773g5p4"` | The ID of the task to delete. Todoist supports both numeric IDs (e.g., '2995104339') and alphanumeric IDs (e.g., '6fvWm74vJ773g5p4'). |

***

### `Todoist Delete Upload`

Integration name: **TODOIST\_DELETE\_UPLOAD**

Tool to delete an uploaded file from Todoist. Use when you need to remove a file that was previously uploaded.

#### Parameters

| Parameter  | Type   | Required | Example                                                                                                                | Description                                                                                                                                        |
| ---------- | ------ | :------: | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `file_url` | string |     ✅    | `"https://files.todoist.com/9V9E9iujFUn9du8HeGyWcAJ8ONmifcH-vgjvWOmZlPnOoiMclHDwlLcovBVLBwuj/by/53792166/as/file.txt"` | The URL of the file to delete. This should be the full URL of the file as returned when it was uploaded (e.g., '<https://files.todoist.com/>...'). |

***

### `Todoist Export Template As File`

Integration name: **TODOIST\_EXPORT\_TEMPLATE\_AS\_FILE**

Tool to export a Todoist project as a CSV template file. Use when you need to download a project template as a file for backup or sharing.

#### Parameters

| Parameter            | Type    | Required | Example              | Description                                                                                                                                                    |
| -------------------- | ------- | :------: | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `project_id`         | string  |     ✅    | `"6fm7pCWp5Q3hhwHW"` | The ID of the project to export as a template CSV file (alphanumeric V2 format, not numeric V1 IDs). Use TODOIST\_GET\_ALL\_PROJECTS to get valid project IDs. |
| `use_relative_dates` | boolean |          | `true`               | Whether to use relative dates in the template (e.g., 'tomorrow' instead of specific dates). Defaults to true.                                                  |

***

### `Todoist Export Template As Url`

Integration name: **TODOIST\_EXPORT\_TEMPLATE\_AS\_URL**

Tool to export a Todoist project as a shareable template URL. Use when you need to share a project structure or create copies from a template.

#### Parameters

| Parameter            | Type    | Required | Example              | Description                                                                                                                                           |
| -------------------- | ------- | :------: | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `project_id`         | string  |     ✅    | `"6XvwwRvRfmCjM5PW"` | The ID of the project to export as a template (alphanumeric V2 format, not numeric V1 IDs). Use TODOIST\_GET\_ALL\_PROJECTS to get valid project IDs. |
| `use_relative_dates` | boolean |          | `true`               | Whether to use relative dates in the template (e.g., 'tomorrow' instead of specific dates). Defaults to true.                                         |

***

### `Todoist Filter Tasks`

Integration name: **TODOIST\_FILTER\_TASKS**

Tool to get all tasks matching the filter. Use when you need to retrieve tasks based on specific filter criteria. This is a paginated endpoint using cursor-based pagination.

#### Parameters

| Parameter | Type    | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| --------- | ------- | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `lang`    | string  |          | `"en"`  | IETF language tag defining what language filter is written in, if differs from default English.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `limit`   | integer |          | `50`    | The number of objects to return in a page (1-200). Default is 50.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `query`   | string  |     ✅    | `"all"` | Filter tasks using Todoist filter syntax. Terms must be valid keywords or reference existing entities in the user's account. Comma operator (,) is NOT supported. **CRITICAL: Multiple filter conditions MUST be joined with explicit logical operators (&, \|, !). Space-separated filters are INVALID and will fail.** Supported filters: predefined keywords ('today', 'overdue', 'no due date', 'all', etc.), priority ('p1'-'p4'), projects ('#Name'), labels ('@Name'), relative dates ('7 days', '-7 days'), date filters ('due before: YYYY-MM-DD', 'due after: YYYY-MM-DD'), created/deadline ('created after: -14 days'), search ('search: keyword'). Operators: '&' (AND), '\|' (OR), '!' (NOT). |
| `cursor`  | string  |          | —       | Cursor for pagination. Provide the next\_cursor value from previous response to get next page.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

***

### `Todoist Get All Comments`

Integration name: **TODOIST\_GET\_ALL\_COMMENTS**

This tool retrieves all comments associated with a specific task or project in Todoist. You must provide exactly one of task\_id or project\_id (they are mutually exclusive - do not provide both). Returns a JSON array of comment objects with details such as id, posted\_at, content, and attachment information.

#### Parameters

| Parameter    | Type   | Required | Example | Description                                                                                                          |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------- |
| `task_id`    | string |          | —       | The ID of the task for which to retrieve comments. Mutually exclusive with project\_id - provide only one, not both. |
| `project_id` | string |          | —       | The ID of the project for which to retrieve comments. Mutually exclusive with task\_id - provide only one, not both. |

***

### `Todoist Get All Projects`

Integration name: **TODOIST\_GET\_ALL\_PROJECTS**

Get all projects from a user's Todoist account. Retrieves all active (non-archived) projects; use TODOIST\_LIST\_ARCHIVED\_WORKSPACE\_PROJECTS for archived ones. Response returns the list in the projects field, with fields including project\_id, name, color, parent project, sharing status, and is\_inbox\_project flag. Always reference projects by project\_id — names are non-unique and may be localized. Detect the Inbox via is\_inbox\_project, not by name. Results are a point-in-time snapshot; re-call after structural changes before relying on cached project\_ids. In large accounts, paginate until no next-page token remains to avoid missing projects. Check existing projects before creating new ones to prevent duplicates.

#### Parameters

| Parameter | Type    | Required | Example | Description                                                                                               |
| --------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------- |
| `limit`   | integer |          | —       | The number of projects to return per page. Defaults to server default if not provided.                    |
| `cursor`  | string  |          | —       | Pagination cursor from a previous response. Use the next\_cursor value to fetch the next page of results. |

***

### `Todoist Get All Tasks`

Integration name: **TODOIST\_GET\_ALL\_TASKS**

Fetches all INCOMPLETE tasks from Todoist and returns their details. Supports cursor-based pagination. IMPORTANT LIMITATIONS: - This endpoint only returns active (incomplete) tasks - Cannot retrieve completed tasks - use a different endpoint for that - Filter queries using 'completed', '!completed', or 'completed after' will fail - Project/label references must use ACTUAL EXISTING names from the user's account - Arbitrary text in filters causes 400 errors - use 'search: keyword' for text search Common use cases: - Get all tasks: no filter - Get today's tasks: filter="today" - Get overdue tasks: filter="overdue" - Get tasks from specific project: filter="#ProjectName" (project must exist) - Get high priority tasks: filter="p1" - Search task content: filter="search: keyword" - Paginate results: use limit and cursor parameters

#### Parameters

| Parameter | Type    | Required | Example                                   | Description                                                                                    |
| --------- | ------- | :------: | ----------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `ids`     | array   |          | `["6Xvwww9XFpHQc2qW","6Xvwww8jQhrQjFPW"]` | List of task IDs to retrieve (alphanumeric string IDs).                                        |
| `lang`    | string  |          | `"en"`                                    | Language code for parsing date/times in queries.                                               |
| `limit`   | integer |          | `50`                                      | The number of tasks to return per page. Default is 50.                                         |
| `cursor`  | string  |          | —                                         | Cursor for pagination. Provide the next\_cursor value from previous response to get next page. |
| `filter`  | string  |          | \`"today                                  | overdue"\`                                                                                     |

***

### `Todoist Get Backups`

Integration name: **TODOIST\_GET\_BACKUPS**

Tool to list all available backup archives for the user. Returns archive metadata only — not live task or project data; do not use as a proxy for active data availability. May return an empty list if no backups exist or backups are not enabled. For completed task history, use /sync/v9/completed/get\_all instead.

#### Parameters

*No parameters required.*

***

### `Todoist Get Comment V1`

Integration name: **TODOIST\_GET\_COMMENT\_V1**

Tool to retrieve a single comment by ID using the v1 API. Use when you need to fetch details of a specific comment.

#### Parameters

| Parameter    | Type   | Required | Example              | Description                           |
| ------------ | ------ | :------: | -------------------- | ------------------------------------- |
| `comment_id` | string |     ✅    | `"6fvWmCVJ3pXGJVRW"` | String ID of the comment to retrieve. |

***

### `Todoist Get Completed Tasks By Completion Date`

Integration name: **TODOIST\_GET\_COMPLETED\_TASKS\_BY\_COMPLETION\_DATE**

Tool to retrieve completed tasks within a specified completion date window. Use when you need to fetch historical completed tasks for reporting, audits, or weekly summaries. The API restricts the completion-date range to approximately 3 months between since and until parameters.

#### Parameters

| Parameter      | Type    | Required | Example                  | Description                                                                                                                                                                           |
| -------------- | ------- | :------: | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`        | integer |          | `50`                     | Maximum number of tasks to return per page. Optional parameter. API default is 50.                                                                                                    |
| `since`        | string  |     ✅    | `"2024-01-01T00:00:00Z"` | Start date for filtering completed tasks in RFC3339 format (e.g., '2024-01-01T00:00:00Z'). Must be before 'until'. Maximum range between 'since' and 'until' is 3 months (\~92 days). |
| `until`        | string  |     ✅    | `"2024-01-31T23:59:59Z"` | End date for filtering completed tasks in RFC3339 format (e.g., '2024-01-31T23:59:59Z'). Must be after 'since'. Maximum range between 'since' and 'until' is 3 months (\~92 days).    |
| `cursor`       | string  |          | `"eyJwYWdlIjogMn0"`      | Pagination cursor from previous response to fetch next page of results. Optional parameter.                                                                                           |
| `parent_id`    | string  |          | `"6fr9mHQJG3HV7gC4"`     | Parent task ID in v2 alphanumeric format (e.g., '6fr9mHQJG3HV7gC4') to filter completed subtasks. Use IDs from TODOIST\_GET\_ALL\_TASKS. Numeric v1 IDs are deprecated.               |
| `project_id`   | string  |          | `"6fm7pCWp5Q3hhwHW"`     | Project ID in v2 alphanumeric format (e.g., '6fm7pCWp5Q3hhwHW'). Use IDs from TODOIST\_GET\_ALL\_PROJECTS. Numeric v1 IDs are deprecated.                                             |
| `section_id`   | string  |          | `"6fm7pCWp5Q3hhwHW"`     | Section ID in v2 alphanumeric format (e.g., '6fm7pCWp5Q3hhwHW'). Use IDs from TODOIST\_GET\_ALL\_SECTIONS. Numeric v1 IDs are deprecated.                                             |
| `filter_lang`  | string  |          | `"en"`                   | Language code for parsing filter\_query. Optional parameter.                                                                                                                          |
| `filter_query` | string  |          | `"p1"`                   | Filter query string using Todoist's filter syntax to further refine results. Optional parameter.                                                                                      |
| `workspace_id` | string  |          | `"6XvwwRvRfmCjM5PW"`     | Workspace ID in v2 alphanumeric format (e.g., '6XvwwRvRfmCjM5PW'). Use IDs from TODOIST\_GET\_ALL\_PROJECTS or similar actions. Numeric v1 IDs are deprecated.                        |

***

### `Todoist Get Id Mappings`

Integration name: **TODOIST\_GET\_ID\_MAPPINGS**

Tool to translate IDs between Todoist API v1 and v2. Use when you need to convert IDs between API versions for sections, tasks, comments, reminders, location\_reminders, or projects.

#### Parameters

| Parameter  | Type   | Required | Example                               | Description                                                                                                                                                                                 |
| ---------- | ------ | :------: | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `obj_ids`  | string |     ✅    | `"6fmCXMqW3X96q47W,6fp4f67Gvc2qvjW4"` | A comma-separated list of IDs to translate. When V1 IDs are provided, the function returns corresponding V2 IDs if they exist, and vice versa. Example: '6fmCXMqW3X96q47W,6fp4f67Gvc2qvjW4' |
| `obj_name` | string |     ✅    | `"sections"`                          | The type of object to map. Must be one of: sections, tasks, comments, reminders, location\_reminders, projects. IDs are not unique across object types.                                     |

***

### `Todoist Get Personal Label`

Integration name: **TODOIST\_GET\_PERSONAL\_LABEL**

Tool to retrieve a personal label by its ID. Use when you need to fetch details about a specific personal label.

#### Parameters

| Parameter  | Type   | Required | Example        | Description                               |
| ---------- | ------ | :------: | -------------- | ----------------------------------------- |
| `label_id` | string |     ✅    | `"2182423613"` | The ID of the personal label to retrieve. |

***

### `Todoist Get Productivity Stats`

Integration name: **TODOIST\_GET\_PRODUCTIVITY\_STATS**

Tool to retrieve comprehensive productivity statistics for the authenticated user. Use when you need detailed completion data, karma scores, streaks, or goal tracking information for productivity reports and analysis.

#### Parameters

*No parameters required.*

***

### `Todoist Get Project`

Integration name: **TODOIST\_GET\_PROJECT**

Tool to retrieve a specific project by its ID using Todoist API v1. Use when you have a project ID and need its metadata before display or update. Verify project\_id matches the intended project before destructive operations — similar project names can cause mistakes; use TODOIST\_GET\_ALL\_PROJECTS to resolve ambiguous names to IDs first.

#### Parameters

| Parameter    | Type   | Required | Example        | Description                        |
| ------------ | ------ | :------: | -------------- | ---------------------------------- |
| `project_id` | string |     ✅    | `"2249962680"` | The ID of the project to retrieve. |

***

### `Todoist Get Project Full`

Integration name: **TODOIST\_GET\_PROJECT\_FULL**

Tool to retrieve full project data including all sections, tasks, and collaborators. Use when you need comprehensive project information beyond basic metadata.

#### Parameters

| Parameter    | Type   | Required | Example              | Description                                                       |
| ------------ | ------ | :------: | -------------------- | ----------------------------------------------------------------- |
| `project_id` | string |     ✅    | `"6XvwwRvRfmCjM5PW"` | The ID of the project to retrieve (v2 format string ID required). |

***

### `Todoist Get Project Permissions`

Integration name: **TODOIST\_GET\_PROJECT\_PERMISSIONS**

Tool to retrieve all available roles and their associated actions in Todoist projects. Use when you need to understand what permissions different roles have in projects.

#### Parameters

*No parameters required.*

***

### `Todoist Get Section V1`

Integration name: **TODOIST\_GET\_SECTION\_V1**

Tool to retrieve a specific section by its ID using Todoist v1 API. Use when you need section metadata from the v1 endpoint.

#### Parameters

| Parameter    | Type   | Required | Example              | Description                                   |
| ------------ | ------ | :------: | -------------------- | --------------------------------------------- |
| `public_key` | string |          | —                    | Optional public key parameter for the request |
| `section_id` | string |     ✅    | `"6fmCXMqW3X96q47W"` | String ID of the section                      |

***

### `Todoist Get Special Backups`

Integration name: **TODOIST\_GET\_SPECIAL\_BACKUPS**

Tool to list special backup archives for the authenticated user's projects. Returns an empty list if no backups exist — callers must not assume archives are present. Read-only: confirms archive visibility only, not live task or project data access.

#### Parameters

*No parameters required.*

***

### `Todoist Get Task`

Integration name: **TODOIST\_GET\_TASK**

DEPRECATED: Use TODOIST\_GET\_TASK2 instead. Tool to retrieve a specific task by its ID. Use when you need to fetch all details of an existing task before processing or display. Comments and attachments with additional context require separate API calls. Rate limit: \~50 req/min; honor Retry-After on HTTP 429.

#### Parameters

| Parameter | Type   | Required | Example        | Description                                                                                                                                                                                  |
| --------- | ------ | :------: | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `task_id` | string |     ✅    | `"2203306141"` | The ID of the task to retrieve. Source from a recent TODOIST\_GET\_ALL\_TASKS call to avoid stale IDs. Use this tool to confirm task identity before destructive operations (delete, close). |

***

### `Todoist Get Task2`

Integration name: **TODOIST\_GET\_TASK2**

Tool to retrieve a single active (non-completed) task by ID using API v1. Use when you need to fetch task details from the v1 endpoint.

#### Parameters

| Parameter    | Type   | Required | Example              | Description                                     |
| ------------ | ------ | :------: | -------------------- | ----------------------------------------------- |
| `task_id`    | string |     ✅    | `"6fmCXPVrjPvHggWW"` | String ID of the task to retrieve.              |
| `public_key` | string |          | —                    | Optional public key for accessing shared tasks. |

***

### `Todoist Get User`

Integration name: **TODOIST\_GET\_USER**

Tool to retrieve information about the currently authenticated user. Use when you need user details like email, name, preferences, karma, or subscription status.

#### Parameters

*No parameters required.*

***

### `Todoist Get Workspace Plan Details`

Integration name: **TODOIST\_GET\_WORKSPACE\_PLAN\_DETAILS**

Tool to retrieve details about a workspace's current plan and usage. Use when you need information about subscription status, member count, project limits, pricing, or trial status for a specific workspace.

#### Parameters

| Parameter      | Type    | Required | Example  | Description                                       |
| -------------- | ------- | :------: | -------- | ------------------------------------------------- |
| `workspace_id` | integer |     ✅    | `510610` | ID of the workspace to retrieve plan details for. |

***

### `Todoist Import Template Into Project By Id`

Integration name: **TODOIST\_IMPORT\_TEMPLATE\_INTO\_PROJECT\_BY\_ID**

Tool to import a template from Todoist's template gallery into an existing project. Use when you need to add structured tasks and sections from a pre-made template to an existing project.

#### Parameters

| Parameter     | Type   | Required | Example              | Description                                                                                                                                                                        |
| ------------- | ------ | :------: | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `locale`      | string |          | `"en"`               | Language locale for the template content. Defaults to 'en'.                                                                                                                        |
| `project_id`  | —      |     ✅    | `"6XvwwRvRfmCjM5PW"` | The ID of the existing project to import the template into (can be string or integer format). Use TODOIST\_GET\_ALL\_PROJECTS to get valid project IDs.                            |
| `template_id` | string |     ✅    | `"project-tracker"`  | The template identifier from Todoist's template gallery (e.g., 'project-tracker', 'gtd-weekly-review', 'meal-planning'). These IDs can be found by browsing todoist.com/templates. |

***

### `Todoist Import Template Into Project From File`

Integration name: **TODOIST\_IMPORT\_TEMPLATE\_INTO\_PROJECT\_FROM\_FILE**

Tool to import a CSV template into an existing Todoist project from a file. Use when you need to bulk-create tasks, sections, and notes from a template file.

#### Parameters

| Parameter    | Type   | Required | Example              | Description                                                                                                                                                                                           |
| ------------ | ------ | :------: | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `file`       | object |     ✅    | —                    | The template file to upload and import. TYPE values must be lowercase: 'task', 'section', or 'note'.                                                                                                  |
| `project_id` | —      |     ✅    | `"6fvWmP68Wchcr6RJ"` | The ID of the project to import the template into. Can be either an alphanumeric V2 format (e.g., '6fvWmP68Wchcr6RJ') or numeric V1 format. Use TODOIST\_GET\_ALL\_PROJECTS to get valid project IDs. |

***

### `Todoist Invite Project Collaborator`

Integration name: **TODOIST\_INVITE\_PROJECT\_COLLABORATOR**

Tool to invite a collaborator to a Todoist project by email. Use when the user asks to share, invite someone to, or add a collaborator to a project. For workspace or team projects, you can optionally specify a role. If the role is omitted, the workspace default role is used. For invite-only workspace projects, the caller may need admin or owner permissions; otherwise the API may return a forbidden error.

#### Parameters

| Parameter    | Type   | Required | Example                      | Description                                                                                                                                                                                                |
| ------------ | ------ | :------: | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `role`       | string |          | `"admin"`                    | Role to assign to the collaborator in workspace/team projects. Only used for workspace projects. If omitted, the workspace default role will be applied. For personal projects, this parameter is ignored. |
| `email`      | string |     ✅    | `"collaborator@example.com"` | Email address of the person to invite as a collaborator.                                                                                                                                                   |
| `project_id` | string |     ✅    | `"2203306141"`               | ID of the project to share. Use TODOIST\_GET\_ALL\_PROJECTS or TODOIST\_GET\_PROJECT to retrieve valid project IDs.                                                                                        |

***

### `Todoist List Activities`

Integration name: **TODOIST\_LIST\_ACTIVITIES**

Tool to get activity logs from Todoist. Returns a paginated list of activity events for the user. Events can be filtered by object type (project, item, note), event type, and other criteria. Uses cursor-based pagination for efficient navigation through results.

#### Parameters

| Parameter               | Type    | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ----------------------- | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`                 | integer |          | `50`    | Maximum number of activity logs to return per page.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `cursor`                | string  |          | —       | Pagination cursor for fetching the next page of results. Use the value returned in the next\_cursor field from a previous response.                                                                                                                                                                                                                                                                                                                                                                      |
| `date_to`               | string  |          | —       | Filter activities to only those that occurred before this date (exclusive upper bound). Must be in ISO 8601 format (e.g. '2026-02-01T00:00:00Z'). When specified, overrides the default pagination behavior and allows custom date ranges.                                                                                                                                                                                                                                                               |
| `date_from`             | string  |          | —       | Filter activities to only those that occurred on or after this date. Must be in ISO 8601 format (e.g. '2026-01-01T00:00:00Z'). When specified, overrides the default pagination behavior and allows custom date ranges.                                                                                                                                                                                                                                                                                  |
| `object_id`             | string  |          | —       | The ID of the specific object to get activities for. Must be used together with object\_type. For example, to get activities for a specific task, set object\_type=item and object\_id=\<task\_id>.                                                                                                                                                                                                                                                                                                      |
| `event_type`            | string  |          | —       | Filter by a simple event type (e.g., "added", "deleted", "completed"). Returns events of this type across ALL object types that support it. For more precise filtering by both object type and event type, use object\_event\_types instead.                                                                                                                                                                                                                                                             |
| `object_type`           | string  |          | —       | The type of object to filter activities by. Must be one of "project", "item" (task), or "note" (comment). When specified with object\_id, returns activities for that specific object.                                                                                                                                                                                                                                                                                                                   |
| `initiator_id`          | string  |          | —       | Filter activities to only those initiated by the specified user ID(s). Accepts either a single user ID or a list of user IDs. Useful for shared projects to see who made which changes.                                                                                                                                                                                                                                                                                                                  |
| `workspace_id`          | string  |          | —       | Filter activities to only those belonging to the specified workspace(s). Accepts either a single workspace ID or a list of workspace IDs.                                                                                                                                                                                                                                                                                                                                                                |
| `annotate_notes`        | boolean |          | —       | When true, includes additional information about comments in the extra\_data field, such as the content of the comment.                                                                                                                                                                                                                                                                                                                                                                                  |
| `parent_item_id`        | string  |          | —       | Filter activities to only those belonging to the specified task. Returns activities for the task itself and all its comments.                                                                                                                                                                                                                                                                                                                                                                            |
| `annotate_parents`      | boolean |          | —       | When true, includes additional information about parent objects in the extra\_data field, such as the name of the parent project or task.                                                                                                                                                                                                                                                                                                                                                                |
| `ensure_last_state`     | boolean |          | —       | Deprecated - This parameter has no implementation and will be removed in a future version.                                                                                                                                                                                                                                                                                                                                                                                                               |
| `initiator_id_null`     | string  |          | —       | Filter by whether the activity has an initiator. When true, returns only activities with no initiator (your own activities). When false, returns only activities initiated by collaborators.                                                                                                                                                                                                                                                                                                             |
| `parent_project_id`     | string  |          | —       | Filter activities to only those belonging to the specified project. Returns activities for the project itself and all its tasks and comments.                                                                                                                                                                                                                                                                                                                                                            |
| `object_event_types`    | string  |          | —       | Advanced filtering for specific object type and event type combinations. Format: \["object\_type:event\_type"]. Examples: \["item:deleted"] for deleted tasks, \["item:"] for all task events, \[":deleted"] for all delete events across all types, \["item:deleted", "note:added"] for multiple filters. Valid event types: "added", "deleted", "updated", "completed", "uncompleted", "archived", "unarchived", "shared", "left", "reordered", "moved". This is the recommended way to filter events. |
| `include_child_objects` | boolean |          | —       | When true and object\_id is specified, also include activities for all child objects. For example, when filtering by a project, also include activities for all its tasks and comments.                                                                                                                                                                                                                                                                                                                  |
| `include_parent_object` | boolean |          | —       | When true and object\_id is specified, also include activities for the parent object. For example, when filtering by a specific task, also include activities for its parent project.                                                                                                                                                                                                                                                                                                                    |

***

### `Todoist List All Invitations Workspaces`

Integration name: **TODOIST\_LIST\_ALL\_INVITATIONS\_WORKSPACES**

Tool to return a list containing details of all pending invitations to a workspace. Use when you need to view all pending workspace invitations. This list is not paginated, and all workspace members can access it.

#### Parameters

| Parameter      | Type    | Required | Example  | Description                                                              |
| -------------- | ------- | :------: | -------- | ------------------------------------------------------------------------ |
| `workspace_id` | integer |     ✅    | `510610` | ID of the workspace to list invitations for. This parameter is required. |

***

### `Todoist List Archived Projects`

Integration name: **TODOIST\_LIST\_ARCHIVED\_PROJECTS**

Tool to get all archived projects from Todoist. Use when you need to retrieve archived projects with pagination support.

#### Parameters

| Parameter | Type    | Required | Example             | Description                                                                                                 |
| --------- | ------- | :------: | ------------------- | ----------------------------------------------------------------------------------------------------------- |
| `limit`   | integer |          | `50`                | The number of projects to return in a single page. Defaults to 50 if not specified.                         |
| `cursor`  | string  |          | `"eyJwYWdlIjogMn0"` | Pagination cursor for fetching the next page of results. Use the 'next\_cursor' from the previous response. |

***

### `Todoist List Archived Sections`

Integration name: **TODOIST\_LIST\_ARCHIVED\_SECTIONS**

Tool to retrieve all archived sections for a specific project in Todoist. Use when you need to access sections that have been archived in a project.

#### Parameters

| Parameter    | Type   | Required | Example              | Description                                                                        |
| ------------ | ------ | :------: | -------------------- | ---------------------------------------------------------------------------------- |
| `project_id` | string |     ✅    | `"6XvwwRvRfmCjM5PW"` | The ID of the project to get archived sections from. This must be a v1 project ID. |

***

### `Todoist List Archived Workspace Projects`

Integration name: **TODOIST\_LIST\_ARCHIVED\_WORKSPACE\_PROJECTS**

Tool to list all archived projects in a workspace. Archived projects are excluded from TODOIST\_GET\_ALL\_PROJECTS; combine both tools when a complete project list is needed. Use when you need to retrieve archived workspace projects with optional filters or pagination.

#### Parameters

| Parameter     | Type    | Required | Example                     | Description                                                       |
| ------------- | ------- | :------: | --------------------------- | ----------------------------------------------------------------- |
| `limit`       | integer |          | `50`                        | Limit the number of returned projects.                            |
| `since`       | string  |          | `"2023-01-01T00:00:00Z"`    | Return archived projects updated after this datetime (ISO 8601).  |
| `until`       | string  |          | `"2023-02-01T00:00:00Z"`    | Return archived projects updated before this datetime (ISO 8601). |
| `offset`      | integer |          | `0`                         | Offset for pagination.                                            |
| `project_ids` | array   |          | `["123456789","987654321"]` | List of project IDs to filter the results.                        |

***

### `Todoist List Completed Tasks`

Integration name: **TODOIST\_LIST\_COMPLETED\_TASKS**

Tool to retrieve all completed tasks with optional project filtering. Use when you need to fetch completed tasks without date range restrictions. Note: This action uses an undocumented Todoist API endpoint (/api/v1/tasks/completed). The endpoint is not officially documented but is confirmed to work based on runtime testing. The response schemas are based on actual API responses.

#### Parameters

| Parameter    | Type    | Required | Example             | Description                                                                                 |
| ------------ | ------- | :------: | ------------------- | ------------------------------------------------------------------------------------------- |
| `limit`      | integer |          | `50`                | Maximum number of tasks to return per page. Optional parameter.                             |
| `cursor`     | string  |          | `"eyJwYWdlIjogMn0"` | Pagination cursor from previous response to fetch next page of results. Optional parameter. |
| `project_id` | string  |          | `"2203306141"`      | Filter completed tasks by project ID. Optional parameter.                                   |

***

### `Todoist List Completed Tasks By Due Date`

Integration name: **TODOIST\_LIST\_COMPLETED\_TASKS\_BY\_DUE\_DATE**

Tool to retrieve completed tasks within a specified due date range (up to 6 weeks). Use when you need to fetch completed tasks filtered by their original due dates rather than completion dates.

#### Parameters

| Parameter      | Type    | Required | Example             | Description                                                                                                                                                                                    |
| -------------- | ------- | :------: | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`        | integer |          | `50`                | Maximum number of tasks to return per page. Optional parameter. API default is 50.                                                                                                             |
| `since`        | string  |     ✅    | `"2026-01-01"`      | Start date for filtering completed tasks by due date in YYYY-MM-DD format. Must be before 'until'. Maximum range between 'since' and 'until' is 6 weeks (42 days).                             |
| `until`        | string  |     ✅    | `"2026-02-02"`      | End date for filtering completed tasks by due date in YYYY-MM-DD format. Must be after 'since'. Maximum range between 'since' and 'until' is 6 weeks (42 days).                                |
| `cursor`       | string  |          | `"eyJwYWdlIjogMn0"` | Pagination cursor from previous response to fetch next page of results. Optional parameter.                                                                                                    |
| `parent_id`    | string  |          | `"2995104589"`      | Filter tasks by parent task ID to get completed subtasks of a specific parent. Optional parameter.                                                                                             |
| `project_id`   | string  |          | `"2203306141"`      | Filter tasks by project ID to get completed tasks within a specific project. Optional parameter.                                                                                               |
| `section_id`   | string  |          | `"7025"`            | Filter tasks by section ID to get completed tasks within a specific section. Optional parameter.                                                                                               |
| `filter_lang`  | string  |          | `"en"`              | Language code for parsing filter\_query. Optional parameter.                                                                                                                                   |
| `filter_query` | string  |          | `"p1"`              | Filter query string using Todoist's filter syntax to further refine results. Supports many Todoist filters like priority (p1-p4), labels (@labelname), and search queries. Optional parameter. |
| `workspace_id` | string  |          | `"2671362"`         | Filter tasks by workspace ID to get all completed tasks from projects the user has joined in that workspace. Optional parameter.                                                               |

***

### `Todoist List Filters`

Integration name: **TODOIST\_LIST\_FILTERS**

Tool to list all filters for the authenticated user. Use when you need to retrieve the current set of custom filters.

#### Parameters

| Parameter    | Type   | Required | Example | Description                                         |
| ------------ | ------ | :------: | ------- | --------------------------------------------------- |
| `sync_token` | string |          | `"*"`   | Token for incremental sync. Use '\*' for full sync. |

***

### `Todoist List Joinable Workspaces`

Integration name: **TODOIST\_LIST\_JOINABLE\_WORKSPACES**

Tool to get workspaces the user can join. Use when you need to discover available workspaces that the authenticated user can join.

#### Parameters

*No parameters required.*

***

### `Todoist List Labels`

Integration name: **TODOIST\_LIST\_LABELS**

Tool to get all user labels with pagination support. Use when you need to retrieve labels from the user's Todoist account.

#### Parameters

| Parameter | Type    | Required | Example                                      | Description                                                                                                   |
| --------- | ------- | :------: | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `limit`   | integer |          | `50`                                         | The number of objects to return in a page. Default is 50.                                                     |
| `cursor`  | string  |          | `"eyJpZCI6ICI3MTg0MzI5OCIsICJvcmRlciI6IDB9"` | Cursor for pagination. Use the next\_cursor value from the previous response to get the next page of results. |

***

### `Todoist List Pending Workspace Invitations`

Integration name: **TODOIST\_LIST\_PENDING\_WORKSPACE\_INVITATIONS**

Tool to list pending invitation emails in a workspace. Use when you need to check which email invites are still pending acceptance in a workspace.

#### Parameters

| Parameter      | Type   | Required | Example        | Description                                          |
| -------------- | ------ | :------: | -------------- | ---------------------------------------------------- |
| `workspace_id` | string |     ✅    | `"1234567890"` | ID of the workspace to list pending invitations for. |

***

### `Todoist List Project Collaborators`

Integration name: **TODOIST\_LIST\_PROJECT\_COLLABORATORS**

Tool to get all collaborators for a given project with cursor-based pagination. Use when you need to retrieve the list of people who have access to a specific project.

#### Parameters

| Parameter    | Type    | Required | Example              | Description                                                                                                |
| ------------ | ------- | :------: | -------------------- | ---------------------------------------------------------------------------------------------------------- |
| `limit`      | integer |          | `50`                 | The number of objects to return in a page. Default is 50 if not specified.                                 |
| `cursor`     | string  |          | —                    | Pagination cursor to fetch the next page of results. Obtained from previous response's next\_cursor field. |
| `project_id` | string  |     ✅    | `"6fmhMmVMhQPChmQw"` | String ID of the project                                                                                   |
| `public_key` | string  |          | —                    | Public key for accessing public projects                                                                   |

***

### `Todoist List Sections`

Integration name: **TODOIST\_LIST\_SECTIONS**

Tool to get all active sections for the user, with optional filtering by project. Supports cursor-based pagination to handle large result sets.

#### Parameters

| Parameter    | Type    | Required | Example             | Description                                                                                                   |
| ------------ | ------- | :------: | ------------------- | ------------------------------------------------------------------------------------------------------------- |
| `limit`      | integer |          | `50`                | The number of objects to return in a page. Default is 50.                                                     |
| `cursor`     | string  |          | `"eyJwYWdlIjogMn0"` | Pagination cursor for fetching the next page of results. Use the next\_cursor value from a previous response. |
| `project_id` | string  |          | `"2203306141"`      | String ID of the project to get sections from. If omitted or null, get sections from all projects.            |

***

### `Todoist List Shared Labels`

Integration name: **TODOIST\_LIST\_SHARED\_LABELS**

Tool to retrieve shared label names from active tasks with pagination support. Use when you need to list labels across the workspace with optional filtering of personal labels.

#### Parameters

| Parameter       | Type    | Required | Example             | Description                                                                                  |
| --------------- | ------- | :------: | ------------------- | -------------------------------------------------------------------------------------------- |
| `limit`         | integer |          | `50`                | The number of label names to return in a single page. Defaults to 50 if not specified.       |
| `cursor`        | string  |          | `"eyJwYWdlIjogMn0"` | Pagination cursor from a previous response. Use to fetch the next page of results.           |
| `omit_personal` | boolean |          | `false`             | If true, excludes personal labels from the results and returns only shared workspace labels. |

***

### `Todoist List Workspace Active Projects`

Integration name: **TODOIST\_LIST\_WORKSPACE\_ACTIVE\_PROJECTS**

Tool to list all active workspace projects. Returns active projects that are visible to the user, including those not yet joined. For guest users, only joined workspace projects are returned.

#### Parameters

| Parameter      | Type    | Required | Example             | Description                                                                                                                                                                                                                                                                                                                                                |
| -------------- | ------- | :------: | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`        | integer |          | `50`                | Maximum number of projects to return per request. Defaults to 100 if not specified.                                                                                                                                                                                                                                                                        |
| `cursor`       | string  |          | `"eyJwYWdlIjogMn0"` | Pagination cursor for fetching the next page of results.                                                                                                                                                                                                                                                                                                   |
| `workspace_id` | —       |          | `1`                 | ID of the workspace to list active projects for. If omitted, the action auto-resolves to the user's workspace when they belong to exactly one. Users in multiple workspaces must pass an explicit workspace\_id; an error listing the candidates is returned otherwise. Workspaces are a Todoist Business/Teams feature; personal/free accounts have none. |

***

### `Todoist List Workspace Archived Projects`

Integration name: **TODOIST\_LIST\_WORKSPACE\_ARCHIVED\_PROJECTS**

Tool to get archived projects in a workspace. Use when you need to retrieve a list of archived projects for a specific workspace with optional pagination.

#### Parameters

| Parameter      | Type    | Required | Example    | Description                                                                                                                                                                                                                                                                                                                                                    |
| -------------- | ------- | :------: | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`        | integer |          | `50`       | Maximum number of projects to return per page. Defaults to 100 if not specified. Optional query parameter.                                                                                                                                                                                                                                                     |
| `cursor`       | string  |          | `"abc123"` | Cursor for pagination to fetch the next page of results. Optional query parameter.                                                                                                                                                                                                                                                                             |
| `workspace_id` | —       |          | `123`      | The workspace ID to retrieve archived projects from. If omitted, the action auto-resolves to the user's workspace when they belong to exactly one. Users in multiple workspaces must pass an explicit workspace\_id; an error listing the candidates is returned otherwise. Workspaces are a Todoist Business/Teams feature; personal/free accounts have none. |

***

### `Todoist List Workspace Invitations`

Integration name: **TODOIST\_LIST\_WORKSPACE\_INVITATIONS**

Tool to list user emails with pending invitations to a workspace. Use when you need to check which email invites are still pending. The list is not paginated and accessible by all workspace members.

#### Parameters

| Parameter      | Type    | Required | Example  | Description                                                                                      |
| -------------- | ------- | :------: | -------- | ------------------------------------------------------------------------------------------------ |
| `workspace_id` | integer |     ✅    | `510610` | ID of the workspace to list pending invitations for. All workspace members can access this list. |

***

### `Todoist List Workspace Users`

Integration name: **TODOIST\_LIST\_WORKSPACE\_USERS**

Tool to list users in workspace(s). Use when you need to retrieve workspace members. Returns users from a specific workspace if workspace\_id is provided, otherwise returns users from all workspaces the authenticated user is part of. Not accessible by guests.

#### Parameters

| Parameter      | Type    | Required | Example             | Description                                                                                                                  |
| -------------- | ------- | :------: | ------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `limit`        | integer |          | `100`               | Maximum number of workspace users to return per request. Default is 100.                                                     |
| `cursor`       | string  |          | `"eyJwYWdlIjogMn0"` | Pagination cursor for retrieving the next set of results. Use the next\_cursor value from a previous response.               |
| `workspace_id` | string  |          | `"1234567890"`      | ID of the workspace to list users for. If not provided, returns users from all workspaces the authenticated user is part of. |

***

### `Todoist Move Task`

Integration name: **TODOIST\_MOVE\_TASK**

Tool to move a task to another project, section, or parent task while preserving task identity and metadata. Use when you need to relocate a task without recreating it.

#### Parameters

| Parameter    | Type   | Required | Example        | Description                                                                                                                                   |
| ------------ | ------ | :------: | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `task_id`    | string |     ✅    | `"2995104339"` | The ID of the task to move.                                                                                                                   |
| `parent_id`  | string |          | `"2995104589"` | Parent task ID to move the task under (re-parent as subtask). Mutually exclusive with project\_id and section\_id - only one can be provided. |
| `project_id` | string |          | `"2203306141"` | Project ID to move the task to. Mutually exclusive with section\_id and parent\_id - only one can be provided.                                |
| `section_id` | string |          | `"7025"`       | Section ID to move the task to. Mutually exclusive with project\_id and parent\_id - only one can be provided.                                |

***

### `Todoist Move Task Rest Api`

Integration name: **TODOIST\_MOVE\_TASK\_REST\_API**

Tool to move a task to another project, section, or parent task using the REST API. Use when you need to relocate a task while preserving its identity and metadata.

#### Parameters

| Parameter    | Type   | Required | Example              | Description                                                                                                                                                                               |
| ------------ | ------ | :------: | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `task_id`    | string |     ✅    | `"6fvWmPvP2MrRRvXW"` | ID of the task to move. Must be in Todoist API v1 format (base32-encoded alphanumeric string).                                                                                            |
| `parent_id`  | string |          | `"6fxwPwFpH3JGQXcW"` | ID of the parent task to move the task under. Must be in Todoist API v1 format (base32-encoded alphanumeric string). At least one of project\_id, section\_id, or parent\_id is required. |
| `project_id` | string |          | `"6XvwwRvRfmCjM5PW"` | ID of the project to move the task to. Must be in Todoist API v1 format (base32-encoded alphanumeric string). At least one of project\_id, section\_id, or parent\_id is required.        |
| `section_id` | string |          | `"6fmCXMqW3X96q47W"` | ID of the section to move the task to. Must be in Todoist API v1 format (base32-encoded alphanumeric string). At least one of project\_id, section\_id, or parent\_id is required.        |

***

### `Todoist Quick Add Task`

Integration name: **TODOIST\_QUICK\_ADD\_TASK**

Tool to add tasks using natural language parsing similar to the official Todoist clients. Use when you want to create a task quickly with natural language that includes dates, projects, labels, priority, and other task attributes in a single text string.

#### Parameters

| Parameter       | Type    | Required | Example                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| --------------- | ------- | :------: | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `meta`          | boolean |          | —                                           | When enabled, returns additional metadata about the parsing. Defaults to False.                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `note`          | string  |          | `"Remember to bring the printed documents"` | Additional note or description for the task. This is separate from the task text.                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `text`          | string  |     ✅    | `"Buy milk tomorrow at 5pm"`                | Natural language task text that will be parsed. Can include: due date in free form text (e.g., 'tomorrow', 'next Monday at 3pm'), project name starting with '#' (e.g., '#ProjectName'), label starting with '@' (e.g., '@urgent'), assignee starting with '+' (e.g., '<+john@example.com>'), priority (e.g., 'p1', 'p2', 'p3', 'p4'), deadline between '{}' (e.g., '{in 3 days}'), or description starting from '//' until the end of the text (e.g., '// additional notes'). Example: 'Buy milk tomorrow at 5pm #Shopping @groceries p1' |
| `reminder`      | string  |          | `"in 30 minutes"`                           | Reminder date in free form text. Examples: 'in 30 minutes', 'tomorrow at 9am', '1 hour before'.                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `auto_reminder` | boolean |          | —                                           | When enabled, a default reminder will be added to the task if it has a due date with time set. Defaults to False.                                                                                                                                                                                                                                                                                                                                                                                                                          |

***

### `Todoist Remove Shared Label V1`

Integration name: **TODOIST\_REMOVE\_SHARED\_LABEL\_V1**

Tool to remove a shared label from all active tasks using API v1. Use when you need to remove a shared label created by a collaborator from your account.

#### Parameters

| Parameter | Type   | Required | Example  | Description                                                   |
| --------- | ------ | :------: | -------- | ------------------------------------------------------------- |
| `name`    | string |     ✅    | `"test"` | The name of the shared label to remove from all active tasks. |

***

### `Todoist Rename Shared Labels V1`

Integration name: **TODOIST\_RENAME\_SHARED\_LABELS\_V1**

Tool to rename a shared label across all active tasks using API v1. Use when you need to change the name of a shared label.

#### Parameters

| Parameter  | Type   | Required | Example          | Description                                     |
| ---------- | ------ | :------: | ---------------- | ----------------------------------------------- |
| `name`     | string |     ✅    | `"work"`         | The current name of the shared label to rename. |
| `new_name` | string |     ✅    | `"work-renamed"` | The new name for the shared label.              |

***

### `Todoist Reopen Task2`

Integration name: **TODOIST\_REOPEN\_TASK2**

Tool to reopen a completed task in Todoist using API v1. Use when you need to restore a previously completed task. Any ancestor tasks or sections will also be marked as uncomplete and restored from history.

#### Parameters

| Parameter | Type   | Required | Example              | Description                                                                                                                           |
| --------- | ------ | :------: | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `task_id` | string |     ✅    | `"6fmCXPVrjPvHggWW"` | The ID of the task to reopen. Todoist supports both numeric IDs (e.g., '2995104339') and alphanumeric IDs (e.g., '6fmCXPVrjPvHggWW'). |

***

### `Todoist Reorder Tasks`

Integration name: **TODOIST\_REORDER\_TASKS**

Reorder tasks deterministically by updating child\_order in bulk via the Sync API item\_reorder command. Use when you need to set specific ordering for tasks.

#### Parameters

| Parameter | Type  | Required | Example                                                                                                         | Description                                                                                                                 |
| --------- | ----- | :------: | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `items`   | array |     ✅    | `[{"id":"2995104339","child_order":0},{"id":"2995104340","child_order":1},{"id":"2995104341","child_order":2}]` | Array of task IDs with their new child\_order positions. Each task will be assigned the specified order among its siblings. |

***

### `Todoist Search Labels`

Integration name: **TODOIST\_SEARCH\_LABELS**

Tool to search user labels by name with case-insensitive matching. Use when you need to find specific labels by name pattern.

#### Parameters

| Parameter | Type    | Required | Example  | Description                                                                                                                                                                                     |
| --------- | ------- | :------: | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`   | integer |          | `50`     | The number of objects to return in a page. Defaults to 50 if not specified.                                                                                                                     |
| `query`   | string  |     ✅    | `"Work"` | Search query to match label names. Matching is case-insensitive. Queries are matched literally unless `*` (wildcard) is included. Use `\*` for literal asterisk and `\\` for literal backslash. |
| `cursor`  | string  |          | —        | Cursor for pagination. Use the next\_cursor value from a previous response to fetch the next page.                                                                                              |

***

### `Todoist Search Projects`

Integration name: **TODOIST\_SEARCH\_PROJECTS**

Search active user projects by name with support for wildcards and pagination. Use when you need to find projects matching a specific name pattern.

#### Parameters

| Parameter | Type    | Required | Example             | Description                                                                                                                                                                                                                                                                         |
| --------- | ------- | :------: | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`   | integer |          | `50`                | The number of projects to return per page. If not specified, defaults to 50. Maximum value may be limited by the API.                                                                                                                                                               |
| `query`   | string  |     ✅    | `"*"`               | Search query to match project names. Matching is case-insensitive. Queries are matched literally unless `*` (wildcard) is included. Use `\*` for literal asterisk and `\\` for literal backslash. Example: '*' matches all projects, 'Work*' matches projects starting with 'Work'. |
| `cursor`  | string  |          | `"eyJwYWdlIjogMn0"` | Pagination cursor for fetching the next page of results. Provide the 'next\_cursor' value from a previous response to get the next page. Leave empty for the first page.                                                                                                            |

***

### `Todoist Search Sections`

Integration name: **TODOIST\_SEARCH\_SECTIONS**

Tool to search active sections by name, optionally filtered by project. Use when you need to find sections matching a specific name pattern across all projects or within a specific project. Supports pagination for large result sets.

#### Parameters

| Parameter    | Type    | Required | Example        | Description                                                                                                                                                                                       |
| ------------ | ------- | :------: | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `limit`      | integer |          | `10`           | The number of objects to return in a page. Default is 50.                                                                                                                                         |
| `query`      | string  |     ✅    | `"Work"`       | Search query to match section names. Matching is case-insensitive. Queries are matched literally unless `*` (wildcard) is included. Use `\*` for literal asterisk and `\\` for literal backslash. |
| `cursor`     | string  |          | —              | Cursor for pagination. Use the next\_cursor value from a previous response to fetch the next page.                                                                                                |
| `project_id` | string  |          | `"2203306141"` | String ID of the project to search sections from. If omitted or null, search sections from all projects.                                                                                          |

***

### `Todoist Sync`

Integration name: **TODOIST\_SYNC**

Tool to sync data with Todoist server, supporting both read and write operations. This is the central endpoint used by Todoist apps for all data synchronization. Use this action to: - Read multiple resource types in a single request (projects, tasks, labels, etc.) - Perform batch write operations (create/update/delete up to 100 resources at once) - Implement efficient incremental sync using sync tokens - Execute complex multi-step operations in a single atomic request For read-only operations, pass sync\_token and resource\_types. For write operations, include commands array with the operations to execute. Commands support batching up to 100 operations per request.

#### Parameters

| Parameter        | Type   | Required | Example                                                                                                                                              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ---------------- | ------ | :------: | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `commands`       | array  |          | `[{"args":{"content":"Buy milk","project_id":"220474322"},"type":"item_add","uuid":"550e8400-e29b-41d4-a716-446655440000","temp_id":"temp_task_1"}]` | Array of write commands to execute. Supports batching up to 100 commands. Each command modifies resources (add/update/delete). Commands are executed sequentially. Use temp\_id in commands to reference newly created resources within the same batch. Common command types: item\_add, item\_update, item\_delete, item\_complete, item\_uncomplete, item\_move, project\_add, project\_update, project\_delete, section\_add, label\_add, filter\_add, reminder\_add. |
| `sync_token`     | string |     ✅    | `"*"`                                                                                                                                                | Synchronization token marking the point in time of the last sync. Use '\*' for full sync (retrieves all active data). For incremental sync, use the sync\_token returned from the previous sync response. This enables efficient delta updates.                                                                                                                                                                                                                          |
| `resource_types` | array  |          | `["all"]`                                                                                                                                            | Array of resource types to retrieve. Use \['all'] to fetch all resources. Specific types: 'projects', 'items', 'sections', 'labels', 'filters', 'reminders', 'notes', 'collaborators', 'user', 'live\_notifications', 'user\_settings', etc. Only returned resources will be included in the response.                                                                                                                                                                   |

***

### `Todoist Unarchive Project2`

Integration name: **TODOIST\_UNARCHIVE\_PROJECT2**

Tool to unarchive a previously archived Todoist project using API v1. Use when you need to reactivate an archived project, making it visible again for the initiating user (personal projects) or all workspace users (workspace projects).

#### Parameters

| Parameter    | Type   | Required | Example              | Description                                                            |
| ------------ | ------ | :------: | -------------------- | ---------------------------------------------------------------------- |
| `project_id` | string |     ✅    | `"6fq4qpj2W58qFfr9"` | The ID of the project to unarchive. Must be a valid project ID string. |

***

### `Todoist Update Comment2`

Integration name: **TODOIST\_UPDATE\_COMMENT2**

Tool to update a comment by ID and return its content via v1 API. Use when you need to modify an existing comment's text using the v1 API endpoint.

#### Parameters

| Parameter    | Type   | Required | Example                                  | Description                                                                      |
| ------------ | ------ | :------: | ---------------------------------------- | -------------------------------------------------------------------------------- |
| `content`    | string |     ✅    | `"Updated comment content via API test"` | New content for the comment. If null or an empty string, no update is performed. |
| `comment_id` | string |     ✅    | `"6fvWmCVJ3pXGJVRW"`                     | String ID of the comment to update.                                              |

***

### `Todoist Update Label V1 Second`

Integration name: **TODOIST\_UPDATE\_LABEL\_V1\_SECOND**

Tool to update an existing label using API v1. Use when you need to modify a label's name, color, order, or favorite status.

#### Parameters

| Parameter     | Type    | Required | Example                   | Description                                                                                                                                    |
| ------------- | ------- | :------: | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`        | string  |          | `"Updated Reading Label"` | Updated label name. Must be between 1 and 128 characters if provided. Passing null or omitting this field will leave it unchanged.             |
| `color`       | —       |          | `"blue"`                  | Label color. Can be a color name (e.g., 'blue', 'red') or a color code (integer). Passing null or omitting this field will leave it unchanged. |
| `order`       | integer |          | `1`                       | Position of the label in the label list. Used by clients to sort labels. Passing null or omitting this field will leave it unchanged.          |
| `label_id`    | string  |     ✅    | `"2179601773"`            | The ID of the label to update.                                                                                                                 |
| `is_favorite` | boolean |          | `true`                    | Whether the label is marked as a favorite. Passing null or omitting this field will leave it unchanged.                                        |

***

### `Todoist Update Notification Setting`

Integration name: **TODOIST\_UPDATE\_NOTIFICATION\_SETTING**

Tool to update notification settings for the current user. Use when you need to enable or disable notifications for specific event types and channels.

#### Parameters

| Parameter           | Type    | Required | Example              | Description                                                                                                              |
| ------------------- | ------- | :------: | -------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `token`             | string  |          | `"device_token_123"` | Optional token parameter for push notifications.                                                                         |
| `service`           | string  |     ✅    | `"email"`            | The communication channel for this notification. Must be either 'email' or 'push'.                                       |
| `dont_notify`       | boolean |     ✅    | `false`              | Whether to disable notifications for this type and service. Set to true to turn off notifications, false to enable them. |
| `notification_type` | string  |     ✅    | `"item_assigned"`    | The type of notification being configured. Must be one of the predefined notification types.                             |

***

### `Todoist Update Project`

Integration name: **TODOIST\_UPDATE\_PROJECT**

DEPRECATED: Use TODOIST\_TODOIST\_UPDATE\_PROJECT2 instead. Tool to update a project's properties including name, color, favorite status, and view style. Use when you need to modify project settings after reviewing its current configuration.

#### Parameters

| Parameter     | Type    | Required | Example         | Description                                                                                                                     |
| ------------- | ------- | :------: | --------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `name`        | string  |          | `"Q1 Planning"` | New name for the project. At least one of name, color, is\_favorite, or view\_style must be provided.                           |
| `color`       | string  |          | `"green"`       | Enum for project colors. Names are based on Todoist's standard palette.                                                         |
| `project_id`  | string  |     ✅    | `"2203306141"`  | The ID of the project to update.                                                                                                |
| `view_style`  | string  |          | `"list"`        | Enum for project view styles.                                                                                                   |
| `is_favorite` | boolean |          | `true`          | Whether the project should be marked as a favorite. At least one of name, color, is\_favorite, or view\_style must be provided. |

***

### `Todoist Update Project2`

Integration name: **TODOIST\_UPDATE\_PROJECT2**

Tool to update a project's properties using Todoist API v1. Use when you need to modify project settings like name, description, favorite status, color, or view style.

#### Parameters

| Parameter     | Type    | Required | Example                                                       | Description                                                                                                        |
| ------------- | ------- | :------: | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `name`        | string  |          | `"Updated Archive Test Project"`                              | Updated project name. Passing null or omitting this field will leave it unchanged.                                 |
| `color`       | —       |          | `"berry_red"`                                                 | Updated project color. Passing null or omitting this field will leave it unchanged.                                |
| `project_id`  | string  |     ✅    | `"6fq4qpj2W58qFfr9"`                                          | String ID of the project to update (v1 format).                                                                    |
| `view_style`  | string  |          | `"list"`                                                      | Updated project view style (e.g., 'list' or 'board'). Passing null or omitting this field will leave it unchanged. |
| `description` | string  |          | `"This project was successfully updated via API v1 endpoint"` | Updated project description. Passing null or omitting this field will leave it unchanged.                          |
| `is_favorite` | boolean |          | `true`                                                        | Whether the project is marked as a favorite. Passing null or omitting this field will leave it unchanged.          |

***

### `Todoist Update Section`

Integration name: **TODOIST\_UPDATE\_SECTION**

DEPRECATED: Use TODOIST\_TODOIST\_UPDATE\_SECTION2 instead. Tool to update a specific section's name. Use when you need to rename a section after confirming its ID.

#### Parameters

| Parameter    | Type   | Required | Example            | Description                                                                                              |
| ------------ | ------ | :------: | ------------------ | -------------------------------------------------------------------------------------------------------- |
| `name`       | string |          | `"Sprint Backlog"` | New name for the section. Omit or pass null to leave unchanged.                                          |
| `section_id` | string |     ✅    | `"7025"`           | The ID of the section to update. This should be a numeric string from the 'id' field of section objects. |

***

### `Todoist Update Section2`

Integration name: **TODOIST\_UPDATE\_SECTION2**

Tool to update an existing section by its ID using Todoist v1 API. Use when you need to rename a section.

#### Parameters

| Parameter    | Type   | Required | Example                    | Description                                                                        |
| ------------ | ------ | :------: | -------------------------- | ---------------------------------------------------------------------------------- |
| `name`       | string |          | `"Updated Section - Test"` | Updated section name. Passing null or omitting this field will leave it unchanged. |
| `section_id` | string |     ✅    | `"6fmCXMqW3X96q47W"`       | String ID of the section to update                                                 |

***

### `Todoist Update Task`

Integration name: **TODOIST\_UPDATE\_TASK**

Tool to update an existing task's properties. Cannot change a task's project; to move a task, use TODOIST\_CREATE\_TASK then TODOIST\_DELETE\_TASK. Use when you need to modify a task's details after confirming its ID and new values.

#### Parameters

| Parameter       | Type    | Required | Example                           | Description                                                                                                                                                                                                                                                                                                                                                                                                                       |
| --------------- | ------- | :------: | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `labels`        | array   |          | `["Food","Shopping"]`             | List of label names to assign to the task. Replaces the entire existing labels list — omit a label only if intentionally removing it. Labels must already exist in Todoist; non-existent names fail silently.                                                                                                                                                                                                                     |
| `content`       | string  |          | `"Buy groceries and snacks"`      | New content for the task.                                                                                                                                                                                                                                                                                                                                                                                                         |
| `task_id`       | string  |     ✅    | `"2995104339"`                    | The ID of the task to update.                                                                                                                                                                                                                                                                                                                                                                                                     |
| `due_date`      | string  |          | `"2023-12-31"`                    | Due date in YYYY-MM-DD format.                                                                                                                                                                                                                                                                                                                                                                                                    |
| `due_lang`      | string  |          | `"en"`                            | Language code for parsing `due_string`, e.g., 'en'.                                                                                                                                                                                                                                                                                                                                                                               |
| `duration`      | integer |          | `15`                              | Positive integer for task duration amount (how long the task takes). Must be used together with duration\_unit. This is separate from due date - use due\_string/due\_date/due\_datetime for when the task is due.                                                                                                                                                                                                                |
| `priority`      | integer |          | `1`                               | Task priority from 1 (normal) to 4 (urgent).                                                                                                                                                                                                                                                                                                                                                                                      |
| `due_string`    | string  |          | `"tomorrow at 17:00"`             | Human-readable due date string for natural language date parsing. Examples: 'tomorrow', 'next Monday', 'Jan 15 at 3pm', 'in 2 days'. Duration syntax like 'for X minutes' is automatically extracted and converted to the duration/duration\_unit fields. Provide exactly one of due\_string, due\_date, or due\_datetime per call — supplying multiple may cause silent failures. To clear an existing due date, pass 'no date'. |
| `assignee_id`   | string  |          | `"1234567"`                       | User ID to assign the task to.                                                                                                                                                                                                                                                                                                                                                                                                    |
| `description`   | string  |          | `"Include fruits and vegetables"` | New description for the task.                                                                                                                                                                                                                                                                                                                                                                                                     |
| `due_datetime`  | string  |          | `"2023-12-31T17:00:00Z"`          | Due date and time in RFC3339 format.                                                                                                                                                                                                                                                                                                                                                                                              |
| `deadline_date` | string  |          | `"2026-03-15"`                    | Deadline date in YYYY-MM-DD format (premium feature).                                                                                                                                                                                                                                                                                                                                                                             |
| `duration_unit` | string  |          | `"minute"`                        | Units for task duration in Todoist.                                                                                                                                                                                                                                                                                                                                                                                               |

***

### `Todoist Update Workspace Logo`

Integration name: **TODOIST\_UPDATE\_WORKSPACE\_LOGO**

Tool to upload an image as the workspace logo or delete the existing logo. Use when you need to set or remove a workspace's branding image.

#### Parameters

| Parameter      | Type    | Required | Example  | Description                                                                                                               |
| -------------- | ------- | :------: | -------- | ------------------------------------------------------------------------------------------------------------------------- |
| `file`         | object  |          | —        | Image file to upload as workspace logo. Required when delete is false or not provided. Supported formats: PNG, JPEG, JPG. |
| `delete`       | boolean |          | —        | If set to true, removes the workspace logo completely. When true, the file parameter is not required.                     |
| `workspace_id` | integer |     ✅    | `510610` | The ID of the workspace to update the logo for.                                                                           |

***

### `Todoist Upload File`

Integration name: **TODOIST\_UPLOAD\_FILE**

Tool to upload a file to Todoist. Use when you need to attach files to tasks or projects. The uploaded file can be later attached to comments or tasks using the returned file\_url.

#### Parameters

| Parameter    | Type   | Required | Example        | Description                                                                                                                        |
| ------------ | ------ | :------: | -------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `file`       | object |     ✅    | —              | File to upload to Todoist.                                                                                                         |
| `project_id` | string |          | `"2203306141"` | The ID of the project to associate the uploaded file with. If not provided, the file will be uploaded without project association. |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/todoist.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
