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
RUBE_MANAGE_CONNECTIONS with toolkit todoist
- Always call
RUBE_SEARCH_TOOLS first to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp 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
RUBE_SEARCH_TOOLS responds
- Call
RUBE_MANAGE_CONNECTIONS with toolkit todoist
- 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:
TODOIST_GET_ALL_PROJECTS - List projects to find the target project ID [Prerequisite]
TODOIST_GET_ALL_SECTIONS - List sections within a project for task placement [Optional]
TODOIST_CREATE_TASK - Create a single task with content, due date, priority, labels [Required]
TODOIST_BULK_CREATE_TASKS - Create multiple tasks in one request [Alternative]
TODOIST_UPDATE_TASK - Modify task properties (content, due date, priority, labels) [Optional]
TODOIST_CLOSE_TASK - Mark a task as completed [Optional]
TODOIST_REOPEN_TASK - Restore a previously completed task [Optional]
TODOIST_DELETE_TASK - Permanently remove a task [Optional]
Key parameters for CREATE_TASK:
content: Task title (supports markdown and hyperlinks)
description: Additional notes (do NOT put due dates here)
project_id: Alphanumeric project ID; omit to add to Inbox
section_id: Alphanumeric section ID for placement within a project
parent_id: Task ID for creating subtasks
priority: 1 (normal) to 4 (urgent) -- note: Todoist UI shows p1=urgent, API p4=urgent
due_string: Natural language date like "tomorrow at 3pm", "every Friday at 9am"
due_date: Specific date YYYY-MM-DD format
due_datetime: Specific date+time in RFC3339 YYYY-MM-DDTHH:mm:ssZ
labels: Array of label name strings
duration + duration_unit: Task duration (e.g., 30 + "minute")
Pitfalls:
- Only one
due_* field can be used at a time (except due_lang which can accompany any)
- Do NOT embed due dates in
content or description -- use due_string field
- Do NOT embed duration phrases like "for 30 minutes" in
due_string -- use duration + duration_unit
priority 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
CLOSE_TASK marks complete; DELETE_TASK permanently removes -- they are different operations
2. Manage Projects
When to use: User wants to list, create, update, or inspect projects
Tool sequence:
TODOIST_GET_ALL_PROJECTS - List all projects with metadata [Required]
TODOIST_GET_PROJECT - Get details for a specific project by ID [Optional]
TODOIST_CREATE_PROJECT - Create a new project with name, color, view style [Optional]
TODOIST_UPDATE_PROJECT - Modify project properties [Optional]
Key parameters:
name: Project name (required for creation)
color: Todoist palette color (e.g., "blue", "red", "green", "charcoal")
view_style: "list" or "board" layout
parent_id: Parent project ID for creating sub-projects
is_favorite / favorite: Boolean to mark as favorite
project_id: Required for update and get operations
Pitfalls:
- Projects with similar names can lead to selecting the wrong project_id; always verify
CREATE_PROJECT uses favorite while UPDATE_PROJECT uses is_favorite -- different field names
- Use the project
id returned by API, not the v2_id, 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:
TODOIST_GET_ALL_PROJECTS - Find the target project ID [Prerequisite]
TODOIST_GET_ALL_SECTIONS - List existing sections to avoid duplicates [Prerequisite]
TODOIST_CREATE_SECTION - Create a new section in a project [Required]
TODOIST_UPDATE_SECTION - Rename an existing section [Optional]
TODOIST_DELETE_SECTION - Permanently remove a section [Optional]
Key parameters:
project_id: Required -- the project to create the section in
name: Section name (required for creation)
order: Integer position within the project (lower values appear first)
section_id: Required for update and delete operations
Pitfalls:
1---2name: todoist-automation3description: Automate Todoist task management, projects, sections, filtering, and bulk operations via Rube MCP (Composio). Always search tools first for current schemas.4---567# Todoist Automation via Rube MCP89Automate Todoist operations including task creation and management, project organization, section management, filtering, and bulk task workflows through Composio's Todoist toolkit.1011## Prerequisites1213- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)14- Active Todoist connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `todoist`15- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1617## Setup1819**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.2021221. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds232. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `todoist`243. If connection is not ACTIVE, follow the returned auth link to complete Todoist OAuth254. Confirm connection status shows ACTIVE before running any workflows2627## Core Workflows2829### 1. Create and Manage Tasks3031**When to use**: User wants to create, update, complete, reopen, or delete tasks3233**Tool sequence**:341. `TODOIST_GET_ALL_PROJECTS` - List projects to find the target project ID [Prerequisite]352. `TODOIST_GET_ALL_SECTIONS` - List sections within a project for task placement [Optional]363. `TODOIST_CREATE_TASK` - Create a single task with content, due date, priority, labels [Required]374. `TODOIST_BULK_CREATE_TASKS` - Create multiple tasks in one request [Alternative]385. `TODOIST_UPDATE_TASK` - Modify task properties (content, due date, priority, labels) [Optional]396. `TODOIST_CLOSE_TASK` - Mark a task as completed [Optional]407. `TODOIST_REOPEN_TASK` - Restore a previously completed task [Optional]418. `TODOIST_DELETE_TASK` - Permanently remove a task [Optional]4243**Key parameters for CREATE_TASK**:44- `content`: Task title (supports markdown and hyperlinks)45- `description`: Additional notes (do NOT put due dates here)46- `project_id`: Alphanumeric project ID; omit to add to Inbox47- `section_id`: Alphanumeric section ID for placement within a project48- `parent_id`: Task ID for creating subtasks49- `priority`: 1 (normal) to 4 (urgent) -- note: Todoist UI shows p1=urgent, API p4=urgent50- `due_string`: Natural language date like `"tomorrow at 3pm"`, `"every Friday at 9am"`51- `due_date`: Specific date `YYYY-MM-DD` format52- `due_datetime`: Specific date+time in RFC3339 `YYYY-MM-DDTHH:mm:ssZ`53- `labels`: Array of label name strings54- `duration` + `duration_unit`: Task duration (e.g., `30` + `"minute"`)5556**Pitfalls**:57- Only one `due_*` field can be used at a time (except `due_lang` which can accompany any)58- Do NOT embed due dates in `content` or `description` -- use `due_string` field59- Do NOT embed duration phrases like "for 30 minutes" in `due_string` -- use `duration` + `duration_unit`60- `priority` in API: 1=normal, 4=urgent (opposite of Todoist UI display where p1=urgent)61- Task IDs can be numeric or alphanumeric; use the format returned by the API62- `CLOSE_TASK` marks complete; `DELETE_TASK` permanently removes -- they are different operations6364### 2. Manage Projects6566**When to use**: User wants to list, create, update, or inspect projects6768**Tool sequence**:691. `TODOIST_GET_ALL_PROJECTS` - List all projects with metadata [Required]702. `TODOIST_GET_PROJECT` - Get details for a specific project by ID [Optional]713. `TODOIST_CREATE_PROJECT` - Create a new project with name, color, view style [Optional]724. `TODOIST_UPDATE_PROJECT` - Modify project properties [Optional]7374**Key parameters**:75- `name`: Project name (required for creation)76- `color`: Todoist palette color (e.g., `"blue"`, `"red"`, `"green"`, `"charcoal"`)77- `view_style`: `"list"` or `"board"` layout78- `parent_id`: Parent project ID for creating sub-projects79- `is_favorite` / `favorite`: Boolean to mark as favorite80- `project_id`: Required for update and get operations8182**Pitfalls**:83- Projects with similar names can lead to selecting the wrong project_id; always verify84- `CREATE_PROJECT` uses `favorite` while `UPDATE_PROJECT` uses `is_favorite` -- different field names85- Use the project `id` returned by API, not the `v2_id`, for downstream operations86- Alphanumeric/URL-style project IDs may cause HTTP 400 in some tools; use numeric ID if available8788### 3. Manage Sections8990**When to use**: User wants to organize tasks within projects using sections9192**Tool sequence**:931. `TODOIST_GET_ALL_PROJECTS` - Find the target project ID [Prerequisite]942. `TODOIST_GET_ALL_SECTIONS` - List existing sections to avoid duplicates [Prerequisite]953. `TODOIST_CREATE_SECTION` - Create a new section in a project [Required]964. `TODOIST_UPDATE_SECTION` - Rename an existing section [Optional]975. `TODOIST_DELETE_SECTION` - Permanently remove a section [Optional]9899**Key parameters**:100- `project_id`: Required -- the project to create the section in101- `name`: Section name (required for creation)102- `order`: Integer position within the project (lower values appear first)103- `section_id`: Required for update and delete operations104105**Pitfalls**:106- `CREATE_SECT