Skip to product information

Sync Notion to Todoist with n8n Webhooks + Redis Locks

Sync Notion to Todoist with n8n Webhooks + Redis Locks

 (200+Reviews)
Regular price £74.99
Regular price £74.99 Sale price
SAVE Sold out
⬇
Instant Digital Download
∞
Unlimited Downloads
★
Lifetime Access in Your Account
🔥
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

Sync Notion to Todoist with n8n Webhooks + Redis Locks

Regular price £74.99
Regular price £74.99 Sale price
SAVE Sold out

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_token and todoist_token in 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).
View full details