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.
Tools (84)
Todoist Add Workspace
Todoist Add WorkspaceIntegration 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
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
Todoist Archive Project2Integration 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
project_id
string
✅
"6fm7p8pvJFrPR6rJ"
String ID of the project to archive.
Todoist Bulk Create Tasks
Todoist Bulk Create TasksIntegration 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
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
Todoist Close TaskIntegration 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
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
Todoist Close Task V1Integration 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
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
Todoist Create Comment V1Integration 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
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
Todoist Create LabelIntegration name: TODOIST_CREATE_LABEL
DEPRECATED: Use TODOIST_CREATE_LABEL_V1 instead. Creates a new label.
Parameters
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
Todoist Create Label V1Integration 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
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
Todoist Create ProjectIntegration 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
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
Todoist Create Project2Integration 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
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
Todoist Create SectionIntegration 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
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
Todoist Create Section V1Integration 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
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
Todoist Create TaskIntegration 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
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
Todoist Delete CommentIntegration 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
comment_id
string
✅
"6fvWm92qwCcwhq7W"
The ID of the comment to delete. Todoist supports alphanumeric comment IDs (e.g., '6fvWm92qwCcwhq7W').
Todoist Delete Label V1
Todoist Delete Label V1Integration 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
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
Todoist Delete Project2Integration 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
project_id
string
✅
"2203306141"
The ID of the project to delete. Can be numeric or alphanumeric format.
Todoist Delete Section2
Todoist Delete Section2Integration 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
section_id
string
✅
"6fvWm9G4XJvWRcfF"
ID of the section to delete. This will delete the section and all tasks within it.
Todoist Delete Task
Todoist Delete TaskIntegration 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
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
Todoist Delete Task V1Integration 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
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
Todoist Delete UploadIntegration 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
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
Todoist Export Template As FileIntegration 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
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
Todoist Export Template As UrlIntegration 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
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
Todoist Filter TasksIntegration 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
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
Todoist Get All CommentsIntegration 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
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
Todoist Get All ProjectsIntegration 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
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
Todoist Get All TasksIntegration 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
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
Todoist Get BackupsIntegration 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
Todoist Get Comment V1Integration 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
comment_id
string
✅
"6fvWmCVJ3pXGJVRW"
String ID of the comment to retrieve.
Todoist Get Completed Tasks By Completion Date
Todoist Get Completed Tasks By Completion DateIntegration 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
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
Todoist Get Id MappingsIntegration 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
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
Todoist Get Personal LabelIntegration 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
label_id
string
✅
"2182423613"
The ID of the personal label to retrieve.
Todoist Get Productivity Stats
Todoist Get Productivity StatsIntegration 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
Todoist Get ProjectIntegration 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
project_id
string
✅
"2249962680"
The ID of the project to retrieve.
Todoist Get Project Full
Todoist Get Project FullIntegration 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
project_id
string
✅
"6XvwwRvRfmCjM5PW"
The ID of the project to retrieve (v2 format string ID required).
Todoist Get Project Permissions
Todoist Get Project PermissionsIntegration 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
Todoist Get Section V1Integration 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
public_key
string
—
Optional public key parameter for the request
section_id
string
✅
"6fmCXMqW3X96q47W"
String ID of the section
Todoist Get Special Backups
Todoist Get Special BackupsIntegration 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
Todoist Get TaskIntegration 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
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
Todoist Get Task2Integration 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
task_id
string
✅
"6fmCXPVrjPvHggWW"
String ID of the task to retrieve.
public_key
string
—
Optional public key for accessing shared tasks.
Todoist Get User
Todoist Get UserIntegration 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
Todoist Get Workspace Plan DetailsIntegration 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
workspace_id
integer
✅
510610
ID of the workspace to retrieve plan details for.
Todoist Import Template Into Project By Id
Todoist Import Template Into Project By IdIntegration 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
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
Todoist Import Template Into Project From FileIntegration 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
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
Todoist Invite Project CollaboratorIntegration 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
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
Todoist List ActivitiesIntegration 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
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
Todoist List All Invitations WorkspacesIntegration 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
workspace_id
integer
✅
510610
ID of the workspace to list invitations for. This parameter is required.
Todoist List Archived Projects
Todoist List Archived ProjectsIntegration 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
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
Todoist List Archived SectionsIntegration 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
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
Todoist List Archived Workspace ProjectsIntegration 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
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
Todoist List Completed TasksIntegration 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
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
Todoist List Completed Tasks By Due DateIntegration 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
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
Todoist List FiltersIntegration 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
sync_token
string
"*"
Token for incremental sync. Use '*' for full sync.
Todoist List Joinable Workspaces
Todoist List Joinable WorkspacesIntegration 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
Todoist List LabelsIntegration 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
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
Todoist List Pending Workspace InvitationsIntegration 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
workspace_id
string
✅
"1234567890"
ID of the workspace to list pending invitations for.
Todoist List Project Collaborators
Todoist List Project CollaboratorsIntegration 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
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
Todoist List SectionsIntegration 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
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
Todoist List Shared LabelsIntegration 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
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
Todoist List Workspace Active ProjectsIntegration 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
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
Todoist List Workspace Archived ProjectsIntegration 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
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
Todoist List Workspace InvitationsIntegration 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
workspace_id
integer
✅
510610
ID of the workspace to list pending invitations for. All workspace members can access this list.
Todoist List Workspace Users
Todoist List Workspace UsersIntegration 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
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
Todoist Move TaskIntegration 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
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
Todoist Move Task Rest ApiIntegration 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
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
Todoist Quick Add TaskIntegration 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
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
Todoist Remove Shared Label V1Integration 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
name
string
✅
"test"
The name of the shared label to remove from all active tasks.
Todoist Rename Shared Labels V1
Todoist Rename Shared Labels V1Integration 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
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
Todoist Reopen Task2Integration 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
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
Todoist Reorder TasksIntegration 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
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
Todoist Search LabelsIntegration 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
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
Todoist Search ProjectsIntegration 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
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
Todoist Search SectionsIntegration 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
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
Todoist SyncIntegration 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
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
Todoist Unarchive Project2Integration 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
project_id
string
✅
"6fq4qpj2W58qFfr9"
The ID of the project to unarchive. Must be a valid project ID string.
Todoist Update Comment2
Todoist Update Comment2Integration 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
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
Todoist Update Label V1 SecondIntegration 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
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
Todoist Update Notification SettingIntegration 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
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
Todoist Update ProjectIntegration 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
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
Todoist Update Project2Integration 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
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
Todoist Update SectionIntegration 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
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
Todoist Update Section2Integration 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
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
Todoist Update TaskIntegration 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
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
Todoist Update Workspace LogoIntegration 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
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
Todoist Upload FileIntegration 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
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.