Keep Notion And Hubspot Deals In Sync Automatically

Edit a deal once in Notion, and it updates instantly in Hubspot. Stop making the same change twice and losing track of which tool has the truth.

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.

Hubspot logo

Action

Batch update quotes

Updates multiple existing hubspot quotes in a batch; each quote is identified by its object id or a custom unique property (via `idproperty`), and only writable properties are modified.

Why this helps

You update deal progress in Notion but forget to update Hubspot, or you update one and not the other. This splits your source of truth and makes your pipeline unreliable.

  • Single source of truth for deal progress
  • Automatic updates eliminate manual re-entry
  • Accurate sales pipeline without context-switching
  • Real-time visibility into deal movement
  • Catch important changes instantly

Setup

Build it in a few focused steps.

  • 1Ensure Notion and Hubspot are connected to Notis
  • 2Create the automation: 'When deal properties change in my Notion database, update the matching Hubspot deals'
  • 3Specify which Notion database contains your deals
  • 4Choose your notification channel for sync confirmations
  • 5Test by updating a deal stage or value in Notion and verify the change appears in Hubspot immediately

Questions about this workflow

Will this work for custom deal fields I've added?

Yes. Tell Notis which custom fields matter to you in both Notion and Hubspot, and it will map them for you.

What if a field exists in one tool but not the other?

Notis will skip unmapped fields and sync only the properties that exist in both tools. You can adjust which fields to sync anytime by updating your automation.

How fast are the updates?

Typically within seconds. Notion has a brief aggregation window (around 60 seconds), so you might see a small delay, but the sync is automatic—no manual refresh needed.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Notion logo

Notion triggers

Hubspot logo

Hubspot actions

All Page Events

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

TriggerPolling

Add asset association

Associates an existing asset ('form', 'object list', or 'external web url') with a specified hubspot marketing campaign.

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

Add token to event template

Adds a new custom data token to an existing event template for a specified hubspot application, optionally populating a crm object property if objectpropertyname is provided.

ActionInstant

New Comment

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

TriggerPolling

Archive email

Archives the hubspot email specified by `emailid` by moving it to the recycling bin, making it inaccessible unless restored.

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

Archive a batch of emails by ID

Archives multiple hubspot crm emails by id; ids must exist as archiving is irreversible.

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

Archive a batch of quotes by id

Archives a batch of existing, non-archived quotes by their ids; this action is irreversible and useful for managing outdated or irrelevant quotes.

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

Archive batch of companies by id

Archives a batch of companies by their unique ids; targeted companies must exist, not be previously archived, and this api operation is irreversible.

ActionInstant

New Page

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

TriggerPolling

Archive batch of contacts by id

Archives a batch of existing contacts by their hubspot crm ids, rendering them inactive; this action is irreversible via the api and requires manual restoration or a separate unarchive endpoint.

ActionInstant

Page Added to Page

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

TriggerPolling

Archive batch of deals by id

Archives a batch of existing deals by their unique hubspot ids, removing them from active views and reports (soft delete); archived deals may be restorable.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Notion and Hubspot. 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 Hubspot.