productivity
Todoist CLI for Headless Automation
Use the Todoist CLI for headless automation with headless JSON commands, schema discovery, credentials, and permission controls.
21 functions 9 read 12 write Bearer token auth
Todoist CLI for Headless Automation
Use KosmoKrator as a non-interactive integration runtime for local automations and wrappers.
Use headless automation when another tool needs a stable local command surface. The Todoist CLI uses the same integration registry as the TUI, Lua runtime, and MCP gateway, but returns predictable command output for automation.
Command Shape
# Todoist CLI for Headless Automation
kosmokrator integrations:configure todoist --set access_token="$TODOIST_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmo integrations:call todoist.todoist_close_task '{"id":"example_id"}' --json Discovery Before Execution
Agents and scripts can inspect Todoist docs and schemas before choosing a function.
kosmo integrations:docs todoist --json
kosmo integrations:docs todoist.todoist_close_task --json
kosmo integrations:schema todoist.todoist_close_task --json
kosmo integrations:search "Todoist" --json
kosmo integrations:list --json Useful Todoist CLI Functions
| Function | Type | Parameters | Description |
|---|---|---|---|
todoist.todoist_close_task | Write | id | Mark a task as completed (close it). The task will move to the completed view. |
todoist.todoist_create_comment | Write | task_id, project_id, content | Add a comment to a Todoist task or project. Provide either task_id or project_id along with the content. |
todoist.todoist_create_project | Write | name, parent_id, color, is_favorite, view_style | Create a new project in Todoist. Projects can be nested using parent_id. |
todoist.todoist_create_section | Write | name, project_id, order | Create a new section within a Todoist project to organize tasks into groups. |
todoist.todoist_create_task | Write | content, description, project_id, section_id, parent_id, order, priority, labels, due_string, due_date, due_lang, assignee_id | Create a new task in Todoist. |
todoist.todoist_delete_project | Write | id | Permanently delete a project and all its tasks from Todoist. This action cannot be undone. |
todoist.todoist_delete_section | Write | id | Permanently delete a section from Todoist. This action cannot be undone. |
todoist.todoist_delete_task | Write | id | Permanently delete a task from Todoist. This action cannot be undone. |
todoist.todoist_get_current_user | Read | none | Get the currently authenticated Todoist user. |
todoist.todoist_get_project | Read | id | Get detailed information about a Todoist project. |
todoist.todoist_get_section | Read | id | Retrieve a single Todoist section by its ID. |
todoist.todoist_get_task | Read | id | Get detailed information about a Todoist task. |
todoist.todoist_list_comments | Read | task_id, project_id | List comments for a Todoist task or project. Provide either task_id or project_id. |
todoist.todoist_list_labels | Read | none | List all personal labels in Todoist. |
todoist.todoist_list_projects | Read | ids | List all projects in Todoist. |
todoist.todoist_list_sections | Read | project_id | List all sections, optionally filtered by a specific project ID. |
todoist.todoist_list_tasks | Read | project_id, section_id, label, filter, lang, ids | List tasks in Todoist with optional filters. |
todoist.todoist_quick_add | Write | text, note, reminder, auto_reminder | Add a task using Todoist's natural language quick-add. Examples: "Buy milk tomorrow", "Meeting with team every Monday @Work p1". |
todoist.todoist_reopen_task | Write | id | Reopen a completed task, returning it to the active task list. |
todoist.todoist_update_project | Write | id, name, color, is_favorite, view_style | Update an existing project in Todoist. Only the fields provided will be changed. |
todoist.todoist_update_task | Write | id, content, description, labels, priority, due_date | Update an existing task in Todoist. Only the fields provided will be changed. |
Automation Notes
- Use
--jsonfor machine-readable output. - Keep credentials out of argv by using environment variables or stored KosmoKrator configuration.
- Configure read/write policy before unattended runs; use
--forceonly for trusted automation. - Use the MCP gateway instead when the agent needs dynamic tool discovery inside a conversation.