Skip to main content

Realtime Notion Todoist 2-way sync with Redis

Workflow preview

Workflow preview
100%
Realtime Notion Todoist 2-way sync with Redis preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Purpose This solution enables you to manage all your Notion and Todoist tasks from different workspaces as well as your calendar events in a single place. All tasks can be managed in Todoist and ad...

Best for

  • Personal Productivity automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.httprequest, n8n-nodes-base.notion, n8n-nodes-base.code, n8n-nodes-base.form, n8n-nodes-base.if, n8n-nodes-base.crypto, n8n-nodes-base.webhook, n8n-nodes-base.respondtowebhook

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Mario.

Original n8n.io source

1.1 Workflow description

Title
Realtime Notion Todoist 2-way sync with Redis
Workflow name
Realtime Notion Todoist 2-way sync with Redis

Purpose

This solution enables you to manage all your Notion and Todoist tasks from different workspaces as well as your calendar events in a single place.

All tasks can be managed in Todoist and additionally Fantastical can be used to manage scheduled tasks & events all together.

Demo & Explanation

How it works

  • The realtime sync consists of two workflows, both triggered by a registered webhook from either Notion or Todoist
  • To avoid overwrites by lately arriving webhook calls, every time the current task is retrieved from both sides.
  • Redis is used to prevent from endless loops, since an update in one system triggers another webhook call again. Using the ID of the task, the trigger is being locked down for 15 seconds.
  • Depending on the detected changes, the other side is updated accordingly. Generally Notion is treaded as the main source. Using an "Obsolete" Status, it is guaranteed, that tasks never get deleted entirely by accident.
  • The Todoist ID is stored in the Notion task, so they stay linked together
  • An additional full sync workflow daily fixes inconsistencies, if any of them occurred, since webhooks cannot be trusted entirely.
  • Since Todoist requires a more complex setup, a tiny workflow helps with activating the webhook.
  • Another tiny workflow helps generating a global config, which is used by all workflows for mapping purposes.

Mapping (Notion >> Todoist)

  • Name: Task Name
  • Priority: Priority (1: do first, 2: urgent, 3: important, 4: unset)
  • Due: Date
  • Status: Section (Done: completed, Obsolete: deleted)
  • <page_link>: Description (read-only)
  • Todoist ID: <task_id>

Current limitations

  • Changes on the same task cannot be made simultaneously in both systems within a 15-20 second time frame
  • Subtasks are not linked automatically to their parent yet
  • Recurring tasks are not supported yet
  • Tasks names do not support URL’s yet

Prerequisites

Notion

  • A database must already exist (get a basic template here) with the following properties (case matters!):
    • Text: "Name"
    • Status: "Status", containing at least the options "Backlog", "In progress", "Done", "Obsolete"
    • Select: "Priority", containing the options "do first", "urgent", "important"
    • Date: "Due"
    • Checkbox: "Focus"
    • Text: "Todoist ID"

Todoist

  • A project must already exist with the same sections like defined as Status in Notion (except Done and Obsolete)

Redis

Setup

The setup involves quite a lot of steps, yet many of them can be automated for business internal purposes.

Just follow the video or do the following steps:

  • Setup credentials for Notion (access token), Todoist (access token) and Redis - you can also create empty credentials and populate these later during further setup
  • Clone this workflow by clicking the "Use workflow" button and then choosing your n8n instance - otherwise you need to map the credentials of many nodes.
  • Follow the instructions described within the bundle of sticky notes on the top left of the workflow

How to use

  • You can apply changes (create, update, delete) to tasks both in Notion and Todoist which then get synced over within a couple of seconds (this is handled by the differential realtime sync)
  • The daily running full sync, resolves possible discrepancies in Todoist and sends a summary via email, if anything needed to be updated. In case that contains an unintended change, you can jump to the Task from the email directly to fix it manually.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Get projects

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 2 - Get sections

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 3 - Get Notion Databases

Type / Role
n8n-nodes-base.notion - notion
Config choices
Version 2.2

Block 4 - Prep Dropdown

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 5 - Prep Dropdown1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 6 - Generate config

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 7 - Choose Notion Database

Type / Role
n8n-nodes-base.form - form
Config choices
Version 1

Block 8 - Choose Todoist Project

Type / Role
n8n-nodes-base.form - form
Config choices
Version 1

Block 9 - Verify security token

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 10 - Generate security token

Type / Role
n8n-nodes-base.crypto - crypto
Config choices
Version 1

Block 11 - Store variables

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - Get variables

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 13 - Redirect to Auth Page

Type / Role
n8n-nodes-base.form - form
Config choices
Version 1

Block 14 - OAuth redirect

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2

Block 15 - Exchange Tokens

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 16 - Respond with success

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.1

Block 17 - Respond with error

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.1

Block 18 - Get Notion Database ID

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 19 - Get Todoist Project ID

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 20 - Notion-Todoist Sync Setup Helper

Type / Role
n8n-nodes-base.formTrigger - formTrigger
Config choices
Version 2.2

Block 21 - Todoist Webhook Setup Helper

Type / Role
n8n-nodes-base.formTrigger - formTrigger
Config choices
Version 2.2

Block 22 - Return config JSON

Type / Role
n8n-nodes-base.form - form
Config choices
Version 1

Block 23 - Todoist

Type / Role
n8n-nodes-base.todoist - todoist
Config choices
Version 2.1

Block 24 - Notion

Type / Role
n8n-nodes-base.notion - notion
Config choices
Version 2.2

Showing the first 24 of 246 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Realtime Notion Todoist 2-way sync with Redis
Complexity advanced
Nodes 246
Categories Personal Productivity
Author Mario
Published 21 Jan 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/2772/2772.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Realtime Notion Todoist 2-way sync with Redis do?

Purpose This solution enables you to manage all your Notion and Todoist tasks from different workspaces as well as your calendar events in a single place. All tasks can be managed in Todoist and ad...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Personal Productivity use case.