Add inbound leads to Salesforce campaigns via webhook
Leads come through various channels—forms, partners, referrals—and you want them all tracked in Salesforce campaigns based on their source. Notis accepts a webhook and adds them automatically.
Trigger
Webhook received
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Action
Add lead to campaign
Adds a lead to a campaign by creating a campaignmember record, allowing you to track campaign engagement.
Why this helps
Inbound leads from multiple sources aren't being added to campaigns, leaving your engagement tracking incomplete and campaign ROI invisible.
- Leads from any external source are instantly added to tracking campaigns in Salesforce
- Campaign performance reflects all inbound channels, not just direct Salesforce entries
- Lead nurture workflows are automatically triggered
- One place to see all lead sources and engagement
Setup
Build it in a few focused steps.
- 1Connect Salesforce to Notis and ensure campaigns are set up for each lead source.
- 2Create an automation with the prompt: 'When I send a webhook with a lead's info and source, add them to the matching Salesforce campaign based on their source.'
- 3Select the trigger: Notis webhook.
- 4Configure your external lead sources (forms, APIs, partners) to POST to the webhook URL.
- 5Test by submitting a lead through each source and verifying they're added to the correct campaign.
Questions about this workflow
How does Notis know which campaign to add the lead to?
The webhook payload should include a source or campaign name. Notis matches it to your Salesforce campaigns.
What if the lead already exists in Salesforce?
Notis checks for duplicates and just adds the existing lead to the campaign instead of creating a duplicate.
Can I add a lead to multiple campaigns?
Yes. Specify multiple campaign names in your prompt or in the webhook payload, and Notis will add them to all.
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.
