Back to guides
|

Notion Google Calendar Two-Way Sync: Setup Guide

Set up two-way sync between Notion and Google Calendar. Learn which edits update Notion, how to move from iCal, and where the free one-way feed fits.

Quick answer

Connect your Notion database and Google account, then start direct sync to a dedicated Google calendar. With two-way sync enabled, supported edits to linked events update either app. The free iCal subscription is a separate, one-way option.

Notion’s own help center says database entries can be viewed in Notion Calendar but not pushed into Google Calendar itself. Notion to Calendar closes that gap with two delivery paths: two-way direct sync and a universal iCal subscription for Free users or shared calendars.

Set up direct two-way Google Calendar sync

Direct sync uses Google’s official Calendar API and the narrow calendar.app.created permission. It creates a calendar owned by this integration and writes mapped Notion events there. It does not need permission to manage every calendar in your account.

  1. Sign in at notiontocalendar.com with Notion.
  2. Select the database with the dates you want in Google Calendar.
  3. Choose which date property maps to event start times.
  4. Connect Google from the dashboard, then open the calendar link and start direct sync.
  5. Confirm the connection shows two-way sync. Older observation-only connections need two-way sync enabled before Google edits can update Notion.

Free and shareable option: use the iCal feed

Your Notion events appear as a subscribed calendar. Google chooses when to check external feeds. Premium uses a shorter server cache, which does not control when Google fetches updates.

  1. From your dashboard, select the Notion calendar you want to subscribe to.
  2. Click Get calendar link to generate the private .ics URL.
  3. Open Google Calendar on the web (calendar.google.com).
  4. Click the + next to Other calendars → From URL.
  5. Paste the private .ics URL and click Add calendar.

Tips for a clean Google Calendar view

  • Use filters to show only active tasks or a specific status
  • Create separate feeds per project — each gets its own color in Google Calendar
  • Custom event titles make dense calendars readable at a glance

Verify a change in each direction

Create a non-recurring event in Notion with a title and date. Wait for it to appear in the dedicated Google calendar, then move it to a new time in Google and check the linked Notion date. Update the title in Notion and check Google. Allow time for asynchronous processing between edits.

If you already subscribe to this database by iCal, compare the calendars first. Then hide or remove the old subscription to avoid duplicate events.

What two-way sync supports

If both apps change before synchronization, the later reliable modification time wins for supported edits. Notion takes priority for tied or uncertain times and during recovery. Direct sync is asynchronous and does not promise instant updates.

  • Titles and dates on linked, non-recurring events, including all-day and multi-day dates. Use a writable Notion date property.
  • Location and description edits only when the mapped Notion properties can represent them. Generated links and read-only page content must stay intact.
  • Create events in Notion first. New events created only in your external calendar are not imported into Notion.
  • Recurring events, attendees, meeting responses, reminders, and conferencing changes are not synchronized.
  • Deleting an external event does not delete or archive its Notion page. Deleting the source event in Notion removes its mapped calendar event when processed.

Troubleshooting

The From URL option is missing on mobile

Add the subscription from calendar.google.com in a desktop browser. After it is added to your Google account, it appears in the Google Calendar mobile app.

Changes from Notion are delayed

If you are using an iCal subscription, Google controls when it fetches the URL. You can switch the calendar link to direct Google sync, which writes through the Calendar API instead of waiting for that polling cycle.

An event is missing from Google Calendar

Verify the Notion row has a value in the selected date property, matches the configured filters, and appears in the generated feed before waiting for Google to refresh.

Official references

Frequently asked questions

How often does Google Calendar update?

Direct API sync does not wait for Google to refresh an external feed. For iCal subscriptions, Google still controls the fetch schedule; Premium uses a shorter server cache, which does not change that schedule.

Can I sync multiple Notion databases?

Yes. The free plan includes one feed. Premium supports unlimited feeds — one URL per database or filtered view.

Do I need Zapier?

No. Direct sync creates and maintains mapped Google events without a workflow builder. The iCal option also remains available when a read-only subscription is enough.

Is Google-to-Notion sync active?

Yes, for supported linked events on a connection with two-way sync enabled. Older observation-only connections need two-way sync enabled first. An iCal subscription never writes Google edits to Notion.

Is this different from Notion Calendar?

Yes. Notion Calendar is a standalone app. This method puts your Notion database events inside Google Calendar itself, with Google notifications on every device.

Ready to sync your Notion database with your calendar? Free to start — no credit card.