📌 Why this Automation?
If you live in Notion but still rely on Google Calendar for scheduling, you know the struggle: events live in Calendar, tasks live in Notion, and you have to keep them in sync manually.
That’s time-consuming and a productivity killer. This automation solves that by auto-syncing Google Calendar events to Notion, using only free tools.
No manual copying, no switching tabs, just seamless integration.
🛠Tools You’ll Need
- ✅ Make.com (Free plan): for automation
- ✅ Google Calendar: Event source
- ✅ Notion: Task/project database
- ✅ Notion API integration token: For Make.com to connect to Notion
🗂 Step 1. Prepare Your Notion Database
- Create a database called Calendar Sync in Notion.
- Add columns
- Event Name (Title)
- Start Time (Date)
- End Time (Date)
- Description (Text)
- Location (Text)
💡 Tip: Make sure your Notion database is shared with your integration in Notion → Settings → My Connections.
âš™ Step 2. Plan the Automation Workflow
Logic
- Trigger: When a new event is created or updated in Google Calendar.
- Action: Create or update the corresponding entry in Notion.
🖥 Step 3. Build the Make.com Scenario
Module 1. Google Calendar: Watch Events
- Connect your Google Calendar.
- Choose Watch Events.
- Set it to check every 15 minutes (free tier).
Module 2. Notion: Create a Database Item
- Connect Notion using your integration token.
- Map
- Event Name: {{1.Summary}}
- Start Time: {{1. Start DateTime}}
- End Time: {{1.End DateTime}}
- Description: {{1.Description}}
- Location: {{1.Location}}
🧩 Sample Make.com JSON for This Scenario
You can import this JSON into Make.com to get a ready flow.
{
"name": "Google Calendar to Notion Sync",
"flow": [
{
"id": 1,
"module": "google-calendar:watchEvents",
"version": 1,
"parameters": {
"calendarId": "primary",
"maxResults": 10
}
},
{
"id": 2,
"module": "notion:createDatabaseItem",
"version": 1,
"parameters": {
"databaseId": "your_notion_database_id_here",
"properties": {
"Event Name": "{{1.Summary}}",
"Start Time": "{{1.Start DateTime}}",
"End Time": "{{1.End DateTime}}",
"Description": "{{1.Description}}",
"Location": "{{1.Location}}"
}
}
}
]
}
Replace
your_notion_database_id_here → Get from your Notion database URL.
🔄 Step 4. Scheduling the Sync
- Set the scenario to run every 15 minutes (free tier limit).
- Now, any new or updated Calendar event will show up in Notion automatically.
Benefits
- Single source of truth: Keep tasks & events in Notion.
- No manual data entry: Save time.
- Always up to date: Calendar changes reflect in Notion.
🌟 Pro Tips
- Add a filter in Make.com to sync only events with a specific keyword (e.g., “Client” or “Project”).
- Add a reverse sync: Notion to Google Calendar for a two-way connection.
- Tag events in Notion with categories like Meeting, Deadline, and Personal.
🛠Fix – Google Calendar → Notion Sync
- Events Not Appearing in Notion
- Check if your Notion database is shared with your integration in Notion → Settings → My Connections.
- Confirm that the database ID in Make.com matches your target database.
- Date/Time Format Issues: Notion expects ISO 8601 date format (YYYY-MM-DDTHH:mm:ssZ). Use formatDate() in Make.com if the Google Calendar date is not mapping correctly.
- Duplicate Entries for Updated Events: Use the event’s unique ID to check if it already exists in Notion before creating a new entry.
- Permission Errors: Reconnect your Notion account in Make.com and refresh the database list if permissions change.
- Automation Not Running on Time: The free Make.com plan checks triggers every 15 minutes. Events added less than 15 minutes before the start may not sync instantly.
📌 Final Thoughts
This Google Calendar Notion sync automation is a game-changer for productivity lovers who want everything in one place without paying for expensive integrations.