Google Calendar ↔ Notion
Sync Google Calendar with Notion (Real Calendar View)
Mirror Google Calendar events into a Notion database so your timeline view, calendar view, and project pages all reflect what's on your calendar.
How to sync Google Calendar with Notion
About 7 minutes. No credit card required.
-
Sign in to SyncCal
Open app.sync-cal.com and create an account with the Google email you use for your calendar. The free plan handles the Google to Notion direction for a single workspace.
-
Connect Google Calendar
Click "Add Google" and grant the calendar scope. SyncCal asks for read access if you only need Google → Notion, or read/write if you want events created in Notion to appear on your Google Calendar too.
-
Connect Notion
Click "Add Notion" and authorize the SyncCal integration into the Notion workspace that holds your calendar database. You will pick the target database in the next step.
-
Pick or create the target Notion database
Point SyncCal at an existing Notion database (it must have a Date property) or let SyncCal create one for you with the standard fields (Title, Date, Source calendar, Attendees, Link).
-
Choose direction and field mapping
One-way Google → Notion is the most common setup. Map Google event title to Notion's title property, event start/end to the Date property, and (optionally) event description to a Notes property.
-
Confirm the first sync
Hit Save. SyncCal backfills the last 30 days and forward 90 days into Notion within a couple of minutes. New events appear within about 60 seconds going forward.
Why use a sync instead of just Notion Calendar
Notion Calendar reads Google Calendar in real time but the events are not actually in your Notion workspace. You cannot:
- Filter calendar events by a Notion property (project, client, billable).
- Group your events in a Notion timeline view alongside tasks and OKRs.
- Reference an event from a Notion page using ”@” mention.
- Roll up event durations into a Notion formula for time tracking.
SyncCal puts the events into a Notion database as real rows. From there the whole Notion stack works on them: filtered views, formulas, linked rollups, page templates.
Recommended Notion database structure
The minimum schema SyncCal can work with:
- Title (title) - the event title
- Date (date) - the event start and end with timezone
Optional but recommended:
- Source calendar (select) - lets you filter by which Google calendar the event came from
- Attendees (rich text) - comma-separated invitee list
- Google event link (URL) - deep link back to the original Google Calendar entry
- Notes (rich text) - mirrored from the Google event description
When SyncCal is the right pick over alternatives
| Need | Right tool |
|---|---|
| See Google events overlaid in Notion Calendar UI | Notion Calendar (free, native) |
| Get events as rows in a database with rollups and filters | SyncCal |
| Two-way: edit in Notion, see in Google | SyncCal (Notion Calendar is read-only into Notion) |
| Sync to a Notion database with custom field logic | SyncCal |
| Just block focus time from Google in your Notion daily view | Notion Calendar |
Questions about Google Calendar and Notion sync
Does Notion have a built-in Google Calendar sync?
Notion Calendar (the renamed Cron app) reads Google Calendar but does not write events into a Notion database. To get events as rows in a Notion database where you can filter, group, and view them alongside project data, you need a sync engine like SyncCal that writes through the Notion API.
Can it be two-way? If I create a calendar entry in Notion, will it show in Google?
Yes. Pick the two-way option during setup. SyncCal listens for new rows in the Notion database and creates the matching Google Calendar event. Editing the date or title in Notion propagates back to Google in under a minute.
What if my Notion database already has rows in it?
SyncCal does not delete or overwrite existing rows. It only writes rows it created (tagged with a hidden source field). If your existing rows have a Google event ID stored in a property you point SyncCal at, it can adopt them and keep them in sync.
Does this work for multiple Google calendars at once?
Yes. After connecting Google you pick which calendars to include. All selected calendars flow into the same Notion database, with a "Source calendar" property so you can filter by which calendar each event came from.
What happens to recurring events?
SyncCal expands recurring events into individual rows in Notion for the visible window (default 90 days ahead). Editing a single occurrence in Notion creates an exception on Google. Editing the whole series should be done on Google to avoid drift.
Can I use this with a free Notion workspace?
Yes. The Notion API is available on all Notion plans including free. SyncCal only needs Insert and Update permission on the target database.