Todoist
Task manager for projects, tasks, labels, sections, due dates, comments, and productivity workflows.
Supports task planning across projects, labels, comments, filters, completed tasks, incomplete tasks, and project changes.
Use Todoist with Snow
Snow is a personal AI assistant that builds real apps for you, and they can put Todoist to work.
What Snow can do with Todoist
These are the Todoist operations Snow and the apps you build with it can run. Sign in to choose which ones Snow may run without asking.
Reads41
Look at your data without changing it.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- Get Full Project Data
Tool to retrieve full project data including all sections, tasks, and collaborators. Use when you need comprehensive project information beyond basic metadata.
- Get Personal Label
Tool to retrieve a personal label by its ID. Use when you need to fetch details about a specific personal label.
- 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.
Creates10
Add something new to your account.
- 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.
- 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.
- Create Comment (API 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.
- Create Label (API v1)
Tool to create a new personal label using API v1. Use when you need to add a new label to organize tasks.
- Create Project (API v1)
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.
- Create Section (API 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.
- 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.
- 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.
- 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.
- 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.
Updates16
Change something that is already there.
- Archive Project (API v1)
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.
- Close Task (API 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.
- 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.
- Reopen Task (API v1)
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.
- 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.
- Unarchive Project (API v1)
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).
- Update Project (API v1)
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.
- 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.
- 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.
- 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.
Deletes9
Remove something. This often cannot be undone.
- Delete Comment
Tool to delete a specific comment from Todoist by its ID. Use when you need to permanently remove a comment.
- 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.
- Delete Project (API v1)
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.
- Delete Section (v1)
Tool to delete a section and all tasks within it. Use when you need to permanently remove a section by its ID.
- 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.
- Delete Upload
Tool to delete an uploaded file from Todoist. Use when you need to remove a file that was previously uploaded.
- Remove Shared Label (API 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.
- 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.
- 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.
Triggers
These are the trigger events currently available for Todoist.
- New Task Created
Trigger when a new task is added to Todoist.
Related integrations
Ready to put Todoist to work?
Sign up free, build an app by chatting, and connect Todoist in minutes. No credit card required.