Sync Notion to Todoist with n8n Webhooks + Redis Locks
Sync Notion to Todoist with n8n Webhooks + Redis Locks
Regular price
£74.99
Regular price
£74.99
Sale price
Unit price
/
per
⬇
Instant Digital Download
∞
Unlimited Downloads
★
Lifetime Access in Your Account
Couldn't load pickup availability
🔥
128+ Sold
Popular with n8n builders
⚡
23 people viewing
High interest right now
✅
9 added today
Fast-moving digital product
Sync Notion to Todoist with n8n Webhooks + Redis Locks
Regular price
£74.99
Regular price
£74.99
Sale price
Unit price
/
per
Sync Notion database changes to Todoist tasks—safely, automatically, and loop-proof
This n8n workflow listens for Notion page events and keeps your corresponding Todoist tasks in sync—creating, updating, moving, completing/reopening, or deleting tasks as needed. It also uses Redis locks to prevent sync loops when changes bounce back and forth between systems.
What this workflow does
- Receives webhook events from Notion via a POST request from a Notion automation when a database page is created, updated, or deleted.
- Prevents processing loops with Redis locks by checking for a short-lived lock on the Notion page ID before continuing.
- Fetches the full Notion page through the Notion API and maps key properties (such as title, section, priority, due/recurrence, and status) into a Todoist task payload.
- Handles deletions and obsolescence: if the page is deleted, in the trash, or moved to an “Obsolete” section, the workflow deletes the matching Todoist task (when a Todoist task ID exists on the Notion page).
- Creates tasks on new pages: when a page is newly created, it creates a Todoist task and writes the returned Todoist task ID back to the Notion page.
- Updates tasks on property changes: retrieves the existing Todoist task, computes differences, updates fields, moves the task to the correct Todoist section, and closes or reopens it based on the Notion status.
- Sets short-lived locks for the relevant Notion/Todoist identifiers and ends the run cleanly.
Use cases
- Maintain a single source of truth in Notion while executing tasks in Todoist.
- Automatically mark Todoist tasks complete/reopen when the Notion status changes.
- Move work through Todoist sections based on Notion database fields (e.g., priority or workflow stage).
- Remove outdated items by deleting corresponding Todoist tasks when Notion pages are trashed or moved to “Obsolete”.
Technical details
- Integrations: Notion API, Todoist API
- Webhook-driven: HTTP POST receiver for Notion database page events
- Redis support: Redis locks to prevent sync loops
- n8n nodes used: if, set, code, no op, redis, filter
-
Setup: Add
notion_tokenandtodoist_tokenin the Globals step (or use n8n credentials), and create Notion database properties that match the workflow’s field mapping (including a place to store the Todoist task ID).
