The catalogue/Todoist

Todoist

app.todoist

Manage tasks, projects, labels, sections and comments in Todoist

API keyproductivityRead the source
Version2.0.0
Categoryproductivity
AuthAPI key
Tools23
Transportstdio
LicenceMIT
01

What it does

The app, in its own words.

Todoist task management — create, update, complete and delete tasks, organize projects, sections, labels and comments.

todoisttaskstodoproductivitygtd
02

Tools

23 tools the agent can call.

Every one is declared with typed parameters and returns structured results, so the host can render them instead of narrating them.

  • close-taskClose (complete) a Todoist task (POST /tasks/{taskId}/close). Returns { taskId, closed }. Params: taskId (required).
  • create-commentCreate a comment on a Todoist task or project (POST /comments). Returns the created comment. Params: content (required — comment text), taskId? (task ID to comment on), projectId? (project ID to comment on). At least one of taskId or projectId should be provided.
  • create-labelCreate a new Todoist label (POST /labels). Returns the created label. Params: name (required), color? (label color), isFavorite? (boolean).
  • create-projectCreate a new Todoist project (POST /projects). Returns the created project. Params: name (required), parentId? (parent project ID for sub-projects), color? (berry_red, red, orange, yellow, olive_green, lime_green, green, mint_green, teal, sky_blue, light_blue, blue, grape, violet, lavender, magenta, salmon, charcoal, grey, taupe), isFavorite? (boolean).
  • create-sectionCreate a new section in a Todoist project (POST /sections). Returns the created section. Params: name (required), projectId (required), order? (section order).
  • create-taskCreate a new Todoist task (POST /tasks). Returns the created task. Params: content (required — task title), description? (task description), projectId? (project ID), dueString? (natural language due date, e.g. 'tomorrow at 12:00', 'every monday'), dueDate? (YYYY-MM-DD), priority? (1=normal to 4=urgent), labels? (array of label names).
  • delete-labelDelete a Todoist label permanently (DELETE /labels/{labelId}). IRREVERSIBLE — the label is removed. Returns { labelId, deleted }. Params: labelId (required).
  • delete-projectDelete a Todoist project permanently (DELETE /projects/{projectId}). IRREVERSIBLE — the project and all its tasks are removed. Returns { projectId, deleted }. Params: projectId (required).
  • delete-sectionDelete a Todoist section permanently (DELETE /sections/{sectionId}). IRREVERSIBLE — the section and its tasks are removed. Returns { sectionId, deleted }. Params: sectionId (required).
  • delete-taskDelete a Todoist task permanently (DELETE /tasks/{taskId}). IRREVERSIBLE — the task is removed. Returns { taskId, deleted }. Params: taskId (required).
  • get-projectGet a single Todoist project by ID (GET /projects/{projectId}). Returns the project with id, name, color, parent_id, order, is_favorite, etc. Params: projectId (required).
  • get-sectionGet a single Todoist section by ID (GET /sections/{sectionId}). Returns the section with id, project_id, order, name. Params: sectionId (required).
  • get-taskGet a single Todoist task by ID (GET /tasks/{taskId}). Returns the task with id, content, description, project_id, due, priority, labels, etc. Params: taskId (required).
  • list-commentsList comments for a Todoist task or project (GET /comments). At least one of taskId or projectId must be provided. Returns an array of comments. Params: taskId? (task ID), projectId? (project ID).
  • list-labelsList all Todoist labels (GET /labels). Returns an array of labels with id, name, color, order, is_favorite.
  • list-projectsList all Todoist projects (GET /projects). Returns an array of projects with id, name, color, parent_id, order, is_favorite, etc.
  • list-sectionsList sections in a Todoist project (GET /sections). Returns an array of sections. Params: projectId? (project ID — returns all sections if not specified).
  • list-tasksList active Todoist tasks (GET /tasks). Optionally filter by project or filter expression. Returns an array of tasks. Params: projectId? (filter by project ID), filter? (filter expression, e.g. 'today', 'overdue', 'p1').
  • reopen-taskReopen a completed Todoist task (POST /tasks/{taskId}/reopen). Returns { taskId, reopened }. Params: taskId (required).
  • update-labelUpdate an existing Todoist label (POST /labels/{labelId}). Returns the updated label. Params: labelId (required), name? (new name), color? (new color), isFavorite? (boolean).
  • update-projectUpdate an existing Todoist project (POST /projects/{projectId}). Returns the updated project. Params: projectId (required), name? (new name), color? (new color), isFavorite? (boolean).
  • update-sectionUpdate a Todoist section name (POST /sections/{sectionId}). Returns the updated section. Params: sectionId (required), name (required — new name).
  • update-taskUpdate an existing Todoist task (POST /tasks/{taskId}). Returns the updated task. Params: taskId (required), content? (new title), description? (new description), dueString? (new due date in natural language), dueDate? (YYYY-MM-DD), priority? (1-4), labels? (array of label names).
03

Auth and permissions

What it asks for.

Declared in the manifest, in advance. The app cannot reach anything it did not ask for here.

User secrets

TODOIST_API_TOKEN

Reading further

The manifest and the source for Todoist live in the monorepo, alongside the other apps.

Read the sourceBack to the catalogue

Todoist · Agent Apps