Skip to main content
This integration is included within the Enterprise plan and is available as an Add On for Growth plans.
The Userpilot–Salesforce integration allows you to seamlessly connect in-app product engagement data with your Salesforce CRM. By syncing key user and company attributes, measured properties, custom events, and user actions from Userpilot into Salesforce, teams can enrich CRM records, automate workflows, and gain a unified view of the customer journey across product, sales, and customer success.

Use Cases

  • Enrich Salesforce records with product usage data – Sync Userpilot user and company properties into Salesforce so Sales, Marketing, and Customer Success teams can make decisions based on real in-app behavior.
  • Trigger Salesforce automations based on real user actions – When users complete onboarding checklists, engage with features, or reach activation milestones, automatically trigger Salesforce workflows, alerts, or follow-up tasks.
  • Personalize in-app experiences using Salesforce data – Use Salesforce attributes (e.g. account status, lifecycle stage, plan type, renewal date) to target Userpilot flows, checklists, and campaigns more precisely.
  • Align Product, Sales, and Customer Success around a single customer view – Combine behavioral data from Userpilot with CRM data in Salesforce to improve health scoring, lifecycle messaging, and expansion discovery.

Getting started with the Salesforce integration

To begin setting up your Salesforce integration, navigate to the Integrations page from the Settings icon in the navigation header and click on the Salesforce integration tile. Image(34) You’ll then be prompted to authenticate with the Salesforce account you’d like to connect to Userpilot. KB Salesforce(1)

1. Connection overview

Toggle “Send and receive staging data only” if you’d like to test your integration setup before syncing any production data. This is useful for validating mappings, testing property syncs, and ensuring workflows behave as expected without impacting live Salesforce records.

2. Mapping setup

Accurate mapping ensures Userpilot users and companies sync correctly with the appropriate Salesforce objects.
  1. Select the Salesforce objects you want to map Userpilot Users and Companies to (e.g. Leads, Contacts, Accounts).
  2. Choose the corresponding Userpilot property and Salesforce field used to match records between both systems.
These values must be identical in both platforms for proper matching. Recommended: Use email for user-level mapping whenever possible, as it provides the most reliable identifier. Image(35)

3. Salesforce to Userpilot

Select the user and company properties from Salesforce that you want to sync into Userpilot.
  • Properties automatically update in Userpilot every 5 minutes
  • Changes in Salesforce are reflected quickly in Userpilot segmentation and targeting
Once synced, these properties are available:
  • On the Users and Companies dashboards
  • In Data Management, under the relevant property categories
This allows you to use Salesforce data—such as account status, owner, lifecycle stage, or custom fields—directly inside Userpilot for segmentation and personalization. Image(36)

4. Userpilot to Salesforce

Userpilot can send a range of user, company, and activity data into Salesforce to enrich CRM records and power automations.
⚠️ Important Note: Before you can run an outbound sync from Userpilot to Salesforce, you must first complete an inbound sync from Salesforce to Userpilot. The inbound sync populates your Userpilot resources with the required object type and resource ID fields (__salesforce__object_type and __salesforce__user_id/__salesforce__company_id) that are necessary for outbound syncs to work. Without these fields, your outbound sync will process 0 records.
Custom Properties - Choose the user and company custom properties that you would like to send from Userpilot to Salesforce for CRM enrichment. These mapped properties will update every 5 minutes and only properties that have changed since the previous sync will be sent—ensuring efficient, up-to-date record management inside Salesforce. Auto & Measured Properties - Choose the user and company auto properties that you would like to send from Userpilot to Salesforce. These properties will be updated on a daily basis and will show data from the specified ‘Measured period’ chosen.

Measured Properties: Time Spent on Application

Measured properties like time spent on application are stored as integers representing the total number of seconds. Example: 9000 seconds = 150 minutes = 2.5 hours Conversions:
  • Minutes: seconds ÷ 60
  • Hours: seconds ÷ 3600
  • Days: seconds ÷ 86400
Map this property to a Number field type in Salesforce.

Date and DateTime Data Types

Date Type:
  • Format: YYYY-MM-DD (e.g., "2024-01-15")
  • Salesforce field type: Date
DateTime Type:
  • Format: YYYY-MM-DDTHH:mm:ssZ in UTC (e.g., "2024-01-15T10:30:00Z")
  • Salesforce field type: DateTime
  • Note: Salesforce stores datetime in UTC
Examples: signup_date (Date), last_seen (DateTime), created_at (DateTime) Userpilot activity - Streams Userpilot user activity to Salesforce instantly as they occur. Perfect for tracking engagement, triggering workflows, and maintaining real-time visibility into user and company behavior across both platforms. The following activity types can be sent to Salesforce:
  • Feature tags: Event has occurred
  • Tracked events: Event has occurred
  • Labeled events: Event has occurred
  • Tagged pages: Page viewed
  • Checklists: Seen, Completed, Dismissed
  • Flows: Seen, Completed, Dismissed
  • Mobile content: Seen, Completed, Dismissed
  • NPS: Ask Later, Feedback
  • Surveys: Seen, Submitted, Dismissed
  • Forms: Submitted
Image(37)

5. Review and test

Before enabling production sync, review your Salesforce integration setup carefully. Testing the sync allows you to see how selected users will be mapped in the integration and call out if the mapping has failed. This gives you a clear idea of what will happen before running the full sync for all your users. Image(38)
Testing sync will use the form fields in the set-up and provide a read only preview state - nothing will be changed or synced.

6. Sync data

You can manually trigger a sync at any time to immediately push the latest Userpilot data to Salesforce. This is useful for testing, resolving discrepancies, or urgent updates. You can also enable sync notifications to receive alerts if a sync fails or encounters errors—helping you maintain reliable, up-to-date CRM data.

Viewing data in Salesforce

Once Userpilot is integrated with Salesforce, you can access Userpilot events directly within your Salesforce environment. These events are stored under the Userpilot Events object. To find them, navigate to:
  1. Salesforce Dashboard → Click on the App Launcher (grid icon in the top-left).
  2. Search for Userpilot Events and open the object.
  3. Here, you will see all events sent from Userpilot, including flow completions, button clicks, and other user interactions.
Salesforce does not show custom objects by default. In order to view Userpilot custom objects in the Sales tab, you will need to manually configure them. Please refer to our guide on adding custom objects to Salesforce.

Creating Reports with Userpilot Data

To analyze Userpilot events within Salesforce reports:
  1. Go to Reports and click New Report.
  2. Select Userpilot Events as the data source.
  3. Customize the report by adding filters, grouping data by user attributes, and visualizing trends.
  4. Save and schedule reports to track user engagement over time.

FAQs

The integration does not sync past events—only new events are sent to Salesforce after the sync is enabled.
No, manual sync is only needed for the inbound manual sync of fully populated users/records. After that, data syncs in real time.
Userpilot automatically syncs data in these cases:
  • A user triggers an event selected in the integration settings.
  • A new record is created in Salesforce.
  • A mapped record property is updated in Salesforce.
Note: Users must exist in both Userpilot and Salesforce to sync. Userpilot does not create new users in Salesforce.
No, if you are on version 2 of the integration, you do not need to re-run the mapping. Our poll strategy will automatically detect changes to the mapping values and will map the external resource to your internal resource automatically.Example: If you initially mapped a Userpilot user to a Salesforce contact using an email address, and later that contact’s email is updated in Salesforce, the integration will automatically detect this change during the next poll cycle and update the mapping accordingly—no manual re-mapping required.