Integrating Salesforce (SFDC) with Pursuit

Last updated: May 23, 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.


API-Only 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.

Step 1: Create & Configure the Integration User

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

Set up user

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

  2. Navigate to Users: Go to UsersUsers → 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 Right Permissions

  1. Create a Permission Set

    1. Go to SetupPermission Sets → Click New

    2. Label: Salesforce API Integration

    3. License: Salesforce API Integration

    4. Click Save

  2. In the Permission Set, open Object Settings and enable at minimum:

    1. Accounts: Read, Create, Edit, View All

    2. Contacts: Read, Create, Edit, View All

    3. Any Pursuit-specific custom objects (optional)

Assign the Permission Set to the Integration User

  1. Go to SetupUsers

  2. Click the name of the Salesforce Integration user

  3. Select the Salesforce API Integration permission set

SCR-20260523-bycm.png
  1. Find Approve Uninstalled Connected Apps and enable it

SCR-20260523-byow.png
  1. You'll receive a confirmation message from Salesforce once done

SCR-20260523-bywk.png

Step 2: Prepare Your Salesforce CRM

Before integrating, create the required custom properties in Salesforce to store Pursuit data. This ensures Salesforce can store Pursuit's unique identifiers and any additional data.

Create required fields

In Salesforce, go to Object ManagerAccountFields & Relationships, and create the following required custom fields:

Type these fields exactly as shown.

  • Fields are case-sensitive. The API name must be lowercase.

  • Do not change spacing, punctuation, or capitalization. Do not include prefixes or suffixes (e.g. pursuit_id_company)

  • If the names don’t match exactly, the Pursuit Salesforce sync will fail.

Entity Type

Field Label

API Name **

Field Length

Field Type

Validation

External ID

Account

Pursuit ID

pursuit_id

25

Text

Select "Unique" field

Select "True"

Contact

Pursuit ID

pursuit_id

25

Text

Select "Unique" field

Select "True"

** Note: Once you create the new fields, Salesforce will automatically append __c to the end of the newly added API names (e.g. You will type pursuit_id and Salesforce will update that to pursuit_id__c. This is expected and correct

A few important reminders:

  • Marking these fields as unique is important. It prevents duplicate Pursuit IDs and ensures one-to-one matching between Pursuit and your Salesforce records.

  • Once these required properties are created in Salesforce, do not delete them. Deleting these properties will cause errors, and Salesforce will not allow you to recreate them with the same configuration.

Create recommended fields

Pursuit can provide additional data about entities and contacts. You may want to create the following recommended fields to capture this information in Salesforce (to see the full list of data fields provided by Pursuit, see our 📄 Entity Fields Reference and 📄 Contact Fields Reference)

Field Type

Field Label

API Name

Field Type

Account

Pursuit URL

pursuit_url

URL

Account

Pursuit Parent ID

pursuit_parent_id

String, Textarea

Contact

Pursuit URL

pursuit_url

URL

Contact

Confidence Score

confidence_score

Number

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 API-Only 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 the 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

SCR-20260523-bxhe.png
  1. Look for the banner at the top to confirm you are logged in as the Integration User

SCR-20260523-cacz.png

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 ( SettingsIntegrations )

  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 to log in using the API-Only 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.

sfdc.png

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.

sfdc2.png

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.