Automatically track all Notion property changes in BigQuery
Stop asking 'what changed?' in Notion. Each time a property is updated, Notis logs the old value, new value, timestamp, and user to BigQuery so you have a complete change history.
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
Query
Query tool will run a sql query in bigquery. note: make sure the query being input in a single line format. for example, select * from sample dataset.sample table where column name = 'value'
Why this helps
Status changes, deadline shifts, and custom field updates in Notion vanish without a trace. You can't query what changed, when it changed, or who changed it without manually reviewing pages.
- Complete change history for every field in Notion without reviewing pages manually
- Query status transitions, deadline shifts, and custom field patterns
- Detect who updates what and when for accountability
- Build dashboards on property change velocity
Setup
Build it in a few focused steps.
- 1Connect Notion to Notis via the portal.
- 2Connect Google BigQuery to Notis.
- 3Tell Notis: 'When a Notion page property changes, log the page ID, property name, old value, new value, timestamp, and the user who made the change to BigQuery.'
- 4Select 'Page Properties Updated' as the trigger.
- 5Pick your reporting channel for automation run notifications.
- 6Test by updating a property in Notion (e.g., changing a status) and confirming the record appears in BigQuery.
Questions about this workflow
Does this work for custom properties or just built-in fields?
Both. Notion sends property change events for all fields including custom properties. Notis logs whichever ones are in the event.
Will it log bulk updates when a column is added?
Yes. When you add a column to a Notion database, it fires a property update for each existing row. Notis captures all of them.
Can I filter to specific properties or databases?
Notis can scope the trigger to a specific database or even individual properties via your setup prompt.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Notion to Google BigQuery. A trigger fires from one place; an action lands in another.
Notion triggers
Google BigQuery actions
All Page Events
Triggers when any Notion page is created or updated across the workspace.
Query
Query tool will run a sql query in bigquery. note: make sure the query being input in a single line format. for example, select * from sample dataset.sample table where column name = 'value'
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.
New Comment
Triggers when a new comment is added to a specified Notion block or page.
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.
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.
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.
New Page
Triggers when a new page is added to a Notion database.
Page Added to Page
Fires when a new subpage (a `child_page` type block) is added under a specified parent Notion page.
Connect any two apps with Notis in the middle.
Not just Notion and Google BigQuery. 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 BigQuery.