How to sync Notion with Todoist

Calnio keeps a Notion database and a Todoist project in step, both ways: titles, due dates, what is done and priorities. Setup is three connections and about a minute.

Free for one database, one way. $3.99 a month for two-way and all of them, the first 7 days free with no card. Nothing to install.

Before you start

A Notion database

Any database works. A date column becomes the due date, a checkbox or status column says what is done, and a select column called Priority sets the priority. Each of them is optional.

A Todoist account

Each database gets its own Todoist project, and Todoist's free plan limits how many projects you can have.

A Google account

It is how you sign in. Calnio keeps your name, email and avatar from it, and no Google tokens.

Set up Notion Todoist sync in four steps

  1. 1. Sign in with Google

    Signing in for the first time creates your account. There is no form to fill in.

  2. 2. Connect Notion

    Notion opens a page picker. Tick every database you might want in Todoist. Calnio cannot see anything you do not tick.

  3. 3. Connect Todoist

    Todoist asks whether Calnio may read and change your tasks and projects. It needs both, because it syncs both ways. One click, no password.

  4. 4. Tick your databases

    For each one, Calnio uses a Todoist project of the same name or creates it, finds the columns, and starts the first sync right away.

What ends up in Todoist

One project per database

If a project with that name already exists and no other sync uses it, Calnio uses it. You can point a sync at another project from its card.

The columns, found for you

The date column is the only one, or the one called Due Date, Due, Deadline, Date, When or Start Date. Done is the only checkbox, one called Done, Completed, Complete or Finished, or else the only status column. Priority is a select called Priority or Prio. A column Calnio cannot find is not synced until you pick one on the card.

Pages become tasks

Every page that is not done gets a task. Pages that are already done stay out, so an old database does not pour years of finished work into Todoist. A page with no title is skipped.

A page whose title matches an open task already in the project is linked to that task instead of getting a second one.

Priority follows the select

The select column's first option is p1, the second p2, and so on. With fewer than four options, the lowest priorities clear the column.

Checked every 5 to 30 minutes

Every 15 minutes on the paid plan, or as often as every 5 if you choose, and every 30 on the free one. Each run reads what changed on both sides since the last one, and only that.

Both ways, with no switch

There is no switch to turn on. On the paid plan and the 7-day trial, what you do in Todoist reaches Notion, and the same change in Notion reaches Todoist. The free plan syncs from Notion to Todoist only.

Add a task

A new page appears in the database.

Tick it off

The page is marked done: its checkbox is ticked, or its status moves to the first option in Complete.

Change the date

The page's date moves. A date range keeps its length.

Rename it, or change its priority

The page follows.

Delete a task

The page goes to the Notion trash, unless it was edited since the last run.

Delete a page

Its task is deleted, unless the task was edited since the last run. Then it gets a new page.

When both sides changed the same thing since the last run, the later change wins, and Notion takes a tie. Edits to different things on each side both stay. Repeating tasks are never copied into Notion, and a repeating task keeps its own date: ticking it off moves it to the next one, and the page follows.

Want your dates in a calendar instead? Read how to sync Notion with Apple Calendar. Privacy, data and disconnecting are in the FAQ.

Your dates, where you already look.

Sign in, tick a database, and it shows up in Apple Calendar, Google Calendar or Todoist.

Free for one database, one way. $3.99 a month for two-way and all of them, the first 7 days free with no card. Nothing to install.