Turn Notion deal updates into Salesforce opportunities

Your deal tracker in Notion and your Salesforce pipeline are the same thing. Stop duplicating effort—Notis watches your Notion deal updates and keeps Salesforce in sync.

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.

Salesforce logo

Action

Create opportunity

Creates a new opportunity in salesforce with the specified information.

Why this helps

You track deals in Notion but Salesforce forecasts are stale because you forget to log deal details there, leaving your managers guessing about pipeline health.

  • Deal updates in Notion instantly reflect in Salesforce opportunities
  • Your Salesforce forecast is always current, not a lagging report
  • Managers see real pipeline health without asking you for status updates
  • One source of truth reduces cognitive overhead of multiple systems

Setup

Build it in a few focused steps.

  • 1Connect Notion and Salesforce to Notis.
  • 2Create an automation with the prompt: 'When I update a deal's status or value in my Notion deals database, create or update the matching Salesforce opportunity with the same stage and amount.'
  • 3Select the trigger: Notion page properties updated.
  • 4Pick your notification channel.
  • 5Test by updating a deal in Notion (e.g., moving it to 'Negotiation' stage) and watch it sync to Salesforce.

Questions about this workflow

Can Notis update existing opportunities, or does it only create new ones?

Notis is smart about it. If an opportunity with the same name exists in Salesforce, it updates the existing one. Otherwise, it creates a new one.

What if the deal info in Notion uses different stage names than Salesforce?

You can train Notis in the prompt. For example, 'Map Negotiating in Notion to Negotiation/Review in Salesforce,' and Notis will translate it.

Does this work if my Notion deals database has custom fields?

Yes. Notis reads any Notion property (status, amount, timeline, risk level, etc.) and intelligently maps it to Salesforce opportunity fields or custom fields.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Notion logo

Notion triggers

Salesforce logo

Salesforce actions

All Page Events

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

TriggerPolling

Create Salesforce Account

Deprecated: creates a new salesforce account using a json post request, requiring 'name'; specific fields (e.g., custom, dunsnumber) may have org-level prerequisites.

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 contact to campaign

Adds a contact to a campaign by creating a campaignmember record, allowing you to track campaign engagement.

ActionInstant

New Comment

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

TriggerPolling

Add lead to campaign

Adds a lead to a campaign by creating a campaignmember record, allowing you to track campaign engagement.

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

Add product to opportunity

Adds a product (line item) to an opportunity. the product must exist in a pricebook entry that's associated with the opportunity's pricebook.

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

Apply lead assignment rules

Applies configured lead assignment rules to a specific lead, automatically routing it to the appropriate owner based on your organization's rules.

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

Associate contact to account

Associates a contact with an account by updating the contact's accountid field.

ActionInstant

New Page

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

TriggerPolling

Clone opportunity with products

Clones an opportunity and optionally its products (line items). creates a new opportunity with the same field values and products as the original.

ActionInstant

Page Added to Page

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

TriggerPolling

Clone record

Creates a copy of an existing salesforce record by reading its data, removing system fields, and creating a new record. optionally apply field updates to the clone.

ActionInstant

Connect any two apps with Notis in the middle.

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