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).
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 triggers
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.
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.
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.
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.
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.
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.
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).
Archive Notion Page
Archives (moves to trash) or unarchives (restores from trash) a specified notion page.
Event Created
Polling trigger that fires when a new calendar event is created. Returns event ID, summary, start/end times, and organizer info.
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).
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).
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.
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.
Create Notion page
Creates a new empty page in a notion workspace.
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.
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.
