Add products to Salesforce opportunities when Notion deals change
You track what's in a deal using Notion (e.g., 'Product A and B, $50k total') but the Salesforce opportunity is just a total with no line items. Notis breaks it down automatically, so you have a complete view.
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
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.
Why this helps
Salesforce opportunities lack line item detail because you don't have time to manually add products—Notis does it for you.
- Opportunity line items in Salesforce match the products tracked in Notion
- Your forecast includes accurate deal composition, not just totals
- Quoting and revenue recognition are automated and accurate
- Less manual data entry in Salesforce
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 in Notion and list the products (e.g., Product A, Product B), add those products as line items to the matching Salesforce opportunity.'
- 3Select the trigger: Notion page properties updated.
- 4Choose your notification channel.
- 5Test by updating a deal in Notion to include specific products and verify they appear as line items in Salesforce.
Questions about this workflow
How does Notis know which products to add?
Notis reads your Notion page and extracts product names or SKUs. It matches them to products in your Salesforce pricebook.
What if the product isn't in the pricebook?
Notis will notify you that the product doesn't exist and skip that line item. You can add it to the pricebook and Notis will try again.
Can Notis set quantity and pricing?
Yes. If your Notion page includes quantity or custom pricing, Notis will apply it to the line item. You can also specify pricing in the automation prompt.
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 triggers
Salesforce actions
All Page Events
Triggers when any Notion page is created or updated across the workspace.
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.
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.
Add contact to campaign
Adds a contact to a campaign by creating a campaignmember record, allowing you to track campaign engagement.
New Comment
Triggers when a new comment is added to a specified Notion block or page.
Add lead to campaign
Adds a lead to a campaign by creating a campaignmember record, allowing you to track campaign engagement.
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.
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.
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.
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.
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.
Associate contact to account
Associates a contact with an account by updating the contact's accountid field.
New Page
Triggers when a new page is added to a Notion database.
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.
Page Added to Page
Fires when a new subpage (a `child_page` type block) is added under a specified parent Notion page.
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.
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.
