KosmoKrator

productivity

Todoist CLI for AI Agents

Use the Todoist CLI from KosmoKrator to call Todoist tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.

21 functions 9 read 12 write Bearer token auth

Todoist CLI Setup

Todoist can be configured headlessly with `kosmokrator integrations:configure todoist`.

# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash

# Configure and verify this integration.
kosmokrator integrations:configure todoist --set access_token="$TODOIST_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor todoist --json
kosmokrator integrations:status --json

Credentials

Authentication type: Bearer token bearer_token. Configure credentials once, then use the same stored profile from scripts, coding CLIs, Lua code mode, and the MCP gateway.

KeyEnv varTypeRequiredLabel
access_token TODOIST_ACCESS_TOKEN Secret secret yes API Token

Call Todoist Headlessly

Use the generic call form when another coding CLI or script needs a stable universal interface.

kosmo integrations:call todoist.todoist_close_task '{
  "id": "example_id"
}' --json

Use the provider shortcut form for shorter human-facing commands.

kosmo integrations:todoist todoist_close_task '{
  "id": "example_id"
}' --json

Agent Discovery Commands

These commands return structured output for coding agents that need to inspect capabilities 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

All CLI Functions

Every function below can be called headlessly. The generic form is stable across all integrations; the provider shortcut is shorter but specific to Todoist.

todoist.todoist_close_task

Write write

Mark a task as completed (close it). The task will move to the completed view.

Parameters
id

Generic CLI call

kosmo integrations:call todoist.todoist_close_task '{"id":"example_id"}' --json

Provider shortcut

kosmo integrations:todoist todoist_close_task '{"id":"example_id"}' --json

todoist.todoist_create_comment

Write write

Add a comment to a Todoist task or project. Provide either task_id or project_id along with the content.

Parameters
task_id, project_id, content

Generic CLI call

kosmo integrations:call todoist.todoist_create_comment '{"task_id":"example_task_id","project_id":"example_project_id","content":"example_content"}' --json

Provider shortcut

kosmo integrations:todoist todoist_create_comment '{"task_id":"example_task_id","project_id":"example_project_id","content":"example_content"}' --json

todoist.todoist_create_project

Write write

Create a new project in Todoist. Projects can be nested using parent_id.

Parameters
name, parent_id, color, is_favorite, view_style

Generic CLI call

kosmo integrations:call todoist.todoist_create_project '{"name":"example_name","parent_id":"example_parent_id","color":"example_color","is_favorite":true,"view_style":"example_view_style"}' --json

Provider shortcut

kosmo integrations:todoist todoist_create_project '{"name":"example_name","parent_id":"example_parent_id","color":"example_color","is_favorite":true,"view_style":"example_view_style"}' --json

todoist.todoist_create_section

Write write

Create a new section within a Todoist project to organize tasks into groups.

Parameters
name, project_id, order

Generic CLI call

kosmo integrations:call todoist.todoist_create_section '{"name":"example_name","project_id":"example_project_id","order":1}' --json

Provider shortcut

kosmo integrations:todoist todoist_create_section '{"name":"example_name","project_id":"example_project_id","order":1}' --json

todoist.todoist_create_task

Write write

Create a new task in Todoist.

Parameters
content, description, project_id, section_id, parent_id, order, priority, labels, due_string, due_date, due_lang, assignee_id

Generic CLI call

kosmo integrations:call todoist.todoist_create_task '{"content":"example_content","description":"example_description","project_id":"example_project_id","section_id":"example_section_id","parent_id":"example_parent_id","order":1,"priority":1,"labels":"example_labels"}' --json

Provider shortcut

kosmo integrations:todoist todoist_create_task '{"content":"example_content","description":"example_description","project_id":"example_project_id","section_id":"example_section_id","parent_id":"example_parent_id","order":1,"priority":1,"labels":"example_labels"}' --json

todoist.todoist_delete_project

Write write

Permanently delete a project and all its tasks from Todoist. This action cannot be undone.

Parameters
id

Generic CLI call

kosmo integrations:call todoist.todoist_delete_project '{"id":"example_id"}' --json

Provider shortcut

kosmo integrations:todoist todoist_delete_project '{"id":"example_id"}' --json

todoist.todoist_delete_section

Write write

Permanently delete a section from Todoist. This action cannot be undone.

Parameters
id

Generic CLI call

kosmo integrations:call todoist.todoist_delete_section '{"id":"example_id"}' --json

Provider shortcut

kosmo integrations:todoist todoist_delete_section '{"id":"example_id"}' --json

todoist.todoist_delete_task

Write write

Permanently delete a task from Todoist. This action cannot be undone.

Parameters
id

Generic CLI call

kosmo integrations:call todoist.todoist_delete_task '{"id":"example_id"}' --json

Provider shortcut

kosmo integrations:todoist todoist_delete_task '{"id":"example_id"}' --json

todoist.todoist_get_current_user

Read read

Get the currently authenticated Todoist user.

Parameters
none

Generic CLI call

kosmo integrations:call todoist.todoist_get_current_user '{}' --json

Provider shortcut

kosmo integrations:todoist todoist_get_current_user '{}' --json

todoist.todoist_get_project

Read read

Get detailed information about a Todoist project.

Parameters
id

Generic CLI call

kosmo integrations:call todoist.todoist_get_project '{"id":"example_id"}' --json

Provider shortcut

kosmo integrations:todoist todoist_get_project '{"id":"example_id"}' --json

todoist.todoist_get_section

Read read

Retrieve a single Todoist section by its ID.

Parameters
id

Generic CLI call

kosmo integrations:call todoist.todoist_get_section '{"id":"example_id"}' --json

Provider shortcut

kosmo integrations:todoist todoist_get_section '{"id":"example_id"}' --json

todoist.todoist_get_task

Read read

Get detailed information about a Todoist task.

Parameters
id

Generic CLI call

kosmo integrations:call todoist.todoist_get_task '{"id":"example_id"}' --json

Provider shortcut

kosmo integrations:todoist todoist_get_task '{"id":"example_id"}' --json

todoist.todoist_list_comments

Read read

List comments for a Todoist task or project. Provide either task_id or project_id.

Parameters
task_id, project_id

Generic CLI call

kosmo integrations:call todoist.todoist_list_comments '{"task_id":"example_task_id","project_id":"example_project_id"}' --json

Provider shortcut

kosmo integrations:todoist todoist_list_comments '{"task_id":"example_task_id","project_id":"example_project_id"}' --json

todoist.todoist_list_labels

Read read

List all personal labels in Todoist.

Parameters
none

Generic CLI call

kosmo integrations:call todoist.todoist_list_labels '{}' --json

Provider shortcut

kosmo integrations:todoist todoist_list_labels '{}' --json

todoist.todoist_list_projects

Read read

List all projects in Todoist.

Parameters
ids

Generic CLI call

kosmo integrations:call todoist.todoist_list_projects '{"ids":"example_ids"}' --json

Provider shortcut

kosmo integrations:todoist todoist_list_projects '{"ids":"example_ids"}' --json

todoist.todoist_list_sections

Read read

List all sections, optionally filtered by a specific project ID.

Parameters
project_id

Generic CLI call

kosmo integrations:call todoist.todoist_list_sections '{"project_id":"example_project_id"}' --json

Provider shortcut

kosmo integrations:todoist todoist_list_sections '{"project_id":"example_project_id"}' --json

todoist.todoist_list_tasks

Read read

List tasks in Todoist with optional filters.

Parameters
project_id, section_id, label, filter, lang, ids

Generic CLI call

kosmo integrations:call todoist.todoist_list_tasks '{"project_id":"example_project_id","section_id":"example_section_id","label":"example_label","filter":"example_filter","lang":"example_lang","ids":"example_ids"}' --json

Provider shortcut

kosmo integrations:todoist todoist_list_tasks '{"project_id":"example_project_id","section_id":"example_section_id","label":"example_label","filter":"example_filter","lang":"example_lang","ids":"example_ids"}' --json

todoist.todoist_quick_add

Write write

Add a task using Todoist's natural language quick-add. Examples: "Buy milk tomorrow", "Meeting with team every Monday @Work p1".

Parameters
text, note, reminder, auto_reminder

Generic CLI call

kosmo integrations:call todoist.todoist_quick_add '{"text":"example_text","note":"example_note","reminder":"example_reminder","auto_reminder":true}' --json

Provider shortcut

kosmo integrations:todoist todoist_quick_add '{"text":"example_text","note":"example_note","reminder":"example_reminder","auto_reminder":true}' --json

todoist.todoist_reopen_task

Write write

Reopen a completed task, returning it to the active task list.

Parameters
id

Generic CLI call

kosmo integrations:call todoist.todoist_reopen_task '{"id":"example_id"}' --json

Provider shortcut

kosmo integrations:todoist todoist_reopen_task '{"id":"example_id"}' --json

todoist.todoist_update_project

Write write

Update an existing project in Todoist. Only the fields provided will be changed.

Parameters
id, name, color, is_favorite, view_style

Generic CLI call

kosmo integrations:call todoist.todoist_update_project '{"id":"example_id","name":"example_name","color":"example_color","is_favorite":true,"view_style":"example_view_style"}' --json

Provider shortcut

kosmo integrations:todoist todoist_update_project '{"id":"example_id","name":"example_name","color":"example_color","is_favorite":true,"view_style":"example_view_style"}' --json

todoist.todoist_update_task

Write write

Update an existing task in Todoist. Only the fields provided will be changed.

Parameters
id, content, description, labels, priority, due_date

Generic CLI call

kosmo integrations:call todoist.todoist_update_task '{"id":"example_id","content":"example_content","description":"example_description","labels":"example_labels","priority":1,"due_date":"example_due_date"}' --json

Provider shortcut

kosmo integrations:todoist todoist_update_task '{"id":"example_id","content":"example_content","description":"example_description","labels":"example_labels","priority":1,"due_date":"example_due_date"}' --json

Function Schemas

Use these parameter tables when building CLI payloads without calling integrations:schema first.

todoist.todoist_close_task

Mark a task as completed (close it). The task will move to the completed view.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_close_task --json
ParameterTypeRequiredDescription
id string yes The unique ID of the task to close.

todoist.todoist_create_comment

Add a comment to a Todoist task or project. Provide either task_id or project_id along with the content.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_create_comment --json
ParameterTypeRequiredDescription
task_id string no ID of the task to comment on (use this or project_id).
project_id string no ID of the project to comment on (use this or task_id).
content string yes The comment text.

todoist.todoist_create_project

Create a new project in Todoist. Projects can be nested using parent_id.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_create_project --json
ParameterTypeRequiredDescription
name string yes Name of the project.
parent_id string no ID of the parent project for nesting.
color string no Color ID or name for the project.
is_favorite boolean no Whether to mark the project as favorite.
view_style string no View style: "list" or "board".

todoist.todoist_create_section

Create a new section within a Todoist project to organize tasks into groups.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_create_section --json
ParameterTypeRequiredDescription
name string yes Name of the section.
project_id string yes ID of the project to create the section in.
order integer no Position of the section within the project (1-based).

todoist.todoist_create_task

Create a new task in Todoist.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_create_task --json
ParameterTypeRequiredDescription
content string yes Text content of the task.
description string no Detailed description of the task (supports Markdown).
project_id string no Project ID to add the task to.
section_id string no Section ID to add the task to.
parent_id string no Parent task ID for creating a subtask.
order integer no Position among siblings or in the project.
priority integer no Priority level (1=normal, 2=medium, 3=high, 4=urgent).
labels array no Array of label names to assign.
due_string string no Human-readable due date (e.g. "every first Monday", "tomorrow").
due_date string no Due date in YYYY-MM-DD format.
due_lang string no Language for due_string parsing (e.g. "en").
assignee_id string no User ID to assign the task to.

todoist.todoist_delete_project

Permanently delete a project and all its tasks from Todoist. This action cannot be undone.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_delete_project --json
ParameterTypeRequiredDescription
id string yes The unique ID of the project to delete.

todoist.todoist_delete_section

Permanently delete a section from Todoist. This action cannot be undone.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_delete_section --json
ParameterTypeRequiredDescription
id string yes The unique ID of the section to delete.

todoist.todoist_delete_task

Permanently delete a task from Todoist. This action cannot be undone.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_delete_task --json
ParameterTypeRequiredDescription
id string yes The unique ID of the task to delete.

todoist.todoist_get_current_user

Get the currently authenticated Todoist user.

Operation
Read read
Schema command
kosmo integrations:schema todoist.todoist_get_current_user --json
ParameterTypeRequiredDescription
No parameters.

todoist.todoist_get_project

Get detailed information about a Todoist project.

Operation
Read read
Schema command
kosmo integrations:schema todoist.todoist_get_project --json
ParameterTypeRequiredDescription
id string yes The project ID.

todoist.todoist_get_section

Retrieve a single Todoist section by its ID.

Operation
Read read
Schema command
kosmo integrations:schema todoist.todoist_get_section --json
ParameterTypeRequiredDescription
id string yes The unique ID of the section to retrieve.

todoist.todoist_get_task

Get detailed information about a Todoist task.

Operation
Read read
Schema command
kosmo integrations:schema todoist.todoist_get_task --json
ParameterTypeRequiredDescription
id string yes The task ID.

todoist.todoist_list_comments

List comments for a Todoist task or project. Provide either task_id or project_id.

Operation
Read read
Schema command
kosmo integrations:schema todoist.todoist_list_comments --json
ParameterTypeRequiredDescription
task_id string no ID of the task to list comments for.
project_id string no ID of the project to list comments for.

todoist.todoist_list_labels

List all personal labels in Todoist.

Operation
Read read
Schema command
kosmo integrations:schema todoist.todoist_list_labels --json
ParameterTypeRequiredDescription
No parameters.

todoist.todoist_list_projects

List all projects in Todoist.

Operation
Read read
Schema command
kosmo integrations:schema todoist.todoist_list_projects --json
ParameterTypeRequiredDescription
ids array no Array of project IDs to fetch.

todoist.todoist_list_sections

List all sections, optionally filtered by a specific project ID.

Operation
Read read
Schema command
kosmo integrations:schema todoist.todoist_list_sections --json
ParameterTypeRequiredDescription
project_id string no Filter sections by project ID.

todoist.todoist_list_tasks

List tasks in Todoist with optional filters.

Operation
Read read
Schema command
kosmo integrations:schema todoist.todoist_list_tasks --json
ParameterTypeRequiredDescription
project_id string no Filter tasks by project ID.
section_id string no Filter tasks by section ID.
label string no Filter tasks by label name.
filter string no Todoist filter expression (e.g. "today", "p1 & @email").
lang string no Language for filter evaluation (e.g. "en").
ids array no Array of task IDs to fetch.

todoist.todoist_quick_add

Add a task using Todoist's natural language quick-add. Examples: "Buy milk tomorrow", "Meeting with team every Monday @Work p1".

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_quick_add --json
ParameterTypeRequiredDescription
text string yes Natural language task text (e.g., "Buy milk tomorrow @Groceries").
note string no Note to attach to the task.
reminder string no Reminder in natural language (e.g., "30 minutes before").
auto_reminder boolean no Whether to add an automatic reminder.

todoist.todoist_reopen_task

Reopen a completed task, returning it to the active task list.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_reopen_task --json
ParameterTypeRequiredDescription
id string yes The unique ID of the task to reopen.

todoist.todoist_update_project

Update an existing project in Todoist. Only the fields provided will be changed.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_update_project --json
ParameterTypeRequiredDescription
id string yes The unique ID of the project to update.
name string no New name for the project.
color string no New color ID or name.
is_favorite boolean no Whether the project is a favorite.
view_style string no View style: "list" or "board".

todoist.todoist_update_task

Update an existing task in Todoist. Only the fields provided will be changed.

Operation
Write write
Schema command
kosmo integrations:schema todoist.todoist_update_task --json
ParameterTypeRequiredDescription
id string yes The unique ID of the task to update.
content string no New task content/title.
description string no New task description.
labels array no List of label names to assign.
priority integer no Task priority: 1=normal, 2=medium, 3=high, 4=urgent.
due_date string no Due date in YYYY-MM-DD format.

Permissions

Headless calls still follow the integration read/write permission policy. Configure read/write defaults with integrations:configure. Add --force only for trusted automation that should bypass that policy.