Skip to content

Salesforce

Salesforce Requirements

  • A Scarf account with an Organization set-up and an active Premium Subscription.
  • A Salesforce account with API access; API access is included with Force.com, Enterprise, Developer, Performance, and Unlimited Editions. If you are on a different Salesforce plan, you may be required to purchase additional features to enable API access.
  • It is suggested that a dedicated Salesforce integration user be created (Salesforce documentation). However, any user account that has the necessary Salesforce permissions can be used to initiate the connection.

Required Permissions

  • Scarf:
    • Owner or Admin Permissions
  • Salesforce:
    • Permission to read the org ID in Salesforce
    • Permission to “view setup and configuration”
    • Read/write access to standard objects
    • Optional: Permissions to Create Fields on Account Records – this permission is not required for the CRM sync to function, but Scarf specific Fields must be created in the CRM instance for full metadata to be written.

Implementation Process

Connection and Authentication

  1. Login to Scarf as a user with Owner or Admin permissions.
  2. Navigate to Organization Settings -> Integrations.

Hubspot Salesforce Integrations Button

  1. Select Connect CRM Instance, confirm you want to sync companies and click Finish linking CRM.

Hubspot Salesforce Connect Button

  1. Click Salesforce from the Select integration menu.

Salesforce Select

  1. Review the presented data permissions, and click Next.

Salesforce Data Permissions

  1. When prompted, enter your Salesforce subdomain, and click Next.

Salesforce Subdomain

  1. You will now be prompted to log in to your Salesforce account.

Salesforce Login

  1. Once you enter your Salesforce credentials, Scarf will establish a connection with your Salesforce instance.

Salesforce Success

Synchronization Frequency

Scarf syncs with your CRM daily. Upstream CRMs enforce per-minute rate limits per connected instance, so CRM sync jobs can take several hours to complete each day. Because of this, we do not recommend relying on any specific account being synced at a particular time on a given day. Manual Company matches are queued for the next daily sync cycle.

Configuring the Connection

Once the CRM connection has been initialized, the Integrations menu will add three configuration options:

Enable Scarf to connect Insights to this CRM Toggling this to off will temporarily disable the CRM integration. While off, no reading or writing will be attempted until the toggle is switched back on.

Auto-match to known Accounts from Scarf With the integration enabled, you have the option to set Scarf to use text pattern matching to pair existing CRM Accounts with surfaced Scarf Companies. If the setting is off, then all mapping will be performed manually.

Auto-sync
When enabled, Auto-Sync ensures that any Scarf Company matched to a CRM Account is automatically included in the next sync cycle. While off, matched companies will not be included in the sync unless manually triggered.

Automatically create new Accounts in your CRM You also have the option to set Scarf to attempt to create a new Account record in your CRM when the sync process encounters a Company without a match in the CRM. This will include historical matches as well as any newly surfaced companies.

Salesforce Configuration

NOTE: By default, all options will be turned on except for Auto-Sync, which will be off. Since Auto-Sync automatically creates records, it is disabled by default to prevent unintended data updates. Users can enable it manually once they have reviewed their setup.

Scarf Field Configuration

The basic CRM connection allows you to pair Scarf Surfaced Companies with Account records in Salesforce, and optionally to create new Account records when Company Matches are surfaced. In addition to account records, Scarf will attempt to publish metrics to the CRM Account record if a matching Field is found on the account. If no matching Fields are found on an Account Object, Scarf will not update the record. The Fields Scarf will attempt to publish are enumerated here:

Field Label (suggested) Field Name (required) Field Type Description
Scarf Company Scarf_company_name__c string Company name as determined by Scarf Enrichment
Scarf Domain Scarf_company_domain__c string Primary internet domain of the company
Scarf First Seen Scarf_first_seen__c date Date of the first event Scarf observed for this company
Scarf Last Seen Scarf_last_seen__c date Date of the most recent event Scarf observed for this company
Scarf Last Updated Scarf_last_updated__c datetime Timestamp of the most recent Scarf sync update written for this company record. Use this to identify stale Salesforce records, and note that it changes when Scarf writes refreshed company metadata, not just when event totals change.
Scarf Funnel Stage Scarf_funnel_stage__c string Current adoption funnel stage of the company
Scarf Total Events Scarf_total_events_last_30_days__c number Total observed events in the last 30 days
Scarf Total Uniques Scarf_total_unique_sources_last_30_days__c number Unique observed event sources (endpoints) in the last 30 days
Scarf Events MoM Scarf_total_events_MoM__c number Change in total events over the previous month
Scarf Events WoW Scarf_total_events_WoW__c number Change in total events over the previous week
Scarf Sources MoM Scarf_total_unique_sources_MoM__c number Change in unique sources over the previous month
Scarf Sources WoW Scarf_total_unique_sources_WoW__c number Change in unique sources over the previous week

Per-package and per-pixel breakdown

The fields above total a company's activity across everything you publish. The fields below break that total down by individual package and by individual tracking pixel, so you can see which of your packages an account is downloading and which of your pages it is viewing.

Packages and pixels are reported separately and ranked independently, each by total events over the last 30 days. Slots are filled only as far as an account's activity reaches: a company that downloaded two packages fills the first two package slots and leaves the third empty.

Field Label (suggested) Field Name (required) Field Type Description
Scarf Top Package 1 Scarf_top_package_1_name__c string Package with the most observed events in the last 30 days
Scarf Top Package 1 Events Scarf_top_package_1_events__c number Observed events for that package in the last 30 days
Scarf Top Package 1 Sources Scarf_top_package_1_unique_sources__c number Unique observed event sources for that package in the last 30 days
Scarf Top Package 2 Scarf_top_package_2_name__c string Package with the second most observed events in the last 30 days
Scarf Top Package 2 Events Scarf_top_package_2_events__c number Observed events for that package in the last 30 days
Scarf Top Package 2 Sources Scarf_top_package_2_unique_sources__c number Unique observed event sources for that package in the last 30 days
Scarf Top Package 3 Scarf_top_package_3_name__c string Package with the third most observed events in the last 30 days
Scarf Top Package 3 Events Scarf_top_package_3_events__c number Observed events for that package in the last 30 days
Scarf Top Package 3 Sources Scarf_top_package_3_unique_sources__c number Unique observed event sources for that package in the last 30 days
Scarf Package Breakdown Scarf_package_breakdown__c string Every package for this company, ordered by events, as name: N events, M sources; ...
Scarf Top Pixel 1 Scarf_top_pixel_1_name__c string Tracking pixel with the most observed events in the last 30 days
Scarf Top Pixel 1 Events Scarf_top_pixel_1_events__c number Observed events for that pixel in the last 30 days
Scarf Top Pixel 1 Sources Scarf_top_pixel_1_unique_sources__c number Unique observed event sources for that pixel in the last 30 days
Scarf Top Pixel 2 Scarf_top_pixel_2_name__c string Tracking pixel with the second most observed events in the last 30 days
Scarf Top Pixel 2 Events Scarf_top_pixel_2_events__c number Observed events for that pixel in the last 30 days
Scarf Top Pixel 2 Sources Scarf_top_pixel_2_unique_sources__c number Unique observed event sources for that pixel in the last 30 days
Scarf Top Pixel 3 Scarf_top_pixel_3_name__c string Tracking pixel with the third most observed events in the last 30 days
Scarf Top Pixel 3 Events Scarf_top_pixel_3_events__c number Observed events for that pixel in the last 30 days
Scarf Top Pixel 3 Sources Scarf_top_pixel_3_unique_sources__c number Unique observed event sources for that pixel in the last 30 days
Scarf Pixel Breakdown Scarf_pixel_breakdown__c string Every tracking pixel for this company, ordered by events, as name: N events, M sources; ...

Each field is independent, so create only the ones you intend to use:

  • The numbered slots are ordinary Salesforce fields, so they can be filtered, reported on, and used in list views. Most companies engage with only one or two packages, so the first slot alone often carries the signal you want.
  • The two breakdown fields hold the complete list rather than only the top three, which makes them suited to reading on the account page rather than to reporting. Create them as Text Area (Long), because the value can exceed the 255 character limit of a Text field.
  • Create pixel fields only if you publish tracking pixels, and package fields only if you publish packages. A field you have not created is skipped entirely, so partial setups are fine.
  • A field you have created but for which a company has no activity is cleared on each sync rather than left at its previous value. This keeps a slot from showing last month's package after a company stops using it, so avoid writing your own data into these fields.

For a detailed guide on how to make the most of your Salesforce integration, check out our Salesforce Integration Playbook. It walks you through configuring the connection, matching and syncing companies.