Update Hubspot Contacts Automatically When Notion Changes

Edit a contact's info in Notion and it instantly updates in Hubspot. Single entry, two tools in sync, no manual updates needed.

Trigger

Page Content Updated

Triggers when the body content of a Notion page is 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 page content edit in the workspace the integration has access to. Notion aggregates content edits within a short window (~60s typical).

Hubspot logo

Action

Create batch of contacts

Creates up to 100 new contact records in hubspot crm, optionally associating them with existing crm objects; ensure associated object ids are valid.

Why this helps

You update a contact's phone or email in Notion but forget to update Hubspot, creating mismatched records. You spend time hunting for the latest version of the truth.

  • Always accurate contact records
  • Single entry point for contact updates
  • No more mismatched data
  • Reduced manual data maintenance
  • Real-time sync across tools

Setup

Build it in a few focused steps.

  • 1Ensure Notion and Hubspot are connected to Notis
  • 2Create the automation: 'When contact information is updated in my Notion database, sync those changes to Hubspot'
  • 3Specify your Notion contacts database or page
  • 4Choose your notification channel
  • 5Test by updating a contact detail in Notion and confirm it appears in Hubspot immediately

Questions about this workflow

Does this work for all contact fields?

Yes. Name, email, phone, custom fields—Notis will sync any property that exists in both Notion and Hubspot.

What if I edit a contact in both tools at the same time?

Notion will be treated as the source of truth. Hubspot updates with Notion's version. If you need a different conflict resolution, let Notis know when setting up.

Can I choose which fields to sync?

Yes. Tell Notis which fields matter most (e.g., 'only sync phone and email, not notes') and it will respect your preferences.

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.