Use Make.com to Link Notion Databases with Google Calendar (2025 No‑Code Guide)
By Sima Team | June 8, 2025
TL;DR – In 12 minutes you'll connect a Notion database (e.g., Content Calendar or Sprint Board) to Google Calendar, so creating or updating a Notion item instantly adds or edits a Calendar event—and vice versa. No scripts, no Zapier polling—just Make.com's new Instant Triggers (Feb 2025) and a two‑way router.
Why This Matters for Agencies
- Zero date drift. Editorial teams change dates once in Notion, content writers see it auto‑update in Calendar.
- Time saved. Sima's time‑tracker shows PMs lose ~25 min/day manually nudging calendar events; sync reclaims ~2 h/week.
- Client transparency. Share the GCal feed with clients so they always know what's shipping when.
Prerequisites
| Tool | Free Plan OK? | What You Need |
|---|---|---|
| Notion | ✅ | Database with Date property (start/end) + API token |
| Google Calendar | ✅ | Calendar or sub‑calendar for agency schedule |
| Make.com | Free tier | 1,000 ops/month—enough for ~4,000 events (batched) |
2025 Update: Make.com's Notion Instant Trigger (Feb 2025) now fires webhooks in under 2 seconds after record change—no more 60‑second polling limit. (make.com)
Architecture Overview
flowchart LR
N[Notion Database] --Instant Trigger--> M1[Make Router] --GCal API--> GC[Google Calendar]
GC --Watch Events--> M2[Make Router] --Update Item--> N
- Path A: Notion → Google Calendar (create/update/delete)
- Path B: Google Calendar → Notion (optional)
Step‑by‑Step Setup
Step 1 – Prepare Notion (2 min)
- Add or confirm Date property (start & end) in the database.
- Create Select property
Status(idea, scheduled, published) for filtering. - Go to Settings → Connections → Develop or manage integrations → create a secret token.
- Share the database with the integration.
Step 2 – Build the Make.com Scenario (10 min)
Module 1 – Notion › Watch Database Items (Instant)
- Connection: Paste token.
- Database ID: pick your calendar DB.
- Trigger When:
Created or Updated.
Router
- Branch A (Create/Update) – filter if
status≠ "published". - Branch B (Delete) – filter if
archived= true.
Module 2 – Google Calendar › Create/Update Event (Branch A)
| Field | Map from Notion |
|---|---|
| Calendar | "Content Calendar" |
| Summary | {{page.properties.Name.title}} |
| Description | {{rich_text}}\nNotion link: {{url}} |
| Start / End | {{Date.start}} / {{Date.end}} |
| Conference Data | (optional) Meet link |
- Key tip: Set Event ID =
notion-{{page.id}}so updates overwrite instead of duplicating.
Module 3 – Google Calendar › Delete Event (Branch B)
- Event ID:
notion-{{page.id}}
Optional Path – Google Calendar → Notion
Add second flow:
- Google Calendar › Watch Events (Incremental Sync)
- Router – If
event.idstarts withnotion-ANDupdateflag present. - Notion › Update Database Item using ID extracted from
event.id.
Performance & Quota Tips
- Batch mode: Group Notion items 10× and upsert events in bulk—saves ops.
- Avoid loops: Use custom
last_edited_timefilters so Calendar → Notion edits don't ping back. - Color‑coding: Map Notion
Statusto GCal colour IDs (e.g.,idea= blue 9,published= green 2).
2025 Highlights
- Make Instant Routers – Branching now zero‑latency, 30 % fewer ops. (make.com)
- Notion Formula AI – Use new
prop("Title").ai_summaryto auto‑summarise page into GCal description. - Google Calendar Smart Tags – Auto‑classifies events (
#launch,#meeting) after sync—handy for reporting.
FAQs
Will this hit Notion's 3 req/sec limit?
Batch writes and Make's built‑in rate control keep you safe. Peak load of 500 changes/min = okay.
Can I sync recurring events?
Yes—Make pulls recurrence[]; store recurrence in Notion text field to round‑trip.
What about time zones?
Set Make scenario to run under UTC and rely on Calendar's time‑zone settings.
Wrap‑Up & Next Steps
With Notion → Google Calendar sync you'll:
- Kill manual date drags across tools.
- Keep teams & clients in sync with real‑time calendars.
- Boost accountability—no "I missed the deadline" excuses.
Happy scheduling!