Productivity · n8n

Automatically Add Notion Pages as Google Calendar Events

Whenever a new page is created in a specific Notion database, this workflow instantly creates a matching event in Google Calendar. Planners save time and keep their schedules perfectly in sync without any manual copy-pasting.

difficulty Beginnersetup 30 minresult Every new Notion database entry with a date automatically appears as a Google Calendar event within minutes.
  1. 1

    Trigger: Watch for New Notion Database Pages

    Add a Notion Trigger node. In the Credential field, connect your Notion account. Set Database ID to the ID of the Notion database you use for planning (copy it from the Notion page URL). Set the polling interval to every 1 minute. This node fires every time a new page is added to that database.

  2. 2

    Extract and Map Event Fields

    Add a Set node connected after the Notion Trigger. Create three fields: eventTitle mapped to {{$json.properties.Name.title[0].plain_text}}, eventStart mapped to {{$json.properties.Date.date.start}}, and eventEnd mapped to {{$json.properties.Date.date.end ?? $json.properties.Date.date.start}}. This cleans up the Notion data into simple values Google Calendar can use.

  3. 3

    Check That a Date Exists

    Add an IF node after the Set node. Set the condition to check that {{$json.eventStart}} is not empty. Connect the true branch to the next step. This prevents errors when a Notion page is added without a date.

  4. 4

    Create the Google Calendar Event

    Add a Google Calendar node on the true branch of the IF node. Set Operation to Create, and connect your Google account in Credential. Set Calendar ID to your target calendar (use primary for your main calendar). Set Title to {{$json.eventTitle}}, Start to {{$json.eventStart}}, and End to {{$json.eventEnd}}. Your Notion page is now a calendar event.

Frequently asked questions

What properties does my Notion database need?

Your Notion database must have a `Name` (title) property and a `Date` property. If your date property has a different name, update the expressions in the Set node to match your exact property name.

Will this work for existing Notion pages or only new ones?

The Notion Trigger only detects newly created pages added after you activate the workflow. Existing pages will not be synced automatically. To handle existing pages, you would need to run a one-time import manually.

What happens if I update a Notion page after it is created?

This workflow only triggers on page creation, so updates to existing pages will not automatically update the Google Calendar event. For two-way or update sync you would need to add a separate workflow using the Notion Trigger set to watch for page updates.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.