Salesforce Integration

This integration is available for the Enterprise plan only.


The Salesforce integration in Userpilot facilitates the seamless exchange of event data. Users can transmit Userpilot events to Salesforce and update attributes created on Salesforce within Userpilot. This integration empowers users to send checklists, flows, surveys, NPS, forms, feature tags, and button-tracked events to Salesforce. Additionally, it enables the viewing them under contact or lead profiles. Automate workflows and send emails based on interactions with Userpilot content, and personalize onboarding content in Userpilot using attributes from Salesforce data.

Use Cases

  1. Send Userpilot Events to Salesforce
    • Trigger emails from Salesforce based on user interactions with Userpilot content.
    • Display Userpilot events in the Activity tab of Contacts and Leads
    • Pass NPS scores and feedback from Userpilot to Salesforce, facilitating more effective customer outreach and sending Userpilot events to Salesforce to identify customers for targeted initiatives.
    • Enhance automation of workflows and profile details viewing.

  2. Send Salesforce Attributes to Userpilot
    • Enhance options for segmenting and filtering data in Userpilot.
    • Customize onboarding content in Userpilot using attributes retrieved from Salesforce data.
    • Update attributes created on Salesforce to Userpilot.


  1. A Userpilot Enterprise Account
  2. A Salesforce Plan with API Access: Enterprise Edition, Unlimited Edition, Developer Edition, 

Sandbox Edition. You can refer to their plans with API access here.

  1. The user connecting the integration must have the following permissions on Salesforce:

Object Name Object Permission
Object Settings Accounts, Contacts , Leads Read, View All
System Permissions
API Enabled, Download AppExchange Packages(Only used to check if package is installed)

What events do we send?

Flow, Checklist, Feature Tag and Button tracked events are listed under the event name "Userpilot Interaction"

The following events can be sent to Salesforce:

- Flows: The name and ID of the flow, the event Completed, Started, and Dismissed.

- Checklists: The name and ID, the event Completed, Started, Dismissed

- NPS: Score, Dismissed, Feedback

- Surveys: Survey name, Question, Question Type and Answer.

- Forms: Submitted

- Feature Tags: Click, Hover, Text Input

- Button Tracked Events: Tracked through the button action settings in a flow

How to Setup the Integration

  1. Navigate to the integrations page and click on the "Salesforce" integration.
  2. Select if you would like to connect Userpilot to the Production or Sandbox

  1. You will be navigated to Salesforce to install the package

  1. Approve Third-Party Access

If this step is skipped you will see an error in Userpilot that the integration will not work without installing the package.

All done! Now you can set up the mapping in Userpilot.

Navigate back to Userpilot and you will find the integration enabled, click on it to configure the integration and follow the steps below:

  1. Select your Data Direction: Both ways, Salesforce to Userpilot, or Userpilot to Salesforce.
  1. Map the user/company properties

User Mapping

Option A Unique ID: Select the Contact/Lead property in Salesforce that represents the User ID . This ID must match the unique user ID passed to Userpilot in the identify call.

Option B Email: Via a Salesforce email address. This email must match the email passed to Userpilot in the identify call.

Company Mapping (optional)

If you would like sync data with companies(Accounts) in Salesforce, select the company ID property.

This ID must match the company ID passed to Userpilot in the identify call.

  1. Configure the data or events that you would like to sync

You can send checklist events, flows, surveys, NPS, forms, feature tags, and button-tracked events to Salesforce.

Locating Events in Salesforce

Upon saving, you'll observe the events displayed under the app launcher icon within Salesforce. Simply initiate a search, such as for "NPS," and you'll subsequently access a list of all users who have engaged with the NPS feature.

Please be aware that there is no necessity to run the sync job manually more than once, as real-time syncing is also performed for non-synced users.

  • When a user performs an event from the selected events in the integration settings, we attempt to find them in Salesforce and sync them.
  • When a contact is created in Salesforce, we attempt to find them in Userpilot and sync them.
  • When a contact's property (one of the chosen properties in the settings) is changed in Salesforce, we attempt to find them in Userpilot and sync them.

Hence, it's rare that you would need to run the manual sync more than once. It is only necessary when you want to bulk-sync fully populated users/contacts for the first time.

Important notes to keep in mind

  • Users have to match between Userpilot & Salesforce for the integration to process data, If the ID mapping doesn’t exist (No UP/SF match), the users won’t be mapped to any Salesforce object and therefore no events will be sent to Salesforce for these users, also no properties will be received by Userpilot
  • The integration applies to both Salesforce leads and contacts. It will establish a one-to-one relation between Userpilot User and Salesforce Lead/Contact. If the lead was converted from lead->contact or the mapping matches for both lead and contact, we map the contact object
  • All events are pushed as activities by design so you can keep a full history of your contact/lead/account events

For any questions or support please reach out to

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.