Built an automated calendar sync system that polls Google Calendar and writes events into a classified Notion calendar view - keeping scheduling, task management, and project work unified in one workspace.


The Problem

I didn't want to keep switching to Google Calendar to see what was coming up. My project work, tasks, and notes all lived in Notion, but my schedule didn't. I needed calendar events visible alongside everything else — and I wanted them categorised automatically so I could see at a glance what was a client meeting versus a networking event versus personal time.


What I Built

A polling-based sync pipeline that brings Google Calendar events into Notion with automatic classification:


<aside>

Tech Stack & Features

Platform: n8n

AI: Gemini (event classification + input gem)

API: Google Calendar API, Notion REST API

Key modules: Polling trigger, Gemini AI node, Notion database modules

Patterns: Scheduled polling, AI classification, calendar view sync, event categorisation

</aside>

<aside>

Documentation


SOP - Google Calendar to Notion Sync

Technical Doc - Google Calendar to Notion Sync

</aside>


Screenshots


Notion Calendar View

image.png