Skip to content
Notis

Keep Google Calendar in sync when Notion dates change

You push a deadline in Notion but the old time still sits on your calendar, quietly wrong. Notis catches the property change and patches the existing Google Calendar event, so the two views agree without you touching either one twice.

Trigger

Page Properties Updated

Triggers when properties of a Notion page are updated. Customer optionally scopes with at most one of: - data_source_id: any row in this data source - page_id: this specific page - parent_page_id: any page whose immediate parent is this page With none set, fires for any property change in the workspace the integration has access to. Adding a column to a data source fires this trigger once per existing row. Customers can branch on `data.updated_properties` (array of property IDs) to filter downstream.

Action

Patch Event

Updates specified fields of an existing event in a google calendar using patch semantics (array fields like `attendees` are fully replaced if provided); ensure the `calendar id` and `event id` are valid and the user has write access to the calendar.

Why this helps

Changing a date in Notion leaves a stale calendar event behind, and the mismatch causes double bookings and missed context.

  • Your calendar reflects the real plan the moment you shift a date
  • No stale events left behind after you reschedule in Notion
  • Patch semantics mean only the time changes, invites stay intact
  • One edit instead of updating two tools by hand

Setup

Build it in a few focused steps.

  • 1Connect Notion and Google Calendar to Notis from the portal if you have not already.
  • 2Open Automations in your portal and click New Automation, or just tell Notis what you want in chat.
  • 3Describe the outcome: when a task's date changes in my Notion database, update the matching Google Calendar event to the new time.
  • 4Select the Page Properties Updated trigger and pick where Notis should report each run.
  • 5Test by moving one task's date in Notion and checking that the calendar event follows.

Questions about this workflow

How does Notis know which event to update?

Notis matches the Notion item to the event it created earlier. You describe the link in plain language and it handles the lookup.

Will attendees get re-invited?

Patch updates only the fields that changed, so existing invites and details stay in place unless your prompt asks otherwise.

What if I change the status instead of the date?

You can scope the prompt to react only to date changes, or handle status changes with a separate automation.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Notion to Google Calendar. A trigger fires from one place; an action lands in another.

Notion triggers

Google Calendar actions

All Page Events

Triggers when any Notion page is created or updated across the workspace.

TriggerPolling

Insert Calendar into List

Inserts an existing calendar into the user's calendar list.

ActionInstant

Comment Created

Triggers when a new comment is created in Notion. Optional `page_id` filter scopes to comments on a specific page. When omitted, fires for any new comment in the workspace the integration has access to. Requires the 'Read comments' capability on the Notion integration. If a connection was authorized before that capability was enabled, the user must re-authorize the connection for comment events to flow.

TriggerInstant

Update Calendar List Entry

Updates an existing entry on the user\'s calendar list.

ActionInstant

New Comment

Triggers when a new comment is added to a specified Notion block or page.

TriggerPolling

Delete Calendar

Deletes a secondary calendar. use calendars.clear for clearing all events on primary calendars.

ActionInstant

Database Created

Triggers when a new Notion database (the container) is created. A database is the post-2025-09-03 container that holds one or more data sources. This trigger fires for the container's creation event (`database.created`), distinct from `NOTION_DATASOURCE_CREATED` which fires when a new data source is added to an existing database. Most customers calling Notion's `POST /v1/databases` (the legacy API) or creating a database via the Notion UI will see this event. Adding a new data source to an existing database fires `data_source.created` instead — use `NOTION_DATASOURCE_CREATED` for that. Notion's payload puts `entity.type: "block"` (the container is a `child_database` block in the content tree) and `entity.id` is the database id.

TriggerInstant

Update Calendar

Updates metadata for a calendar.

ActionInstant

Data Source Created

Triggers when a new Notion data source is created. Fires workspace-wide. The payload's `data.parent` carries the data source's tree parent (typically the teamspace) for downstream filtering. A single template-based database creation can fire multiple `data_source.created` events at once — one per data source the template instantiates.

TriggerInstant

Clear Calendar

Clears a primary calendar. this operation deletes all events associated with the primary calendar of an account.

ActionInstant

Data Source Schema Updated

Triggers when a Notion data source's schema is updated. Fires on column add / remove / rename. Payload includes `data.updated_properties: [{id, name, action}]` so consumers can discriminate the kind of change downstream. Optional `data_source_id` filter scopes to schema changes on a single data source. When omitted, fires for any schema change in the workspace the integration has access to. Note: adding a column also fires `page.properties_updated` once per existing row in the data source. Customers wanting a single structural-change signal should use this trigger.

TriggerInstant

Create Event

Creates an event on a google calendar, needing rfc3339 utc start/end times (end after start) and write access to the calendar. by default, adds the organizer as an attendee unless exclude organizer is set to true.

ActionInstant

New Page

Triggers when a new page is added to a Notion database.

TriggerPolling

Delete event

Deletes a specified event by `event id` from a google calendar (`calendar id`); this action is idempotent and raises a 404 error if the event is not found.

ActionInstant

Page Added to Page

Fires when a new subpage (a `child_page` type block) is added under a specified parent Notion page.

TriggerPolling

Create a calendar

Creates a new, empty google calendar with the specified title (summary).

ActionInstant

Connect any two apps with Notis in the middle.

Not just Notion and Google Calendar. Any combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business Google Calendar.