productivity
TickTick CLI for AI Agents
Use the TickTick CLI from KosmoKrator to call TickTick tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.TickTick CLI Setup
TickTick is discoverable, but headless credential setup is not fully supported yet.
Headless setup is limited for this integration. It remains documented because stored credentials or future proxy-backed execution can still make the runtime useful.
# 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 ticktick --set access_token="$TICKTICK_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor ticktick --json
kosmokrator integrations:status --json Credentials
Authentication type: OAuth browser flow oauth2_authorization_code. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
access_token | TICKTICK_ACCESS_TOKEN | OAuth token oauth | yes | Access Token |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call ticktick.ticktick_list_projects '{}' --json kosmo integrations:ticktick ticktick_list_projects '{}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs ticktick --json
kosmo integrations:docs ticktick.ticktick_list_projects --json
kosmo integrations:schema ticktick.ticktick_list_projects --json
kosmo integrations:search "TickTick" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
ticktick.ticktick_list_projects
List all TickTick projects (task lists). Returns project names, IDs, and metadata. Use this first to discover available projects before working with tasks.
read - Parameters
- none
kosmo integrations:call ticktick.ticktick_list_projects '{}' --json kosmo integrations:ticktick ticktick_list_projects '{}' --json ticktick.ticktick_get_project
Get a TickTick project with all its tasks, sections, and columns. Use this to see everything in a project at once.
read - Parameters
- project_id
kosmo integrations:call ticktick.ticktick_get_project '{"project_id":"example_project_id"}' --json kosmo integrations:ticktick ticktick_get_project '{"project_id":"example_project_id"}' --json ticktick.ticktick_create_project
Create a new TickTick project (task list).
write - Parameters
- name, color, view_mode
kosmo integrations:call ticktick.ticktick_create_project '{"name":"example_name","color":"example_color","view_mode":"example_view_mode"}' --json kosmo integrations:ticktick ticktick_create_project '{"name":"example_name","color":"example_color","view_mode":"example_view_mode"}' --json ticktick.ticktick_delete_project
Delete a TickTick project and all its tasks. This action cannot be undone.
write - Parameters
- project_id
kosmo integrations:call ticktick.ticktick_delete_project '{"project_id":"example_project_id"}' --json kosmo integrations:ticktick ticktick_delete_project '{"project_id":"example_project_id"}' --json ticktick.ticktick_get_tasks
Get all tasks in a TickTick project. Returns task titles, IDs, priorities, due dates, and subtasks.
read - Parameters
- project_id
kosmo integrations:call ticktick.ticktick_get_tasks '{"project_id":"example_project_id"}' --json kosmo integrations:ticktick ticktick_get_tasks '{"project_id":"example_project_id"}' --json ticktick.ticktick_create_task
Create a new task in TickTick. If no project_id is given, the task goes to the Inbox. Supports subtasks via the items array.
write - Parameters
- title, project_id, content, start_date, due_date, priority, is_all_day, items
kosmo integrations:call ticktick.ticktick_create_task '{"title":"example_title","project_id":"example_project_id","content":"example_content","start_date":"example_start_date","due_date":"example_due_date","priority":1,"is_all_day":true,"items":"example_items"}' --json kosmo integrations:ticktick ticktick_create_task '{"title":"example_title","project_id":"example_project_id","content":"example_content","start_date":"example_start_date","due_date":"example_due_date","priority":1,"is_all_day":true,"items":"example_items"}' --json ticktick.ticktick_update_task
Update an existing TickTick task. Requires both the task ID and its project ID. Only provided fields will be changed.
write - Parameters
- task_id, project_id, title, content, start_date, due_date, priority
kosmo integrations:call ticktick.ticktick_update_task '{"task_id":"example_task_id","project_id":"example_project_id","title":"example_title","content":"example_content","start_date":"example_start_date","due_date":"example_due_date","priority":1}' --json kosmo integrations:ticktick ticktick_update_task '{"task_id":"example_task_id","project_id":"example_project_id","title":"example_title","content":"example_content","start_date":"example_start_date","due_date":"example_due_date","priority":1}' --json ticktick.ticktick_complete_task
Mark a TickTick task as complete.
write - Parameters
- project_id, task_id
kosmo integrations:call ticktick.ticktick_complete_task '{"project_id":"example_project_id","task_id":"example_task_id"}' --json kosmo integrations:ticktick ticktick_complete_task '{"project_id":"example_project_id","task_id":"example_task_id"}' --json ticktick.ticktick_delete_task
Delete a TickTick task. This action cannot be undone.
write - Parameters
- project_id, task_id
kosmo integrations:call ticktick.ticktick_delete_task '{"project_id":"example_project_id","task_id":"example_task_id"}' --json kosmo integrations:ticktick ticktick_delete_task '{"project_id":"example_project_id","task_id":"example_task_id"}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
ticktick.ticktick_list_projects 0 parameters
kosmo integrations:schema ticktick.ticktick_list_projects --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
ticktick.ticktick_get_project 1 parameters
kosmo integrations:schema ticktick.ticktick_get_project --json | Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | The project ID. Use ticktick_list_projects to find project IDs. |
ticktick.ticktick_create_project 3 parameters
kosmo integrations:schema ticktick.ticktick_create_project --json | Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | Name of the project. |
color | string | no | Color of the project (e.g., "#ff8c00"). |
view_mode | string | no | View mode: "list", "kanban", or "timeline". |
ticktick.ticktick_delete_project 1 parameters
kosmo integrations:schema ticktick.ticktick_delete_project --json | Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | The project ID to delete. Use ticktick_list_projects to find project IDs. |
ticktick.ticktick_get_tasks 1 parameters
kosmo integrations:schema ticktick.ticktick_get_tasks --json | Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | The project ID to get tasks from. Use ticktick_list_projects to find project IDs. |
ticktick.ticktick_create_task 8 parameters
kosmo integrations:schema ticktick.ticktick_create_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | Task title. |
project_id | string | no | Project ID to create the task in. Omit to add to Inbox. |
content | string | no | Task description/notes. |
start_date | string | no | Start date in ISO 8601 format (e.g., "2026-02-15T09:00:00+0000"). |
due_date | string | no | Due date in ISO 8601 format (e.g., "2026-02-15T17:00:00+0000"). |
priority | integer | no | Priority: 0 = none, 1 = low, 3 = medium, 5 = high. |
is_all_day | boolean | no | Whether this is an all-day task (true) or has specific times (false). |
items | string | no | JSON array of subtasks, e.g., [{"title": "Subtask 1", "status": 0}]. Status: 0 = unchecked, 2 = checked. |
ticktick.ticktick_update_task 7 parameters
kosmo integrations:schema ticktick.ticktick_update_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
task_id | string | yes | The task ID to update. |
project_id | string | yes | The project ID the task belongs to. |
title | string | no | New title for the task. |
content | string | no | New description/notes for the task. |
start_date | string | no | New start date in ISO 8601 format. |
due_date | string | no | New due date in ISO 8601 format. |
priority | integer | no | New priority: 0 = none, 1 = low, 3 = medium, 5 = high. |
ticktick.ticktick_complete_task 2 parameters
kosmo integrations:schema ticktick.ticktick_complete_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | The project ID the task belongs to. |
task_id | string | yes | The task ID to complete. |
ticktick.ticktick_delete_task 2 parameters
kosmo integrations:schema ticktick.ticktick_delete_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | The project ID the task belongs to. |
task_id | string | yes | The task ID to delete. |
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.