Google Calendar ↔ Todoist
Sync Google Calendar with Todoist (Time-Blocked Tasks)
Time-block Todoist tasks onto your Google Calendar and bring Google events into Todoist as scheduled work. Two-way, with conflict-aware completion.
How to sync Google Calendar with Todoist
About 8 minutes. No credit card required.
-
Sign in to SyncCal
Open app.sync-cal.com and create an account with the same email you use for Google or Todoist (it doesn't matter which).
-
Connect Google Calendar
Click "Add Google" and grant the calendar scope. SyncCal will only touch the calendars you select in the next step, not your entire Google account.
-
Connect Todoist
Click "Add Todoist" and authorize the integration. SyncCal asks for the standard Todoist Read/Write scope so it can both pull tasks and create tasks from calendar events.
-
Pick which Todoist projects participate
Most users mirror one project (commonly "Today" or a "Work" project) onto Google Calendar. You can include multiple but a single project usually keeps the calendar uncluttered.
-
Choose direction
Two-way is the default. Tasks with a date and duration become Google events. Google events without an existing Todoist task become "received" tasks in an inbox project of your choice.
-
Set the default task duration
Todoist tasks have a date but not always a duration. SyncCal needs a default duration to know how long a calendar block should be. Most users pick 30 or 60 minutes.
-
Verify the first sync
Within a minute, your dated Todoist tasks show up as events on Google. Mark a task complete in Todoist; the calendar event will be deleted (or updated to a "Done" label, your choice).
Time blocking that actually survives a calendar reshuffle
Most “task to calendar” integrations are write-only and break the moment your day gets moved around. Todoist’s built-in Google Calendar feed is the same: it pushes tasks onto a calendar but does not listen for changes from the other side.
SyncCal’s two-way sync is what makes time blocking work in practice. The flow that actually saves time:
- In Todoist, add
@deep-work 60min today 9amto a task. - SyncCal creates a 60-minute event on your Google Calendar at 9am.
- A new meeting request lands for 9am. You move your focus block to 10am by dragging it on Google Calendar.
- Todoist’s “Today” view now shows the task at 10am. The reschedule did not require touching Todoist.
- You finish the work at 10:55am, check it off in Todoist, the calendar block disappears.
Recommended sub-calendar setup
Don’t dump Todoist tasks onto your primary Google Calendar. Other people who can see your calendar will get confused about which entries are real meetings.
Create a sub-calendar called “Tasks” or “Focus” under your primary Google account:
- In Google Calendar, ”+ Other calendars” → “Create new calendar”.
- Name it Tasks. Optionally set it to a distinctive color.
- In SyncCal, point the Todoist sync at that sub-calendar instead of your primary.
- Share access: by default, sub-calendars are not visible to colleagues who have access to your primary, so your time blocks stay private.
What doesn’t work (yet)
- Mirror Google all-day events as Todoist tasks. Most all-day events on calendars are holidays or birthdays which are not actionable. We mirror timed events only.
- Two-way sync of attachments. Todoist tasks can carry file uploads; Google events have a different attachment model. Files do not cross over.
- Multiple Todoist accounts merging into one Google account. One Todoist account per sync. Run a separate sync if you have two Todoist accounts.
Questions about Google Calendar and Todoist sync
Doesn't Todoist already integrate with Google Calendar?
Todoist has a Google Calendar connection but it is one-way (Todoist → Google) and surfaces every task on the calendar without filter. SyncCal lets you choose which projects sync, makes it two-way, and gives you control over what happens when a task completes.
What happens when I check a task off in Todoist?
By default, the corresponding Google Calendar event is deleted (since you no longer need that time block). You can change this to "mark with strikethrough" or "move to a Completed calendar" if you prefer to keep a record.
What if I move an event on Google Calendar?
SyncCal updates the Todoist task's date and time to match. This is the killer feature of the two-way sync - if a meeting gets rescheduled and now your time-blocked focus session overlaps it, you drag the focus block on the calendar and Todoist's "Today" view updates.
Does this sync sub-tasks?
Yes. Sub-tasks with their own dates become their own calendar events. Sub-tasks without dates inherit the parent task's date and are appended to the parent's calendar block.
Will this clutter my main Google Calendar?
We recommend syncing Todoist into a dedicated Google sub-calendar (e.g. "Tasks") that you can show/hide independently. SyncCal can create that sub-calendar for you during setup.
Does it work with Todoist Free?
Yes. The Todoist sync uses the standard public API which is on all tiers. The advanced filtering features of Todoist (like custom filters for what becomes a calendar event) require Todoist Pro on the Todoist side, but SyncCal itself works with Free.