Calendar-to-Database Sync

Stop checking Google Calendar and Notion separately. This workflow syncs every event into a Notion database you can query, filter, and organize. One source of truth.

Trigger

Calendar Event Sync

Polling trigger that returns full event data including details, attendees, and metadata. For real-time notifications with basic info, use Calendar Event Changes (webhook).

Notion logo

Action

Insert row database

Creates a new page (row) in a specified notion database.

Why this helps

Your schedule lives in Google Calendar, but your work projects live in Notion. You're constantly switching between them to understand what's happening when.

  • See your entire calendar as a queryable Notion database
  • Filter events by type, attendee, or project
  • Link calendar events to related work in Notion
  • Build custom views of your schedule

Setup

Build it in a few focused steps.

  • 1Connect Google Calendar and Notion to Notis.
  • 2Ask Notis 'Sync my Google Calendar to a Notion database, updating with each event' or create this in your portal.
  • 3Select 'Calendar Event Sync' as your trigger (polling-based for full data).
  • 4Create or specify a Notion database with columns for event name, time, attendees, and description.
  • 5Test by creating a calendar event and watching it appear in your Notion database within minutes.

Questions about this workflow

How often does the sync run?

This polling trigger runs periodically (typically every 15-30 minutes). Tell Notis your frequency preference.

What about old events? Will it sync my entire calendar history?

It depends on your prompt. You can sync only future events or include past events from a date range.

Can I connect calendar events to my Notion projects?

Yes. Tell Notis to add a relation field to your projects database so events link to related work.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Google Calendar logo

Google Calendar triggers

Notion logo

Notion actions

Attendee Response Changed

Polling trigger that fires when any attendee's RSVP changes to accepted, declined, or tentative. Returns attendee info and current status.

TriggerPolling

Add multiple content blocks (bulk, user-friendly)

Efficiently adds multiple standard content blocks to a notion page in a single api call with automatic markdown parsing. the 'content' field in notionrichtext blocks now automatically detects and parses markdown formatting including headers (# ## ###), bold (**text**), italic (*text*), strikethrough (~~text~~), inline code (`code`), links ([text](url)), and more. ideal for bulk content creation, ai agents, and replacing multiple individual add page content calls. supports automatic text formatting, content splitting, and up to 100 blocks per request.

ActionInstant

Event Canceled or Deleted

Triggers when a Google Calendar event is cancelled or deleted. Returns minimal data: event_id, summary (if available), and cancellation timestamp.

TriggerPolling

Add content to Notion page

Deprecated: appends a single content block to a notion page or a parent block (must be page, toggle, to-do, bulleted/numbered list, callout, or quote); invoke repeatedly to add multiple blocks.

ActionInstant

Event Starting Soon

Triggers when a calendar event is within a configured number of minutes from starting. Returns event details, time remaining, attendees, and join links when available.

TriggerPolling

Append complex blocks (advanced, full control)

Appends complex blocks with full notion block structure to a parent block or page. use for advanced scenarios requiring precise control: code blocks, tables, embeds, nested children within blocks, or when working with pre-built notion block objects. requires full notion api block schema - use add multiple page content for simpler content creation.

ActionInstant

Calendar Event Changes

**SOON TO BE DEPRECATED** - Use Calendar Event Sync (polling trigger) instead. Real-time webhook trigger for calendar event changes. Returns event metadata only. For full event data, use Calendar Event Sync (polling trigger).

TriggerInstant

Archive Notion Page

Archives (moves to trash) or unarchives (restores from trash) a specified notion page.

ActionInstant

Event Created

Polling trigger that fires when a new calendar event is created. Returns event ID, summary, start/end times, and organizer info.

TriggerPolling

Create comment

Adds a comment to a notion page (via `parent page id`) or to an existing discussion thread (via `discussion id`); cannot create new discussion threads on specific blocks (inline comments).

ActionInstant

Calendar Event Sync

Polling trigger that returns full event data including details, attendees, and metadata. For real-time notifications with basic info, use Calendar Event Changes (webhook).

TriggerPolling

Create Notion Database

Creates a new notion database as a subpage under a specified parent page with a defined properties schema; use this action exclusively for creating new databases.

ActionInstant

Event Updated

Triggers when an existing Google Calendar event is modified. Returns the event ID, change type, and the specific fields that changed with their previous and new values.

TriggerPolling

Create Notion page

Creates a new empty page in a notion workspace.

ActionInstant

Delete a block

Archives a notion block, page, or database using its id, which sets its 'archived' property to true (like moving to "trash" in the ui) and allows it to be restored later.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Google Calendar and Notion. Any combination from 985+ 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 Notion.