Prerequisites and Considerations
Review the following prerequisites and considerations before you connect and configure the integration.
Salesforce REST API Requirement
The Salesforce Rest API is required for the ZoomInfo integration with Salesforce to function. The REST API is included with Force.com, Enterprise, Developer, Performance, and Unlimited Editions. If you have any other version of Salesforce (e.g., Professional), you’ll need to purchase access to the REST API.
Permissions
The following permissions are needed in Salesforce:
● Permission to read the org ID in Salesforce
● Permission to “view setup and configuration”
● Access to API
● Read/Edit access to the Account, Contact and Lead objects
● Read/Edit access to the Campaign and Campaign Member object
● Read access to the Opportunity object in Salesforce
● Read access to the User object in Salesforce
Salesforce Native Application
As a companion activity to the Salesforce integration configuration described in this document, you can further enhance your integration experience by also installing the ZoomInfo Salesforce Native Application.
Installing the Native App allows you to integrate ZoomInfo data directly within your Salesforce instance. With the Native App, your users can view records in Salesforce enhanced with ZoomInfo data, and enables your organization to benefit from ZoomInfo IDs, timestamps, and Salesforce dashboards without leaving
Salesforce.
See the Salesforce Native App Implementation Guide for details on how to download, install, and configure the Native App from the Salesforce AppExchange.
Implementation Overview
Here’s the flow for initial implementation:
Export Preference Connection Options
As the admin setting up the initial integration with Salesforce, you must configure how you connect to
Salesforce to support exports from ZoomInfo. This section describes your connection options and other
considerations.
You have two options:
Service Account Connection (Default)
The default (and preferred) option is to use a service account to connect your organization’s users.
A service account simplifies the onboarding process as your organization evolves and changes, and eliminates the need for your Support team to troubleshoot individual Salesforce connection issues for your users.
The Basics
● As a best practice, utilize a Salesforce integration user as described in the Salesforce documentation. However, any Salesforce user account that has the required Salesforce permissions as well as admin access in ZoomInfo can be used as the service account connection.
● All exports and Salesforce Filtering jobs will be run using this account.
● Other ZoomInfo admins and users will not need to connect to Salesforce using their own credentials.
● Assuming your org’s ZoomInfo user accounts match to Salesforce user accounts, exports will be associated with the user that made the export, including any applicable lead assignment rules you’ve configured in Salesforce.
Primary Connected Admin and Secondary Admins
Primary Connected Admin
● The ZoomInfo admin that makes the initial connection to Salesforce is considered the primary connected admin.
● Only the primary connected admin can disconnect the connection to Salesforce.
● Any other ZoomInfo admins defined in your organization can manage the configuration settings such as adjusting mapping, export settings, and filtering. However, these admins cannot directly disconnect the connection to Salesforce.
Secondary Admins
Any other ZoomInfo admins defined in your organization are considered a secondary admin. These admins:
● Can view the existing Salesforce integration configured for the org without connecting their own Salesforce account to Zoominfo.
● Can manage the configuration settings such as adjusting mapping, export settings, and filtering.
● Can disable all exports for users by toggling off the connections.
● Can switch the service account user by using the Change User option on the General Settings page for the integration (Service Account option only). Ensure the new service account user has the same set of Salesforce permissions as the previous user.
● Cannot directly disconnect the connection to Salesforce. However, a secondary admin can become the primary admin by using the Change User option on the General Settings page for the integration.
ZoomInfo and Salesforce User Account Mapping
It’s important that your ZoomInfo users map to Salesforce users to ensure proper record ownership assignment when using the Service Account connection option. This preserves ownership in Salesforce for net-new records exported from Zoominfo. We provide a simple UI for an admin to review this mapping on the integration settings page.
Record Ownership When Exporting Using a Service Account Connection
Here’s how record ownership logic is applied when exporting using the Service Account connection option.
If the exporting user’s email address in ZoomInfo is the same as their Salesforce user email address:
● ZoomInfo will automatically associate exports of net new records with the user that performed the export.
● The record owner for net new records exported will be set to the user account that performed the export.
● The Created By and Last Modified By value for each record will reflect the primary connected admin.
● If your organization has configured lead assignment rules in Salesforce, the logic described in Lead Assignment Rules applies. Note the following:
If the exporting user’s email address in ZoomInfo does not match their Salesforce user email address:
● The record Owner, Created By and Last Modified By fields will reflect the primary connected admin.
● If your organization has configured lead assignment rules in Salesforce, the logic described in Lead
Assignment Rules applies. Note the following:
● If this logic presents an issue for your organization, you can choose the Individual User Account Connections option instead. This will require your organization’s users to individually connect to Salesforce.
Individual User Account Connections
Select the User Account option and require each of your organization’s users to connect to be able to export.
● Ensure that your org’s users have the required permissions in Salesforce.
● You’ll still need to make the initial admin connection for the integration using Salesforce credentials.
Primary Connected Admin vs. Secondary Admins
The same functionality described in the Primary Admin and Secondary Admins apply to the User Account
option with the exceptions noted.
Required User Connections
To be able to export from ZoomInfo to Salesforce, each user must connect to Salesforce using their own credentials.
● Once you have enabled the integration for all users by clicking the toggle to the left of the integration in the Admin Portal, individual ZoomInfo users can connect to Salesforce.
● Admins should share the following link with users for instructions on how to connect to Salesforce.
Get Connected
1. Login to ZoomInfo and select Admin Portal from the waffle menu.
2. Click Integrations.
1. Find the Salesforce integration and click Connect.
2. Enter your Salesforce credentials.
Click Edit Settings on the success message to be directed to the General Settings page for the Salesforce integration.
3. Note that your ZoomInfo account is listed as the ZoomInfo Admin, the Service Account User is the account with which you connected the integration, and the Org URL reflects your Salesforce org
instance.
4. Decide whether you’ll use the default Service Account option, or change to the User Account option. If you select the User Account option, go to step 7.
a. Assuming you choose to use the default Service Account option, click Edit User Mapping.
The User Mapping page displays.
ZoomInfo attempts to map each ZoomInfo user to a corresponding Salesforce user using the ZoomInfo Email Address. If this is not successful, we attempt to match the ZoomInfo user using the user’s full name in Salesforce.
● Typically, you should see correct user mappings assuming your org’s users use the same email address for both ZoomInfo and Salesforce.
● If the Salesforce User field does not have a user selected, click the dropdown and select a user.
● If the Salesforce user field has multiple matches, choose the appropriate user.
b. If you’ve made updates to the User Mapping page, click Save Changes.
c. Continue to Configure Export Settings.
5. If you elect to use the User Account option, you’ve already connected to Salesforce and must finish configuring the integration (e.g., export settings, mapping, and Salesforce Filtering). Continue to Configure Export Settings.
Configure Export Settings
With your integration successfully connected (but not yet turned on for your organization), you can configure export preferences and limit the objects that can be exported.
1. From the General Settings page for the integration, select Edit settings.
2. Click the Export tab.
3. Select each object type you want your users to be able to export to Salesforce.
4. For each object type, set a maximum number of records a user can export to Salesforce at one time (up to 100,000).
5. Click Save Changes to apply the changes for all users in your org’s ZoomInfo instance.
API Consumption and Behavior
For exports of 25 records or less: Exporting 25 records or less leverages the Salesforce REST API.
For exports of 26 records or more (max 100,000): Exporting 26 or more records (max 100,000) requires Salesforce Bulk API access.
The following table models API consumption when your users export ZoomInfo records to Salesforce.
Important Native App consideration: Unlike the direct integration with Salesforce from the ZoomInfo platform, the Native App does not leverage the Salesforce Bulk API when performing exports. For this reason the export limit through the Native App is 5,000, not 100,000.
Lead Assignment Rules
For exports of 25 records or less: Exporting 25 or fewer records as leads, the lead assignment rules in your Salesforce system will be activated, but this only applies if new records are added to the system.
For exports of 26 records or more (max 100,000): Exporting 26 or more records as leads, the lead assignment rules in your Salesforce system will not be activated.
The following table illustrates how lead assignment rules are triggered when your users export ZoomInfo contacts to Salesforce as leads.
Account Association When Exporting Contacts
For the Contacts object, you have a few options in how account association logic is applied when your organization’s users export ZoomInfo contacts to Salesforce.
ZoomInfo recommends that you set account association options to “manual” (which is the default for all three options), and let the user determine the account association when exporting 26 or more contacts. Using these options:
● If an account does not exist, the user is asked to confirm the creation of the account. If confirmed, ZoomInfo will assign the contact to the newly created account.
● If only one account exists, the user is asked to confirm that they want to associate the contact with that account.
● If we match on multiple accounts, the user is asked to choose the account with which they want to associate the contact.
Configure Mapping
With your integration successfully connected (but not yet turned on for your organization), you can configure and customize mapping and optionally enable Scoops, Intent, and ZoomInfo Custom Object exports.
1. Click the Mapping tab.
Note: The gray fields shown above are only included if you’ve installed the Salesforce Nativ Application.
2. On the Mapping tab, use the Accounts, Contacts, and Leads tabs to review the default mappings for each object type and make any mapping changes.
Configure Scoops and Intent Exports
On the Mapping tab, you can export Scoops (at the account and lead level) to Salesforce.
You can also export Intent (at the account level only) to Salesforce.
ZoomInfo Custom Object Export requires that you’ve installed the Salesforce Native Application (version 1.22 or higher). Two custom objects are available in Salesforce:
These custom objects are related objects on the account, contact, or lead record. You can customize the fields that you want to show or hide, such as create date, description, topic, Scoop ID, and so on.
Add or Remove Fields
Add fields by clicking Add Field at the bottom of the field list. Each field that you add must be mapped to a corresponding field in your integration. Click the trash icon to remove any fields that you do not want to map.
Set a Hierarchy for ZoomInfo Data Within a Single Salesforce Field
In some cases, you may want multiple ZoomInfo fields to be stacked hierarchically within a single Salesforce field.
For example, you may want to import both the ZoomInfo Direct Phone and Company Phone fields into the Salesforce Business Phone field.
1. Map Direct Phone to Business Phone.
2. Map Company Phone to Business Phone.
The first occurrence of the Business Phone field is denoted with number 1, and the second with number 2.
Field hierarchy allows for both first and second choice values for selected Salesforce properties. For exported records where more than one data point is available from ZoomInfo (such as phone numbers) you can prioritize the data by preference within your mapping.
Test and Save
Before saving your mapping changes, click Test Mapping to export and delete a test record using your current settings.
● If the test record cannot be created, this is typically due to an error in the mapping settings. For example, mappings cannot be saved with a blank field.
Adjust the settings and click Test Mapping again.
● If the test is successful, a notification displays.
After performing a successful test mapping, click Save Changes.
● If the mappings are not set correctly, an error notification displays indicating the adjustments needed.
Remove any unfilled rows and click Save Changes again.
● If mappings are correctly configured, a success notification displays.
Salesforce Advanced Sync (ZoomInfo Copilot)
ZoomInfo Copilot utilizes your Salesforce object data and third-party signals to provide timely insights for your go-to-market team. If you are connecting the Salesforce integration with ZoomInfo Copilot, the Import tab includes Advanced Sync, which is enabled by default.
Advanced Sync allows ZoomInfo to import and analyze information about your team and prospects/customers from Salesforce. This sync is required to deliver auto-configurations of ZoomInfo settings and tailored recommendations to enhance your team’s productivity.
For the optimum Copilot user experience, it’s crucial that ZoomInfo Copilot has read access to all fields for the specified objects.
User Experience
Here are some of the enhancements delivered when Advanced Sync is enabled for your Salesforce integration with ZoomInfo Copilot:
Advanced Sync Object Access
For the optimal experience, Advanced Sync should have read access to the following Salesforce. Advanced Sync will only import objects to which the connected integration user has read access.
For each Salesforce object, ZoomInfo will import all fields within that object to which the connected user has access. This data is stored in our secure database. ZoomInfo stores both matched and non-matched data from these Salesforce objects and fields.
Impact on Existing Salesforce Filtering Configuration
If you’ve previously set up Salesforce Filtering, the feature’s functionality will be uninterrupted. We’ll continue to let your users filter in Advanced Search based on the Salesforce Filtering settings.
When Advanced Sync is enabled, the sync already includes all fields within these objects. Our aim is to steer you toward the “optimal setting,” guaranteeing the utilization of all fields for each object, instead of confining them to particular lists or reports. Because of this, we’ve disabled ability to edit the settings within each object, except in the following cases:
Key Considerations
Choose which objects to filter
As an admin setting up Salesforce filtering, you can choose to configure filtering of accounts, contact and/or lead objects.
Per object limits
For the account, contact, and lead object types, there is a limit of 2 million records. For opportunities there is a limit of .5 million records. You can adjust your filtering settings using Salesforce Lists to adhere to these limits.
API consumption
Salesforce filtering functions by leveraging Salesforce’s Bulk API. Salesforce provides a limit for the number of API calls which can be used by an organization.
Disabling filtering for an object
If you subsequently disable filtering for an object, previously-filtered records are not deleted – disabling simply stops future filtering.
Clearing filtered records
If you want to remove records that are already filtered, you have the option to clear them so they no longer appear in searches and remove Salesforce indicators. Clearing filtered records only removes the ownership information in ZoomInfo – your Salesforce records are not impacted.
Record persistence
Salesforce filtering will only persist the records ZoomInfo is able to match.
Duplicate records
If there are multiple records for the same account, ZoomInfo will only match to one record. For example, your Salesforce instance may include multiple or duplicate accounts across different locations. In this case, these records would be matched to a single ZoomInfo profile.
For exports under 25 records: To avoid creating duplicate records in Salesforce, ZoomInfo also checks for records synced through the Salesforce Filtering process (in case the ZoomInfo duplicate check fails to detect a match). This check applies to all contact, lead, and account export flows.
Changes to records in Salesforce
Only records that meet specified criteria at the time of filtering are filtered. Records that no longer meet the criteria are removed on subsequent filtering runs. For example, if a lead is converted to a contact, it will no longer be filtered as a lead in future filtering runs.
Scheduled runs
Scheduled filtering runs are performed on “off hours”, specifically from 8PM to 6AM EST.
Salesforce report creation best practices
When selecting or creating reports to include in Salesforce Filtering:
Include the following essential data fields for accurate matching with ZoomInfo’s database and optimized filtering.
Configure Salesforce Filtering Preferences
1. Go to Admin Portal > Company Settings > General Settings.
2. Enable the Show Salesforce settings, filters, and indications toggle for Salesforce.
3. Go to Admin Portal > Integrations.
4. On the Connected tab, click Salesforce and select Edit Settings.
5. Click the Filtering tab.
Configure Settings for Each Object Type
For each object type (Account, Contact, Lead), you can choose which Salesforce records to filter.
For simplicity, this section describes your options in the context of the Account object, but the same instructions apply for Contacts and Leads.
1. Click the toggle to enable and configure filtering for the object (e.g., Account).
2. Click Edit Settings for the selected object.
Choose the Update Frequency
Use the Update Frequency dropdown to schedule filtering for the object type.
If you choose Daily, a full sync will occur once per week, beginning on the day you set it up, and recurring each week on that same day. For the days of the week in-between, only new records or updated fields for existing records are synced.
You can perform a full sync at any time by choosing the Run Now option on the Mapping tab for an object.
Specify Records to Import
For each object, you can configure the records you want your users to be able to search for in ZoomInfo.
You have the following options to define the records to import:
If you optionally select Add List and Report Filters, users will also be able to filter ZoomInfo search results based on list and/or report information.
Alternatively, you can choose to include only records associated with Salesforce Lists/Reports that you select. With this option, users will be able to filter ZoomInfo search results based on Salesforce list and/or report information.
Tip: See Salesforce report creation best practices for your Salesforce reports to optimize matching and filtering.
Include Opportunities
You can choose to include Salesforce Opportunities created in the past 6 months, 1 year, or 2 years.
Verify and Save the Configuration
When done configuring the settings for an object (e.g., Accounts):
1. Click Verify & Save.
2. Repeat the configuration described in this section for other objects (Contacts, Leads) as needed.
Enable or Disable Filtering
Enable or disable filtering for an object type at any time using the toggle.
Clear Matched Records
You can delete existing records that were previously filtered and matched to ZoomInfo. For example, click
Clear All Matched Contacts.
Important: This action has no impact on records in your Salesforce instance – it simply removes records that
were matched to ZoomInfo so that they will no longer be shown in search results.
Managing and Monitoring Filtering
At any time, you can return to the Filtering tab to view details about your runs, adjust settings, and enable or
disable filtering. You can also manually initiate an off-schedule filtering run by clicking Run Now.
Run statistics are provided for each object. Roll over the info icons to view the definition of each statistic.
Salesforce Filtering Custom Field Support
Admins for organizations that use Salesforce filtering can add fields from Salesforce that they’d like to include as additional filtering options in ZoomInfo, helping to leverage data specific to an organization’s instance.
Configure Custom Field Support
1. Navigate to Admin Portal > Integrations and select the Manage link for the Salesforce integration. The Filtering tab displays. In this example, we’ll enable 3 additional fields for the Account object. Click Select Salesforce
Account Field.
2. Add up to three Salesforce picklist or lookup fields to include by clicking the Search Salesforce Field dropdown.
The Filter Name value for each custom field will display in Advanced Search. The default value is initially the same as the Salesforce Field. You can choose to edit this text so that it makes better contextual sense to users conducting searches.
3. When you’ve finished adding fields, click Save.
4. Continue to configure filtering for Contact and Lead objects as needed.
User Experience
When using Advanced Search, users can filter using the custom fields that an admin has configured.
Account Deal Story (ZoomInfo Marketing)
For organizations with ZoomInfo Marketing only
The account Deal Story is a ZoomInfo Marketing feature that helps your users visualize how accounts are moving through the marketing funnel, where to prioritize effort and spend, and how ZoomInfo Marketing is delivering ROI.
Account Deal Story View
The Deal Story view for an account includes:
● A visual display of the engagements across all activities for that account.
● A visual display of all the activities performed for that account.
● Filters for engagement, activities and channels.
● Salesforce opportunity data for the account (see Include Salesforce Opportunity Data for details)
Include Salesforce Opportunity Data
Assuming you also want to also include Salesforce opportunity data in your Deal Story view, you’ll need to
ensure that a specific set of fields for the opportunity object have the appropriate permissions in Salesforce.
These steps must be performed by the admin user who connected the Salesforce integration from the
ZoomInfo Admin Portal.
Do the following:
1. In Salesforce, navigate to Setup > Object Manager > Opportunity (or type in the search bar for quick
access).
2. Click Fields & Relationships in Opportunity Object Manager.
3. Choose one of the following Field Names (type Field Name in the search bar for quick access).
● Opportunity Name
● Stage
● Close Date
● Amount
● Contract
● Opportunity Type (could also be Type)
4. Click Set Field-Level Security and select all checkboxes for Visible.
5. Click Save.
6. Repeat these steps for all Field Names listed above.
● Important: Users must have access to the Opportunity object itself, and all of the fields you
choose in this procedure.
● Once configured, the opportunity data will appear in the account Deal Story view within 24 hours. If the data does not appear after this timeframe, disconnect and reconnect your Salesforce integration in the ZoomInfo Admin Portal.
● For additional guidance, check out this demo video.
Enable the Integration for Your Organization
Once you’ve connected and configured the integration, you can enable it for your users using the toggle.
Managing the Integration
Over time, you may need to make changes to your integration configuration – for example, if the primary connected admin leaves the company and you need to swap in a new admin.
Changing the Primary Admin (Service Account Configuration)
If a secondary admin wants to remove the existing primary connected admin and make themselves the new
primary connected admin:
Changing the Primary Admin (User Account Configuration)
Changing the primary connected admin in this scenario only applies if your organization is using Salesforce Filtering. If a secondary admin wants to remove the existing primary connected admin and make themselves the new primary connected admin:
Switching from User Account Option to Service Account Option
If you’re currently using the User Account option (or the previous experience that only supported individual user account connections) you can easily switch to the Service Account option:
Adding Users to Your Org Over Time
When you provision a new user in an organization that uses the Service Account option, verify the new user is mapped to their corresponding Salesforce user using the Edit User Mapping link on the General Settings page for the integration.
● If you do not proactively make the mapping, the system will automatically regenerate this mapping
when the new user performs their first export.
● If the system is unable to map a user, the user can still perform exports as described in Record
Ownership When Exporting Using a Service Account Connection.
Duplicate Checking Logic
When a user exports records from ZoomInfo to Salesforce, duplicate checking logic is applied to detect
duplicate records within Salesforce. You have two choices:
● Option 1: You can use standard duplicate-checking logic used by ZoomInfo when exporting accounts, contacts, and leads.
● Option 2: You can use custom duplicate rules configured in Salesforce to flag duplicates when exporting accounts, contacts, and leads.
● When enabled, the Salesforce custom duplicate rules fully replace the duplicate-checking logic used by ZoomInfo.
● You can configure this feature per object (accounts, contacts, and leads). Each option is described in the following sections:
● Option 1: Standard ZoomInfo Duplicate Checking
● Option 2: Custom Duplicate Checking.
Option 1: Standard ZoomInfo Duplicate Checking
You can control the user’s available options for handling duplicates by configuring the default duplication settings for the integration in the Admin Portal. When a duplicate is encountered during export, users can choose the default behavior set by you, or select other available options.
User Options During Export
During an export, duplicates are flagged and presented to the user. Depending on the options you set, the user can choose to update an existing record, create a duplicate record, or not export the record at all.
Duplicate Logic
ZoomInfo checks for specific criteria, in a specific order, to determine if existing data in Salesforce matches data being exported. For companies: Companies in ZoomInfo are equivalent to accounts in Salesforce. When exporting companies to Salesforce, ZoomInfo will check for duplicate Salesforce accounts using criteria applied in the following
order:
For people: People in ZoomInfo are designated as contacts, and can be exported as Salesforce contacts or leads.
When exporting contacts to Salesforce, ZoomInfo will check for duplicate Salesforce prospects using criteria applied in the following order:
Contacts (people associated with a company):
Leads (people not associated with a company):
Note: If a person in Salesforce exists as both a contact and a lead, ZoomInfo will present the contact record as the duplicate.
Option 2: Custom Duplicate Checking
See Salesforce Custom Duplicate Check in the ZoomInfo Knowledge Center for details on setting up this
option.
Admin Control of Duplication Settings
A ZoomInfo admin can control the user’s available options for handling duplicates by configuring the default duplication settings for the integration in the Admin Portal. When a duplicate is encountered during export, users can choose the default behavior set by the admin or select other available options.
User Options During Export
During an export, duplicates are flagged and presented to the user. Depending on available options set by an admin, the user can choose to update an existing record, create a duplicate record, or not export the record.
Duplicate Logic
ZoomInfo checks for specific criteria, in a specific order, to determine if existing data in Salesforce matches data being exported.
For companies: Companies in ZoomInfo are equivalent to accounts in Salesforce. When exporting companies to Salesforce, ZoomInfo will check for duplicate Salesforce accounts using criteria applied in the following order:
For people: People in ZoomInfo are designated as contacts, and can be exported as Salesforce contacts or leads.
When exporting contacts to Salesforce, ZoomInfo will check for duplicate Salesforce prospects using criteria applied in the following order:
Contacts (people associated with a company):
Leads (people not associated with a company):
Note: If a person in Salesforce exists as both a contact and a lead, ZoomInfo will present the contact record as the duplicate.
Data Sharing
The Data Sharing page in the Admin Portal is enabled if your organization has not contractually opted out of data sharing with ZoomInfo that is intended to analyze your use of connected integrations. Data sharing helps to improve the ZoomInfo service and make recommendations to you.