Skip to content
TriggerTodoistReal-timeUpdated May 2026

How do I trigger when a Todoist task is checked off?

Short answer: Drop the "TodoistTask Completed" trigger on your workflow canvas, add filters if you want them, and publish. It fires within seconds of the event in Todoist, not on a polling schedule.

Anatomy

What this trigger looks like in a workflow.

Drop it on the canvas. Configure a couple of fields. Publish.

In the builder
Trigger
Task Completed
When the matching event happens
task completedtask doneon task completedwhen task completedwatch for completed taskwhen a task is completed in todoisttask finished
What this trigger returns
for the curious

You don’t need to read this. Tiny Command auto-maps every field into the visual picker so downstream nodes can pull values by clicking. We show it here for power users who want to know what’s on the wire.

{
"id": "7891011122",
"due": {
"date": "2026-04-22",
"string": "Apr 22",
"is_recurring": false
},
"url": "https://todoist.com/showTask?id=7891011122",
"labels": [
"billing"
],
"content": "Send invoice to client",
"priority": 2,
"parent_id": null,
"created_at": "2026-04-20T14:00:00.000000Z",
"creator_id": "123456",
"project_id": "2203456789",
"section_id": "7025",
"description": "Monthly retainer invoice for April",
"completed_at": "2026-04-23T11:30:00.000000Z",
"is_completed": true
}
Output shape

Fields available to downstream nodes.

Every field below can be referenced by name in any action or filter that comes after this trigger.

FieldTypeExample
idstring"7891011122"
dueobject{ … }
due.datestring"2026-04-22"
due.stringstring"Apr 22"
due.is_recurringbooleanfalse
urlstring"https://todoist.com/showTask?id=7891011122"
labelsarray["billing"]
contentstring"Send invoice to client"
prioritynumber2
parent_idnullnull
created_atstring"2026-04-20T14:00:00.000000Z"
creator_idstring"123456"
project_idstring"2203456789"
section_idstring"7025"
descriptionstring"Monthly retainer invoice for April"
completed_atstring"2026-04-23T11:30:00.000000Z"
is_completedbooleantrue
FAQ

Questions about Task Completed.

How does the Task Completed trigger work in Todoist?
Fires when a task is marked complete in Todoist. Common use: log productivity metrics, ping the requester, or move related items forward in a downstream system.
Is the Task Completed trigger real-time?
Yes. Task Completed uses webhooks or push subscriptions, not polling. Your workflow fires within seconds of the event happening in Todoist.
What data does Task Completed return?
The full event payload from Todoist. The output shape table on this page lists every field, its type, and an example value so you can map fields into downstream nodes.
Can I filter Task Completed so only some events start a workflow?
Yes. Add a Filter node right after the trigger and match on any field, whether that's subject, sender, status, or anything else in the payload. Workflows only continue when the filter passes.
Do I need Todoist admin permissions to use Task Completed?
For most Todoist accounts a standard user can authorize the trigger. Some Todoist plans require an admin to enable third-party webhooks. Check Todoist's docs if the trigger fails to register.
More triggers

Other Todoist triggers.

Build a workflow on this trigger.

One trigger. 27+ downstream actions. Zero glue.