Field Mapping
Configure how Notion properties sync to Google Calendar fields
Field mapping determines how your Notion database properties correspond to Google Calendar event fields.
Overview
The sync supports mapping between these fields:
Core Fields
| Google Calendar | Notion Property Type | Notes |
|---|---|---|
| Title | Title | Required |
| Start/End Time | Date | Required, must include time |
| Description | Text, Rich Text | Optional |
| Location | Text | Optional |
| Reminders | Number | Minutes before event |
Extended Fields
| Google Calendar | Notion Property Type | Notes |
|---|---|---|
| Attendees | Rich Text | One-way sync (GCal → Notion) |
| Organizer | Rich Text | One-way sync (GCal → Notion) |
| Conference Link | Rich Text | Video meeting URL |
| Recurrence | Rich Text | Human-readable pattern |
| Color | Rich Text | Event color name |
| Visibility | Rich Text | public/private/default |
Extended fields sync one-way from Google Calendar to Notion. Editing these fields in Notion won't update the Google Calendar event.
Required Mappings
Title Property
Every event needs a title. Map this to your Notion Title property.
Google Calendar: Summary (Title)
↔
Notion: Your title property (e.g., "Event Name", "Name", "Title")Date Property
Events need a start time. Your Notion Date property must:
- Include time (not just date)
- Optionally include an end date/time
Google Calendar: Start/End DateTime
↔
Notion: Date property with time enabledIf your Notion Date property doesn't include time, the sync cannot determine when events occur during the day.
Optional Mappings
Description
Sync event details between description fields.
Google Calendar: Description
↔
Notion: Text or Rich Text propertyNote
Rich text formatting from Notion is converted to plain text in Google Calendar.
Location
Sync physical or virtual locations.
Google Calendar: Location
↔
Notion: Text propertyReminders
Set how many minutes before an event to trigger a reminder.
Google Calendar: Reminder (popup notification)
↔
Notion: Number property (minutes)Example values:
15= 15 minutes before60= 1 hour before1440= 1 day before (60 × 24)
Extended Fields
Extended fields bring additional event metadata from Google Calendar into Notion. These fields are disabled by default and sync one-way (GCal → Notion only).
Extended fields are read-only in Notion. Changes made in Notion won't sync back to Google Calendar.
Attendees
Shows who's invited to the event.
Google Calendar: Event attendees
→
Notion: Rich Text property (comma-separated list)Example value: alice@example.com, bob@example.com
Note
Your own email is excluded from the attendees list to reduce clutter.
Organizer
Shows who created or owns the event.
Google Calendar: Event organizer
→
Notion: Rich Text propertyExample value: Alice Smith or alice@example.com
Conference Link
Captures video meeting URLs from the event.
Google Calendar: Conference data (Meet, Zoom, etc.)
→
Notion: Rich Text property (URL)Example value: https://meet.google.com/abc-defg-hij
Recurrence
Shows the repeat pattern for recurring events.
Google Calendar: RRULE (recurrence rule)
→
Notion: Rich Text property (human-readable)Example values:
Weekly on MondayDailyMonthly on the 15thEvery 2 weeks on Tuesday, Thursday
Color
Captures the event's color label from Google Calendar.
Google Calendar: Color ID
→
Notion: Rich Text property (color name)Color names: Tomato, Flamingo, Tangerine, Banana, Sage, Basil, Peacock, Blueberry, Lavender, Grape, Graphite
Visibility
Shows who can see the event.
Google Calendar: Event visibility
→
Notion: Rich Text propertyValues:
default- Uses calendar's default visibilitypublic- Visible to anyoneprivate- Only visible to attendees
Enabling Fields
Extended fields are disabled by default. To enable them:
During Setup
The setup wizard shows toggle switches for each extended field. Enable the fields you want to sync.
In Settings
- Go to your app dashboard
- Click Settings
- Find the Field Mapping section
- Toggle on the extended fields you want
- Optionally set custom Notion property names
- Click Save
When you enable a new field, only future events will have that field populated. Use backfill to update existing events.
Backfilling Existing Events
When you enable a new extended field, existing Notion pages won't have that data yet. Use backfill to populate them.
Starting a Backfill
- Go to Settings in your dashboard
- Find the Backfill section
- Select the fields you want to backfill
- Click Start Backfill
Progress Tracking
The dashboard shows:
- Total events to process
- Events completed
- Current status (running/completed/failed)
Backfill can take several minutes for large calendars. Don't close the dashboard while it's running.
Configuring Mappings
During Setup
The setup wizard automatically suggests mappings based on property names:
- Properties named "Title", "Name", or "Event" → Title
- Properties named "Date", "When", or "Time" → Date
- Properties named "Description", "Notes", or "Details" → Description
- Properties named "Location", "Where", or "Place" → Location
In Settings
After setup, you can modify mappings in the Settings page:
- Go to your app dashboard
- Click Settings
- Find the Field Mapping section
- Select Notion properties for each Google Calendar field
- Click Save
GCal Event ID Property
The sync automatically creates and manages a special property:
| Property | Type | Purpose |
|---|---|---|
gcal_event_id | Text | Links events between Notion and Google Calendar |
Do not modify or delete this property. It's how the sync knows which Notion pages correspond to which Google Calendar events.
Hiding the Property
To keep your database clean:
- Open your Notion database
- Click the property header dropdown
- Select Hide in view
The property remains functional but won't clutter your views.
Sync Behavior
New Events
When you create an event in either system:
- Event is created in the other system
- Field mappings determine what data transfers
gcal_event_idlinks them together
Updates
When you modify an event:
- Change is detected (webhooks for both Google and Notion)
- Corresponding event in other system is updated
- Only mapped fields are synced
Deletions
When you delete an event:
- Corresponding event in other system is also deleted
- The link is removed
Troubleshooting
Best Practices
Use Clear Names
Name your Notion properties clearly (e.g., "Event Date" not "Date1")
Enable Time
Always enable time on your Date property for accurate scheduling
Hide System Fields
Hide the gcal_event_id property to keep views clean
Test Changes
After changing mappings, create a test event to verify sync works