Your Todoist, in two nodes on one connected credential. The action runs 30 operations on tasks, projects, sections, labels and comments, and can also be an AI toolkit. The trigger fires a flow when a task is added, completed or changed, a comment is posted, a project or section changes, or a reminder goes off.
Setup
Connect Todoist under Settings → Credentials, or straight from the node: name the credential, sign in to Todoist and approve the HostWebhook app. It asks to read, add, change and delete your tasks and projects.
The credential remembers which Todoist account it belongs to. Reconnecting it to a different account is refused, because every trigger on it would start listening somewhere else.
Operations
Tasks
Value
In the dropdown
What it does
createTask
Create task
Adds a task to a project (or the Inbox), with its due date, priority and labels.
quickAddTask
Quick Add task
Creates a task from one line, the way Todoist's Quick Add reads it: date, #project, /section, @labels and p1–p4.
getTask
Get task
Reads one active task by its ID.
listTasks
List tasks
Active tasks, optionally only from one project, section or label.
filterTasks
Search tasks with a filter
Active tasks that match a Todoist filter, like “today | overdue” or “#Work & p1”.
updateTask
Update task
Changes a task. Only the fields you fill in change.
completeTask
Complete task
Marks a task as done. A recurring task moves to its next date instead.
reopenTask
Reopen task
Marks a completed task as not done.
moveTask
Move task
Moves a task to another project, section or under another task. Pick one of the three.
deleteTask
Delete task
Deletes a task and its sub-tasks for good. Todoist has no trash.
listCompletedTasks
List completed tasks
Tasks completed between two dates (a window of up to 3 months).
Projects
Value
In the dropdown
What it does
createProject
Create project
Creates a project, optionally inside another one.
getProject
Get project
Reads one project.
listProjects
List projects
All active projects of the account.
updateProject
Update project
Renames or changes a project. Only the fields you fill in change.
archiveProject
Archive project
Archives a project with its tasks. It can be unarchived.
unarchiveProject
Unarchive project
Brings back an archived project.
deleteProject
Delete project
Deletes a project with all its sections and tasks, for good.
Sections
Value
In the dropdown
What it does
createSection
Create section
Adds a section to a project.
listSections
List sections
The sections of a project, or of all projects.
updateSection
Update section
Renames a section.
deleteSection
Delete section
Deletes a section and all its tasks, for good.
Labels
Value
In the dropdown
What it does
createLabel
Create label
Creates a personal label.
listLabels
List labels
The personal labels of the account.
updateLabel
Update label
Renames or recolors a personal label. Tasks keep it under its new name.
deleteLabel
Delete label
Deletes a personal label and removes it from every task.
Comments
Value
In the dropdown
What it does
addComment
Add comment
Adds a comment to a task or to a project. Fill in one of the two.
listComments
List comments
The comments of a task or of a project. Fill in one of the two.
updateComment
Update comment
Replaces the text of a comment.
deleteComment
Delete comment
Deletes a comment for good.
Filling in the fields
Project, Section and the Label you edit or delete are picked from your account. To type an ID or a template ({{payload.projectId}}), use the picker's footer.
Changing the Project clears the Section: a section only exists in its own project.
Labels on a task are names. Pick them from your account or type them; a name that isn't one of your labels still goes on the task, but Todoist doesn't add it to your labels list.
Deadline, Duration and Reminder need Todoist Pro or Business. On the free plan Todoist refuses the deadline and ignores the duration without saying so.
Priority reads as in Todoist: P1 is urgent, P4 is normal.
Due takes plain words — tomorrow at 5pm, every Monday — or a date like 2026-10-20. In another language, set Language of the due date (es for mañana a las 5).
Quick Add task reads one line like Todoist does: Pay rent tomorrow #Home @bills p1.
Move task goes to one place only: a project, a section or a parent task. The node warns if more than one is filled in.
Lists come back as { tasks: [...], count, hasMore } (or projects, sections, labels, comments): 50 unless you set Max results, up to 200, and the next node runs once per item.
⚠Writes run for real, Run Test too. Todoist has no trash: a deleted task, project, section, label or comment is gone, and deleting a project or a section also deletes its tasks.
AI toolkit mode
Once the credential is picked, the node asks for a Mode. AI toolkit turns it into 30 tools that an AI Node — or an MCP client, through one of your MCP servers — calls by name: an assistant that reads today's tasks, adds the ones from an email and completes what's done.
Blocked tools. The five deletes start blocked. Unblock only what the agent really needs, under Block these tool calls.
Characters per call sent to the model. 20,000 by default, anything from 1,000 to 200,000.
What goes back to the model
The same response as the operation. Lists return 50 unless the model asks for more, up to 200.
Priorities are p1 (urgent) to p4, as in Todoist.
Project and section IDs come from the account: the model is told to look them up with list_todoist_projects and list_todoist_sections.
Items that don't fit the characters limit are left out whole, with a notes field saying how many.
Testing a tool
⚠Only a tool call picks the tool. In AI toolkit mode, only an AI Node, an MCP client or a voice agent chooses which tool the node runs. Run Test, a flow or a webhook run the operation saved on the node: an operation in their payload that names another tool is refused.
✦To try a tool, call it from an AI Node or from an MCP client. Its arguments look like this:
⚠A node in toolkit mode is not part of the pipeline. Events arriving through connections made before you switched are refused — the node only runs the tool it is asked for.
The trigger
Pick Todoist as the service on a Trigger node and a Todoist credential. Connecting the HostWebhook app already sends your account's events to HostWebhook, so activating changes nothing in Todoist and never expires.
What fires it
Event Trigger takes one or more; pick at least one.
Project is optional: only events from that project fire the trigger. Empty = every project.
Label, filter and reminder events don't belong to a project, so they always fire.
Tasks
event
When
Task added
item:added
A new task was created.
Task updated
item:updated
A task changed — its name, due date, priority, labels…
Task completed
item:completed
A task was marked as done.
Task reopened
item:uncompleted
A completed task was marked as not done.
Task deleted
item:deleted
A task was deleted.
Comments
event
When
Comment added
note:added
A comment was added to a task or a project.
Comment updated
note:updated
A comment was edited.
Comment deleted
note:deleted
A comment was deleted.
Projects
event
When
Project added
project:added
A new project was created.
Project updated
project:updated
A project changed — name, color, favorite…
Project archived
project:archived
A project was archived.
Project unarchived
project:unarchived
An archived project was brought back.
Project deleted
project:deleted
A project was deleted.
Sections
event
When
Section added
section:added
A new section was created in a project.
Section updated
section:updated
A section was renamed or moved.
Section archived
section:archived
A section was archived.
Section unarchived
section:unarchived
An archived section was brought back.
Section deleted
section:deleted
A section was deleted.
Labels
event
When
Label added
label:added
A new personal label was created.
Label updated
label:updated
A label was renamed or recolored.
Label deleted
label:deleted
A label was deleted.
Filters
event
When
Filter added
filter:added
A new filter was created.
Filter updated
filter:updated
A filter was changed.
Filter deleted
filter:deleted
A filter was deleted.
Reminders
event
When
Reminder fired
reminder:fired
A task reminder went off (Todoist plans with reminders).
What the trigger sends downstream
The item that changed is in object, with Todoist's field names. Task updated also brings the task as it was before, in previous.
ℹEach event runs once. Todoist resends what it couldn't deliver — up to 3 times, every 15 minutes —; HostWebhook recognises it and doesn't run the flow again. Events arrive signed with the app's secret, and HostWebhook checks the signature before anything runs.
Trying it out
The trigger's Test push shows what each event you picked will look like — examples with the exact shape this trigger dispatches, so you can write {{payload.object.content}} in the nodes below it from the start. To see a real one, add or complete a task in Todoist.
Gotchas
A recurring task doesn't close. Completing it moves it to its next date, and Task completed still fires.
Completed tasks aren't in “List tasks”. Use List completed tasks, with a window of up to 3 months.
Archived projects aren't in the pickers. To unarchive one, type its ID.
Reminders need Todoist Pro or Business. On the free plan, Reminder fired never arrives.
A 429 is retried once. Todoist limits how many requests an account makes per minute; a flow that adds many tasks at once can touch it.