- Integrations
- /
- Todoist
- /
- Triggers
- /
- Task Updated
TriggerTodoistReal-timeUpdated May 2026
How do I trigger when a Todoist task changes?
Short answer: Drop the "Todoist → Task Updated" 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 Updated
When the matching event happens
task updatedtask modifiedon task updatedwhen task updatedwatch for task changeswhen a task is updated in todoisttask changed
What this trigger returns
for the curiousYou 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": "7891011123","due": {"date": "2026-04-28","string": "Apr 28","is_recurring": false},"url": "https://todoist.com/showTask?id=7891011123","labels": ["work","presentations"],"content": "Prepare presentation slides","priority": 4,"parent_id": null,"created_at": "2026-04-18T08:00:00.000000Z","creator_id": "123456","project_id": "2203456790","section_id": "7026","description": "Updated with new metrics from Q1 review","is_completed": false}
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.
| Field | Type | Example |
|---|---|---|
| id | string | "7891011123" |
| due | object | { … } |
| due.date | string | "2026-04-28" |
| due.string | string | "Apr 28" |
| due.is_recurring | boolean | false |
| url | string | "https://todoist.com/showTask?id=7891011123" |
| labels | array | ["work","presentations"] |
| content | string | "Prepare presentation slides" |
| priority | number | 4 |
| parent_id | null | null |
| created_at | string | "2026-04-18T08:00:00.000000Z" |
| creator_id | string | "123456" |
| project_id | string | "2203456790" |
| section_id | string | "7026" |
| description | string | "Updated with new metrics from Q1 review" |
| is_completed | boolean | false |
Pairs with
Drop these actions after Task Updated.
FAQ
Questions about Task Updated.
How does the Task Updated trigger work in Todoist?
Fires whenever any field on a Todoist task changes (content, due date, priority, labels, project, assignee). Combine with field filters to react only to the changes you care about.
Is the Task Updated trigger real-time?
Yes. Task Updated uses webhooks or push subscriptions, not polling. Your workflow fires within seconds of the event happening in Todoist.
What data does Task Updated 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 Updated 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 Updated?
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.
Trigger
Comment Added
Fires whenever a comment is added to a Todoist task. Use it to mirror discussion to Slack or push transcripts into your project log.
TriggerNew Project
Fires when a new project is created in Todoist. Useful for auto-creating matching folders or seeding default sections and templates.
TriggerTask Completed
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.
TriggerNew Task
Fires whenever a new task is created in Todoist. Use it to forward action items into another tracker or to remind an assignee.
Build a workflow on this trigger.
One trigger. 27+ downstream actions. Zero glue.