ZoomInfo Salesforce Integration: What Syncs and What to Set First

    Short answer

    What moves each way, which Salesforce API each export uses, who ends up owning new records, and the settings to lock in before the first export.

    Artem Smirnov
    Artem Smirnov

    Last updated · 8 min read

    Artem Smirnov in a dark suit against a charcoal studio backdrop, next to the line 'ZOOMINFO MEETS SALESFORCE. The sync is the easy part'

    Can ZoomInfo integrate with Salesforce, and what do you need first?

    Yes. A ZoomInfo admin connects it in the Admin Portal under Integrations > Connections > Salesforce tile > Connect. From then on, users can export Account, Contact and Lead records into your org (ZoomInfo Help Center).

    The AppExchange package, ZoomInfo - GTM Intelligence Platform, installs the Native App, ZoomInfo's interface inside Salesforce. Enrich, ZoomInfo's tool for refreshing the records already in Salesforce, needs that package in place first (ZoomInfo Enrich for Salesforce guide).

    Before you connect, ZoomInfo's Salesforce integration guide asks for these prerequisites:

    1. REST API access. It comes with the Unlimited, Performance, Developer, Enterprise and Force.com editions. On Professional or any other edition, you buy REST API access first.
    2. Bulk API access for any export of 200 records or more. The Bulk API is the Salesforce interface for moving large batches in one job.
    3. A connecting user with ZoomInfo admin access and these Salesforce rights: API access, view setup and configuration, run reports, read the org ID, read/write on Account, Contact, Lead, Campaign and Campaign Member, plus read-only access to Opportunity and User.

    I build the lists, write the copy and run the sending, but the CRM stays with the client. So the technical detail below comes from the vendors' own documentation. Where that documentation disagrees with itself, I say so.

    What syncs between ZoomInfo and Salesforce, in which direction?

    ZoomInfo's integrations page calls this a bi-directional sync. In practice the traffic is uneven. The rows below come from the integration guide and the Engage guide.

    DirectionWhat movesWhenProduct
    ZoomInfo -> SalesforceAccounts, contacts and leadsWhen a user exports, from the platform or the Chrome ExtensionCore integration
    Salesforce -> ZoomInfoYour CRM recordsHourly import, on by defaultCore integration (import)
    ZoomInfo -> SalesforceEngagement activity (emails, calls, meetings), logged as tasks or eventsIts own CRM writeback settingZoomInfo Copilot
    Engage <-> SalesforceLeads and contacts copy over after an email, a dial or an add to a Salesflow (an Engage sequence). Two fields write back if mapped: Contact Email Opt Out and CRM Lead StatusAfter one of those actionsZoomInfo Engage

    Most of your Salesforce data only travels into ZoomInfo, where it feeds Advanced Search Filters, Copilot Signals, automation and scoring. That import is the useful half for list building: start from your past and current clients, then search for companies that look like them.

    The guide sets a 20 million record limit for the account, contact, lead and opportunity object types, and its filters let a user pick up to 10 owners per object type.

    Should you connect with a service account or user accounts?

    ZoomInfo's default and preferred option is a service account, and its integration guide recommends a dedicated Salesforce integration user to run it.

    Service accountUser accounts
    Who connectsThe admin, onceThe admin first, then each user under Settings > Integrations
    Whose login runs the exportThe service accountEach rep's own Salesforce credentials
    Who reconnects if the Summer '26 OAuth change breaks the linkOnly the ZoomInfo adminEvery user
    Setup effortOne user mapping page to checkOne connection per rep

    With a service account, Created By and Last Modified By on every exported record show the primary connected admin, the person who made the first connection.

    Salesforce's Summer '26 release adds stricter OAuth security requirements. ZoomInfo's Help Center writes: "We do not anticipate that these changes will disrupt your current ZoomInfo-Salesforce integration." It adds that a reconnect may be needed.

    My advice: take the service account and match every rep's ZoomInfo email to their Salesforce email. Choose user accounts only if each export must run under the rep's own login.

    How many Salesforce API calls does each export use?

    Call costs per ZoomInfo's integration guide and Enrich guide:

    ActionRecord countAPI usedCall cost
    Export from ZoomInfo199 or fewerREST1 call if all records are new or all are updates, 2 for a mix
    Export from ZoomInfo200 to 100,000 (the admin sets a per-user cap)Bulk1 call per 10,000 records if all are new or all are updates, 2 for a mix (the guide counts 1 million records as 100 Bulk calls)
    Instant EnrichEach new recordSalesforce API2 calls per record enriched

    The Native App skips the Bulk API for exports, so the guide caps it at 5,000 records per export. The import from Salesforce draws on your allowance too. My team's first list is at least 20,000 contacts, so for us the platform and Bulk route is the only practical one.

    A planning example. A rep exports 1,000 contacts, 400 already in Salesforce -> a mix, so 2 Bulk calls. Instant Enrich on 500 new leads a day -> 1,000 calls a day.

    Salesforce's 2024 guide to API limits says paid editions such as Enterprise start at 100,000 requests per 24 hours, growing with your licenses. Under Salesforce's formula (at the time of writing), an Enterprise org with 15 Salesforce licenses at 1,000 calls each gets 100,000 + 15,000 = 115,000 calls a day.

    Before go-live, have your admin check these call costs against your org's actual daily limit.

    Why do large exports end up with the wrong record owner?

    ZoomInfo's integration guide says Salesforce runs your lead assignment rules on an export only when it holds 25 net new records or fewer. From 26 up, the rules stay off. The records go to the rep who clicked export, or to the primary connected admin if that rep's two emails differ.

    Take a rep who exports 30 leads from a colleague's territory. All 30 stay with that rep until someone catches it. So my team gives each rep and account its own territory before any list goes out, and no two people ever work the same leads.

    The same guide has a second passage that puts the cut-off at 200 records, with rules skipped from 201. I found no other source that settles it.

    Salesforce's REST API Developer Guide gives no 25 or 200 record limit either. It says that if the Assignment Rule header is not sent, REST API defaults to using the active assignment rules. Test both sizes in your own org before you trust either.

    Two ways around it:

    1. Keep exports at 25 net new records or fewer whenever routing has to work.
    2. Run the big export, then reassign the new records with your own rule right after they land.

    Which settings stop duplicates and wasted credits?

    Defaults and options below are from the integration guide and the Enrich guide.

    SettingDefaultChooseWhy
    Field update optionComplete if missingKeep it on standard fields. Use Overwrite only on custom fields built for ZoomInfoZoomInfo fills only empty fields, so what reps typed stays
    Account association for contactsManualKeep manualThe user confirms the account before the contact lands
    Duplicate checkingTwo optionsStandard ZoomInfo checking (read/write on the object fields) or your own Salesforce duplicate rules (needs the Author Apex permission)Decide before the first export
    Scheduled Enrich credit usageNo limitLimit credits per job run, or use "Only Enrich records currently owned"Jobs start at 12:00 AM ET, while nobody is watching
    Enrich batch size10K (1K, 500, 200 also offered)Keep the defaultSmaller batches mean more API calls
    Minimum Accuracy ScoreYour choiceSet oneRecords below it are marked No Match, "Below selected Accuracy Score"
    Buying committee per accountYour choiceSet the hard cap (up to 10)Each contact exported or enriched costs one credit

    Credits are where the money leaks. Before anything gets exported, I filter out generic titles like Assistant, Manager and Associate, and target the titles that actually sign deals in that niche.

    Run this checklist in one sitting before the first export:

    1. Confirm REST API in your edition and Bulk API access.
    2. Connect the integration user as the service account and check the user mapping page.
    3. Run Test Mapping, which exports and deletes one test record.
    4. Set a per-user export cap and a credit limit on every scheduled job.
    5. Export 25 or fewer net new leads, then about 30, then 201 or more, and check who owns each batch.
    6. On package v1.51 or later, put the Instant Enrich certificate renewal in your calendar: it expires after one year (Enrich guide).

    Does a clean sync give you a list worth emailing?

    Which CRM a client runs makes no difference to me, and your prospects never see it anyway. What matters is that no lead gets lost in it. On my engagements the client pays for tools and data directly, so the ZoomInfo seats and the Salesforce org stay theirs.

    ZoomInfo is one list source for my team, next to Sales Navigator, Apollo, UpLead and RocketReach. That mix beats a scraped list, and it beats cheap freelancer lists, which bring low opens and high bounces. If you are still deciding on ZoomInfo itself, the ZoomInfo alternatives post compares the options, and Clay vs ZoomInfo settles that head-to-head.

    A record that synced cleanly can still hold a dead address. My team checks every address through NeverBounce or DeBounce before a single email goes out, and bounces stay below 0.5%. A bounce-heavy send wipes out weeks of mailbox warmup. Our deliverability and infrastructure FAQ explains the sending side, and the lists and targeting FAQ covers how we build lists.

    Same message, two companies. One got 7.5% replies. The other got 2%. What moved the reply rate was the foundations underneath it, and the list is one of them.

    Instantly's 2026 benchmark report, built on its own platform data, lists 3.43% as the average reply rate and 5.5% as the top-quartile mark. It is one platform's cold email data, so read it loosely. Even so, 7.5% clears the top-quartile mark and 2% sits under the average.

    Copy cannot fix a bad list, and neither can a sync. Feed it a bad list and you get a bad list in a tidier CRM.

    Setting up ZoomInfo with Salesforce and worried about duplicates and record owners? Book a call and tell me how you plan to connect it. I will share what I would check.

    Questions admins ask after setup

    Does testing Enrich in a Salesforce sandbox use credits?

    Yes. ZoomInfo's Enrich guide says sandbox runs are charged credits exactly like production runs. Test on a small slice of a few hundred records, and give the sandbox job the same credit limit you use in production.

    Who can disconnect ZoomInfo from Salesforce?

    Only the primary connected admin, meaning the person who made the first connection. Secondary admins can change mapping, export settings and filters, or switch exports off, yet the disconnect button stays with the primary. A secondary admin who uses Change User on the service account becomes the primary admin. For Enrich, switch every job off with its Status toggle, then click Disconnect.

    What happens to a contact who changes companies?

    Scheduled Enrich has a Person Has Moved setting, on by default, that enriches the record with the person's new organization. Turn it off and the contact is skipped, with its Enrich Status reading Company Match Only. In both cases Enrich does not attach the contact to the new company's account. Someone on your team has to make that link by hand.

    Do you need the Native App to use the integration?

    For exports, no. Once the connection is live, Salesforce shows up as an export option in the ZoomInfo platform and the Chrome Extension. The Native App is optional, and Enrich needs it.

    Set ownership, duplicates and credit caps before the first export. Then fix the list, because the sync will carry whatever you give it.

    Want to get more B2B clients for your business?

    I help B2B companies book 10 to 100+ qualified sales calls per month with outbound. Let's see if it fits yours.

    Artem Smirnov
    Artem Smirnov

    I help B2B companies book qualified sales calls with cold email and LinkedIn outbound.