Todoist Automation via Rube MCP
Automate Todoist operations including task creation and management, project organization, section management, filtering, and bulk task workflows through Composio's Todoist toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Todoist connection via with toolkit
- Always call first to get current tool schemas
Setup
Get Rube MCP: Add
as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming responds
- Call with toolkit
- If connection is not ACTIVE, follow the returned auth link to complete Todoist OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Create and Manage Tasks
When to use: User wants to create, update, complete, reopen, or delete tasks
Tool sequence:
- - List projects to find the target project ID [Prerequisite]
- - List sections within a project for task placement [Optional]
- - Create a single task with content, due date, priority, labels [Required]
TODOIST_BULK_CREATE_TASKS
- Create multiple tasks in one request [Alternative]
- - Modify task properties (content, due date, priority, labels) [Optional]
- - Mark a task as completed [Optional]
- - Restore a previously completed task [Optional]
- - Permanently remove a task [Optional]
Key parameters for CREATE_TASK:
- : Task title (supports markdown and hyperlinks)
- : Additional notes (do NOT put due dates here)
- : Alphanumeric project ID; omit to add to Inbox
- : Alphanumeric section ID for placement within a project
- : Task ID for creating subtasks
- : 1 (normal) to 4 (urgent) -- note: Todoist UI shows p1=urgent, API p4=urgent
- : Natural language date like ,
- : Specific date format
- : Specific date+time in RFC3339
- : Array of label name strings
- + : Task duration (e.g., + )
Pitfalls:
- Only one field can be used at a time (except which can accompany any)
- Do NOT embed due dates in or -- use field
- Do NOT embed duration phrases like "for 30 minutes" in -- use +
- in API: 1=normal, 4=urgent (opposite of Todoist UI display where p1=urgent)
- Task IDs can be numeric or alphanumeric; use the format returned by the API
- marks complete; permanently removes -- they are different operations
2. Manage Projects
When to use: User wants to list, create, update, or inspect projects
Tool sequence:
- - List all projects with metadata [Required]
- - Get details for a specific project by ID [Optional]
- - Create a new project with name, color, view style [Optional]
- - Modify project properties [Optional]
Key parameters:
- : Project name (required for creation)
- : Todoist palette color (e.g., , , , )
- : or layout
- : Parent project ID for creating sub-projects
- / : Boolean to mark as favorite
- : Required for update and get operations
Pitfalls:
- Projects with similar names can lead to selecting the wrong project_id; always verify
- uses while uses -- different field names
- Use the project returned by API, not the , for downstream operations
- Alphanumeric/URL-style project IDs may cause HTTP 400 in some tools; use numeric ID if available
3. Manage Sections
When to use: User wants to organize tasks within projects using sections
Tool sequence:
- - Find the target project ID [Prerequisite]
- - List existing sections to avoid duplicates [Prerequisite]
- - Create a new section in a project [Required]
- - Rename an existing section [Optional]
- - Permanently remove a section [Optional]
Key parameters:
- : Required -- the project to create the section in
- : Section name (required for creation)
- : Integer position within the project (lower values appear first)
- : Required for update and delete operations
Pitfalls:
- requires and -- omitting project_id causes a 400 error
- HTTP 400 "project_id is invalid" can occur if alphanumeric ID is used; prefer numeric ID
- Deleting a section may move or regroup its tasks in non-obvious ways
- Response may include both and ; store and reuse the correct identifier consistently
- Always check existing sections first to avoid creating duplicates
4. Search and Filter Tasks
When to use: User wants to find tasks by criteria, view today's tasks, or get completed task history
Tool sequence:
- - Fetch incomplete tasks with optional filter query [Required]
- - Get full details of a specific task by ID [Optional]
TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE
- Retrieve completed tasks within a date range [Optional]
- - List user's custom saved filters [Optional]
Key parameters for GET_ALL_TASKS:
- : Todoist filter syntax string
- Keywords: , , , , ,
- Priority: (urgent), , , (normal)
- Projects: (must exist in account)
- Labels: (must exist in account)
- Date ranges: , , ,
- Search: for content text search
- Operators: (AND), (OR), (NOT)
- : List of specific task IDs to retrieve
Key parameters for GET_COMPLETED_TASKS_BY_COMPLETION_DATE:
- : Start date in RFC3339 format (e.g., )
- : End date in RFC3339 format
- , , : Optional filters
- : Pagination cursor from previous response
- : Max results per page (default 50)
Pitfalls:
- returns ONLY incomplete tasks; use
GET_COMPLETED_TASKS_BY_COMPLETION_DATE
for completed ones
- Filter terms must reference ACTUAL EXISTING entities; arbitrary text causes HTTP 400 errors
- Do NOT use , , or in GET_ALL_TASKS filter -- causes 400 error
GET_COMPLETED_TASKS_BY_COMPLETION_DATE
limits date range to approximately 3 months between and
- Search uses syntax within the filter, not a separate parameter
5. Bulk Task Creation
When to use: User wants to scaffold a project with multiple tasks at once
Tool sequence:
- - Find target project ID [Prerequisite]
- - Find section IDs for task placement [Optional]
TODOIST_BULK_CREATE_TASKS
- Create multiple tasks in a single request [Required]
Key parameters:
- : Array of task objects, each requiring at minimum
- Each task object supports: , , , , , , , (object with , , or ), ,
Pitfalls:
- Each task in the array must have at least the field
- The field in bulk create is an object with nested fields (, , , ) -- different structure from CREATE_TASK's flat fields
- All tasks can target different projects/sections within the same batch
Common Patterns
ID Resolution
Always resolve human-readable names to IDs before operations:
- Project name -> Project ID: , match by field
- Section name -> Section ID: with
- Task content -> Task ID: with or
Pagination
- : Returns all matching incomplete tasks (no pagination needed)
TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE
: Uses cursor-based pagination; follow from response until no more results
- and : Return all results (no pagination)
Due Date Handling
- Natural language: Use (e.g., , )
- Specific date: Use in format
- Specific datetime: Use in RFC3339 format ()
- Only use ONE due field at a time (except which can accompany any)
- Recurring tasks: Use natural language in (e.g., )
Known Pitfalls
ID Formats
- Task IDs can be numeric () or alphanumeric ()
- Project IDs similarly vary; prefer the format returned by the API
- Some tools accept only numeric IDs; if 400 error occurs, try fetching the numeric via GET_PROJECT
- Response objects may contain both and ; use for API operations
Priority Inversion
- API priority: 1 = normal, 4 = urgent
- Todoist UI display: p1 = urgent, p4 = normal
- This is inverted; always clarify with the user which convention they mean
Filter Syntax
- Filter terms must reference real entities in the user's account
- or will cause HTTP 400
- Use for text search, not bare keywords
- Combine with (AND), (OR), (NOT)
- filters do NOT work on GET_ALL_TASKS endpoint
Rate Limits
- Todoist API has rate limits; batch operations should use where possible
- Space out rapid sequential requests to avoid throttling
Quick Reference
| Task | Tool Slug | Key Params |
|---|
| List all projects | | (none) |
| Get project | | |
| Create project | | , , |
| Update project | | , , |
| List sections | | |
| Create section | | , , |
| Update section | | , |
| Delete section | | |
| Get all tasks | | , |
| Get task | | |
| Create task | | , , , |
| Bulk create tasks | TODOIST_BULK_CREATE_TASKS
| (array) |
| Update task | | , , |
| Complete task | | |
| Reopen task | | |
| Delete task | | |
| Completed tasks | TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE
| , |
| List filters | | |