Integrating Salesforce (SFDC) with Pursuit

Last updated: September 28, 2026

Introduction

This guide provides step-by-step instructions to integrate Pursuit with Salesforce (SFDC). By following this guide, you'll prepare your Salesforce CRM with the necessary fields, connect Salesforce to Pursuit, and configure the integration settings.


Step 1: Install the Managed Package

Prerequisite: You must be a Salesforce System Administrator, and have at least one unused integration user license.

Why use a Managed Package?

The Pursuit Managed Package automatically sets up the custom fields and permission sets necessary for a seamless integration.

Set up the managed package

  1. Log in to the Salesforce org where you want to install Pursuit.

  2. In your browser's address bar, keep everything up to and including .my.salesforce.com, and replace the rest with /packaging/installPackage.apexp?p0=04tfj000000SlQbAAK.

    For example: https://acme--uat.sandbox.my.salesforce.com/packaging/installPackage.apexp?p0=04tfj000000SlQbAAK

  3. Once you're asked to Install Pursuit, leave Install for Admins Only selected (the default) and check the box acknowledging that you're installing a Non-Salesforce application.

  4. Click Done.

Step 2: Create & Configure the Integration User

Why use a dedicated API-Only integration user?

  • No additional cost: Most Enterprise, Unlimited, and Performance orgs receive five free “Salesforce Integration” user licenses (Developer orgs get one).

  • Security: The “API Only” profile blocks browser log-ins and lets you grant only the objects and fields your integration needs. This limits blast-radius and simplifies compliance.

  • Clean audit trail & rollback: All Pursuit traffic originates from one user, so you can isolate, monitor, and roll back changes quickly if something goes wrong.

Set up the integration user

  1. Open Salesforce Setup: Click the Gear icon (⚙) → Setup

  2. Navigate to Users: Go to Users → Users → Click New User

    1. Fill in required fields

    2. User License: Select Salesforce Integration

      1. If it’s not available, all free integration licenses may already be in use

    3. Profile: Select Salesforce API Only System Integrations

      1. In newer orgs this may be: Minimum Access – API Only

  3. Save

    1. Note: UI login is blocked for API-only users

Grant the integration user necessary permissions

  1. Go back to Setup → Users

  2. Click the name of the Salesforce Integration user

  3. At the top of that page, hover Permission Set Assignments and click Edit Assignments in the popover that appears.

  4. In the Available Permission Sets list, use CTRL or CMD click to select both the Pursuit Integration and Pursuit Owner Sync permission sets created by the managed package. Click the Right arrow to add them to the integration user permission set list, then click Save.

Step 3: Connect Salesforce and Pursuit

With your Salesforce fields and data ready, the next step is to establish the connection between Pursuit and Salesforce.

Sign into the integration user from Salesforce

Follow these steps prior to initiating the connection in Pursuit to ensure you are connecting to the integration user.

  1. In Salesforce Setup, Navigate to Users

    1. Go to Users

    2. Find the integration user you just created

    3. Click on Integration User to open the profile page for that user

  2. Click on Login on the Integration user profile page to log into the API-Only Integration User

    Integration User detail page with the Login button highlighted
  3. Look for the banner at the top to confirm you are logged in as the Integration User

This will now ensure that when you initiate the connection from the Pursuit integrations tab, that you will connect to SFDC using the Integration User (with appropriate permissions) rather than your own personal admin account.

Initiate the connection in Pursuit

  1. Log in to the Pursuit platform

  2. Navigate to the Integrations section ( Settings → Integrations )

  3. Click Connect to Salesforce

    1. This will redirect you to a Salesforce authorization screen.

  4. Authorize Pursuit

    1. In the Salesforce login/authorization window you will now be able to log in using the integration user

  5. Confirmation: After granting access, you will be returned to Pursuit. The connection is now established.

Note: Pursuit uses OAuth for a secure connection and does not see or store your Salesforce username/password.

Step 4: Set Export Limits

Configure export limits for your CRM integration.

Record Export Limit

Set the maximum number of records that non-admin users can export to Salesforce at one time.

  • Unlimited: Allows non-admin users to export all available records.

  • Custom Limit: Enter a specific number to restrict how many records can be exported in a single action.

Tip: Use export limits to manage data flow and prevent accidental large exports by non-admin users.

Step 5: Schedule Syncs

Pursuit can automatically and incrementally sync data with Salesforce on a schedule you define.

How to Set Up Your Sync Schedule

  1. Select Days: Choose which days of the week Pursuit should sync data with Salesforce. You can select one or multiple days (for example, Monday–Friday).

  2. Set the Time: Pick the time of day you want Pursuit to run the sync. The sync will start automatically at your chosen time.

  3. Confirm Your Timezone: Review the current timezone and update it if needed to match your team’s local or CRM timezone. This ensures syncs occur at the correct time each day.

  4. Save Changes: Once saved, Pursuit will automatically sync your data with Salesforce according to your configured schedule.

Tip: You can adjust your sync schedule anytime to match your team’s workflow or data update cadence.

Step 6: Configure the Integration

Once connected, you can configure what data flows from Pursuit to Salesforce and how it maps to your Salesforce fields.

  1. Start configuration: In the Pursuit app’s Integrations section, click the Salesforce Mapping button to set up the integration details.

  2. Map Pursuit fields to Salesforce fields: You will see a list of Pursuit data fields that can be synced. For each field, choose the corresponding Salesforce field to map it to. Key mappings to set:

    1. Contact Fields: Email address is used as the unique identifier. Pursuit will not create a duplicate contact if it finds a contact with the same email in Salesforce.

Map Pursuit ID (Pursuit) to Pursuit ID (Salesforce Contact field) – this ensures updates match the correct contact.

  • Map Confidence Score (Pursuit) to Confidence Score (Salesforce Contact field.)

  • Map any other contact-level fields you want (e.g., title, phone, etc.) that you want Pursuit to update in Salesforce. (Ensure each is mapped to the correct Salesforce Contact field.)

  • Entity Fields: Pursuit ID is used to identify the company. If a Pursuit ID isn’t found, you may also opt to match on an alternate ID like Power Almanac ID if available.

Map Pursuit ID (Pursuit) to Pursuit ID (Salesforce Account field) – this ensures updates match the correct account.

  1. Map any other entity-level fields you want (e.g., population, state, etc.) that you want Pursuit to update in Salesforce. (Ensure each is mapped to the correct Salesforce Account property.)

  2. Static Values (optional): Pursuit allows mapping of a constant static value to a field. For example, you could set a field like "Data Source" to always be "Pursuit" for all records updated by this integration.

  3. Set overwrite preferences: For each mapped field, decide if Pursuit should overwrite existing data in Salesforce:

    1. By default, Pursuit will only fill in a field if that field is empty in Salesforce (or provide new information). If you want Pursuit’s data to always replace whatever is in Salesforce for that field, enable the Hard Overwrite toggle for that field.

    2. Example: If you trust Pursuit to maintain the most up-to-date population count, you might turn on Hard Overwrite for the "Population" field so that it always updates to Pursuit’s latest data, even if you already had a value in Salesforce.

    3. We recommend leaving Hard Overwrite off for most fields initially, so that Pursuit adds missing data without overwriting your existing information unless it's new.

  4. Review settings: Once you’ve mapped fields and set your preferences, review the configuration summary. Double-check that all mappings are correct and the desired fields are set to overwrite or not.

  5. Save integration: Save the integration setup in Pursuit. Your Pursuit–Salesforce integration is now configured!

Step 7: Configure filter properties

Select the filters you want to import from your CRM to add to Pursuit’s existing filters. This allows you to filter Pursuit’s dataset by CRM properties directly within the Pursuit app (e.g., filter entities by your CRM field "Contact Owner").

In the Pursuit app’s Integrations section, click the Salesforce Mapping button and scroll down to Filter Properties to select the Salesforce properties you want to import.

  • Recommendations: you might want to filter Pursuit’s dataset by fields like "Lifecycle Stage" , "Customer", "Prospect", "Owner ID" or any custom flag from your Salesforce.

  • If you add filter properties, Pursuit will pull those field values from Salesforce on a regular basis (once a week or immediately after each export) and incorporate them into the Pursuit app’s filters.

Note: After enabling a new filter property, it may take some time (10+ minutes, depending on number of records) for Pursuit to sync all existing values. Once synced, you’ll see these filter options in your Pursuit dashboard, alongside Pursuit’s own filters.