· 17 min read

ZoomInfo Salesforce Integration: Setup, Mapping and Credits (2026 Guide)

ZoomInfo can create and update Salesforce accounts, contacts and leads, either when a rep exports a list or automatically through Enrich. The setup itself takes an afternoon. The decisions behind it (which fields ZoomInfo may overwrite, who owns new records, how credits are capped and how duplicates are handled) decide whether your CRM gets cleaner or messier. Here is how each part works and how to set it up safely.
A B2B contact database with person and company cards flowing into a CRM cloud, illustrating a ZoomInfo Salesforce integration
Connecting ZoomInfo and Salesforce?Tell us which records you want enriched and who owns them. We’ll map the fields and overwrite rules, set up the integration or build a custom flow on the ZoomInfo API, and support it after launch.
Map my ZoomInfo data flow

What the ZoomInfo Salesforce integration does

Sales and marketing teams buy ZoomInfo for company and contact data: firmographics, job titles, emails, direct dials, intent signals. Salesforce is where that data has to end up, attached to the right account and owned by the right rep.

A good integration does four jobs:

  • Create records. A rep finds a buying committee in ZoomInfo and exports it as contacts or leads, without retyping anything.
  • Fill gaps. Leads from web forms arrive with a name and an email. Enrichment adds company size, industry, title and phone.
  • Keep records current. People change jobs and companies change size. Scheduled enrichment refreshes what you already have.
  • Avoid waste. ZoomInfo knows which companies and people already exist in Salesforce, so reps don’t pay credits for records the team already owns.

It is not a free data refill. Every new record costs a credit, and every field ZoomInfo is allowed to overwrite is a field your reps can no longer trust their own edits on. Plan both before you connect.

The parts of ZoomInfo’s Salesforce integration

ZoomInfo’s technical documentation splits the integration into several pieces you switch on separately. As of October 2026, they are:

PartWhat it doesDirectionSet up in
Platform integration (export)Users export ZoomInfo companies and people as Salesforce accounts, contacts or leads, with your field mapping and duplicate checksZoomInfo → SalesforceZoomInfo Admin Portal
Salesforce ImportZoomInfo reads your accounts, contacts, leads, opportunities, activities and users to flag existing records, filter searches by owner and power its AI featuresSalesforce → ZoomInfoZoomInfo Admin Portal (on by default)
Native App (managed package)Inline ZoomInfo panel on lead, contact and account pages, a ZoomInfo tab, a dashboard, and custom objects for full ZoomInfo data, Scoops and IntentInside SalesforceAppExchange, then Salesforce Setup
Instant EnrichAppends ZoomInfo data to leads, contacts and accounts as they are created in SalesforceZoomInfo → SalesforceAdmin Portal plus the package
Scheduled EnrichRecurring jobs that enrich all records, a list view or a filtered set, with credit limits per runZoomInfo → SalesforceAdmin Portal plus the package

ZoomInfo Copilot customers can also turn on CRM writeback, which logs emails, calls and meetings done in Copilot as Salesforce tasks or events.

Requirements

  • Salesforce edition: the integration needs the REST API, which ZoomInfo’s guide lists as included in Enterprise, Unlimited, Performance and Developer editions. Professional Edition needs paid API access. Exports of 200 records or more also use the Bulk API.
  • Salesforce user: API access, View Setup and Configuration, Run Reports, read and write on Account, Contact, Lead, Campaign and Campaign Member, and read on Opportunity and User. ZoomInfo recommends a Salesforce integration user as the service account; supported Salesforce editions include a limited number of Integration user licenses, as our Salesforce integration user guide explains.
  • ZoomInfo side: an admin with an Admin Portal seat. ZoomInfo’s public pricing page lists CRM integrations, Salesforce included, from its Professional plan for sales teams. Enrich is described as a feature of ZoomInfo Sales and needs an Enrich subscription, so confirm what your contract covers.
  • Package version: for Instant Enrich, current package versions authenticate through a Salesforce Named Credential with a self-signed certificate. ZoomInfo notes that the certificate expires after one year and has to be recreated.

Your options compared

ZoomInfo’s own integration covers most teams. The alternatives matter when you need logic it doesn’t have, or when ZoomInfo is not your only data source.

ZoomInfo export and Native AppZoomInfo EnrichiPaaS or other enrichment toolsCustom on the ZoomInfo API
What it doesReps push chosen records into Salesforce and see ZoomInfo data on record pagesAutomatic enrichment of new and existing leads, contacts and accountsWorkflows across several tools (Workato, MuleSoft, Zapier, Make) or other data providersYour own enrichment service on ZoomInfo’s API
ObjectsAccount, Contact, Lead; Scoops and Intent on accountsAccount, Contact, LeadDepends on the tool and connectorAny Salesforce object you design for
DirectionExport to Salesforce; import back to ZoomInfoZoomInfo → SalesforceYour design, usually one-way per flowYour design
Cost levelIncluded with supported ZoomInfo plans; credits per exportEnrich subscription plus creditsPlatform subscription plus data provider feesBuild cost, API package and credits
Typical effortHours to daysDays to a few weeks with testing1–4 weeksSeveral weeks
LimitsFixed mapping options; Native App exports capped at 5,000 recordsStandard objects only; one vendor’s dataCosts grow with volume; vendor mapping rulesYou own retries, monitoring and API changes

Salesforce’s Data 360 (formerly Data Cloud) documentation also lists a ZoomInfo connector for bringing ZoomInfo data into Data 360. That suits analytics and segmentation; it doesn’t replace the CRM integration for reps.

Which option fits you?

Answer five questions about what you need from ZoomInfo data, where it should land and whether other providers are involved. The result names the setup that matches your answers.

Which ZoomInfo Salesforce setup fits?

How the data flows

The setup that holds up: ZoomInfo is the source for firmographic and contact facts (company size, industry, title, phone). Salesforce stays the system of record for ownership, status, consent and anything a rep learned in a conversation.

Data in, signals back, a live panel in between ZoomInfo (data source) Companies Firmographics, Scoops, Intent People Title, email, phone Admin Portal Mapping, credits, dedupe Salesforce (system of record) Accounts ZoomInfo Company ID Contacts, leads ZoomInfo Contact ID Record pages Native App panel Export and Enrich Salesforce Import (hourly) Live lookup in Salesforce To Salesforce per field: Complete if missing or Overwrite; dedupe by ZoomInfo ID, website or email, name one credit per new record To ZoomInfo accounts, contacts, leads, opportunities, activities the connected user can read limit with permissions and import rules
ZoomInfo writes company and contact facts into Salesforce under your field rules. Salesforce Import sends CRM data the other way, scoped by what the connected user can see.

Field mapping and overwrite rules

ZoomInfo ships default mappings for accounts, contacts and leads, and you can add any standard or custom Salesforce field. For each row you choose one update option:

  • Complete if missing (default): writes ZoomInfo data only if the Salesforce field is empty.
  • Overwrite: replaces whatever is in the field with ZoomInfo’s value.

ZoomInfo’s own recommendation is to keep every standard Salesforce field on Complete if missing and use Overwrite only on custom fields created for ZoomInfo data. That gives you both: the rep’s phone number stays where they typed it, and a field such as “ZI Direct Phone” always shows the latest ZoomInfo value next to it.

ZoomInfoSalesforceUpdate optionSystem of record
Company IDAccount: ZoomInfo Company ID (package field)OverwriteZoomInfo
Company name, websiteAccount Name, WebsiteComplete if missingSalesforce
Employees, revenue, industryCustom “ZI” fields on AccountOverwriteZoomInfo
Contact IDContact and Lead: ZoomInfo Contact IDOverwriteZoomInfo
Job title, department, management levelTitle (standard) plus custom “ZI” fieldsComplete if missing on Title; Overwrite on ZI fieldsSalesforce for Title
Direct phone, company phonePhone (stacked: direct first, company second)Complete if missingSalesforce
EmailEmailComplete if missingSalesforce
Person Has MovedCustom text fieldOverwriteZoomInfo
Scoops, IntentZoomInfo custom objects, related lists on AccountWritten by ZoomInfoZoomInfo
Owner, lead status, opt-outsNot mappedNever written by ZoomInfoSalesforce

Two features reduce how many fields you need. Field hierarchy maps two ZoomInfo fields to one Salesforce field in priority order: for example, direct phone first and company phone as a fallback.

The ZoomInfo custom object stores every default ZoomInfo field for a record in a related list. ZoomInfo says it costs no extra credits, so you can keep the main page layout short.

When ZoomInfo sees that a person has left a company, Scheduled Enrich by default updates the record to the new employer. ZoomInfo does not move the contact to a new account for you. Map the Person Has Moved field and give someone a report to work, or turn the setting off and keep the old company data.

Credits: what costs what

According to ZoomInfo’s pricing page, packages include a set number of monthly credits, and each export of a contact or company profile uses one. The details that matter for Salesforce:

  • New record, one credit. Exports, Enrich matches and Enrich API calls all charge the first time a record is used. ZoomInfo’s API documentation says a record then stays “under management” for 12 months, and re-enriching it in that window is free.
  • Sandbox costs the same. ZoomInfo warns that Enrich in a Salesforce sandbox still uses credits, and recommends testing in small batches.
  • Scheduled jobs can be capped. Each job offers no limit (the default), only records already under management (no credits), or a fixed credit cap per run, with the rest carried to the next run.
  • Buying committee exports add up. An account job can also export up to 10 contacts per account that match titles, functions and levels you pick, and each one costs a credit.
  • Free extras. The ZoomInfo custom object, Search in the API and records already under management don’t consume new credits.

Before the first full job, filter out records you will never sell to: closed-lost junk, students, competitors, personal email domains. Enriching them costs the same as enriching your best prospects.

How to set it up, step by step

Settle the rules first and click last; most ZoomInfo rework comes from mapping fields before anyone agreed who owns them. For the exact screens, keep ZoomInfo’s Salesforce integration guide, Native App guide and Enrich guide open, since their labels change.

  1. Decide the rules on paperWhich fields ZoomInfo may fill, which it may overwrite, who owns exported records, which records are worth credits, and which duplicate behavior reps get. This one page becomes your mapping.
  2. Prepare the Salesforce userCreate a dedicated integration user with API access and the permissions ZoomInfo lists. Exports and filtering jobs run as this service account, and the person who connects it becomes the primary connected admin, the only one who can disconnect.
  3. Create custom fieldsAdd “ZI” fields for the data you will overwrite (employees, revenue, industry, direct phone, Person Has Moved) and confirm field-level security for the integration user. ZoomInfo publishes a spreadsheet of fields it can enrich.
  4. Install the managed package in a sandboxFrom AppExchange, install “ZoomInfo - GTM Intelligence Platform” for all users. It adds the ZoomInfo Contact ID and Company ID fields that Enrich mapping requires.
  5. Connect from the Admin PortalIn ZoomInfo, open Admin Portal, then Integrations, connect Salesforce with the integration user, and keep the default Service Account option unless every rep must connect personally.
  6. Check user mappingZoomInfo matches its users to Salesforce users by email, then by name. Fix gaps, because unmatched users’ exports are owned by the connecting admin.
  7. Configure export settings and mappingPick the objects users may export and set a per-export maximum. Choose Complete if missing or Overwrite per field, set account association for contacts, pick standard or Salesforce duplicate rules, and run Test Mapping.
  8. Scope Salesforce ImportReview which objects and fields the integration user can read, add import rules to exclude records ZoomInfo shouldn’t see, and check your data sharing settings.
  9. Set up Enrich, if licensedConfigure the Named Credential and certificate for Instant Enrich, assign the ZoomInfo permission sets and add an optional SOQL filter. Then create one Scheduled Enrich job with a credit cap and a small list view.
  10. Add the panel and launchPut the ZoomInfo Lightning component on lead, contact and account pages and run a pilot with one team. Review the Enrich dashboard and duplicates, then repeat in production and switch the integration on for users.

Built by Gilzor

Results we’ve shipped

70+products launched
98%delivered on time
85%clients come back
Art Scherbakov, Co-FounderAndrew Laminsky, CTOYuri Rudenya, Head of Mobile Development at GilzorAlena Timofeeva, Product Marketing Lead

Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.

See how we’d approach yours

Duplicates, ownership and API limits

How duplicate checking works

On export, ZoomInfo looks for existing Salesforce records in a fixed order. For accounts: ZoomInfo ID, then website, then exact company name. For contacts and leads: ZoomInfo ID, then email, then first name, last name and exact company name.

If a person exists as both a contact and a lead, the contact is shown as the duplicate. The rep then updates the existing record, creates a duplicate or skips it, within the choices the admin allows.

Already maintain Salesforce matching and duplicate rules? You can let them replace ZoomInfo’s logic per object. ZoomInfo notes this option needs the Author Apex permission for the connected user, which is a broad permission to grant. Our Salesforce data integration guide covers matching keys and dedupe in more depth.

The reverse problem exists too: if Salesforce holds several accounts for one company (for example one per office), ZoomInfo matches only one of them to its company profile.

Record ownership and lead assignment

With a service account, a new record is owned by the exporting rep when their ZoomInfo and Salesforce emails match; Created By shows the connecting admin.

Lead assignment is the catch. ZoomInfo’s guide says assignment rules run only on small exports and are skipped on larger ones, so big list exports land with the exporting user. The guide is not consistent on the cut-off (25 new records in its ownership examples, 200 in its export settings section), so test with your own exports before you rely on routing.

If round-robin or territory routing matters, cap export sizes or route with a Flow after import.

Salesforce API consumption

  • Exports of up to 199 records use the REST API; 200 or more use the Bulk API, up to a per-export maximum of 100,000 that you set. Exports from the Native App inside Salesforce don’t use the Bulk API and are capped at 5,000.
  • Instant Enrich uses two API calls per record: one to read current values (for the Complete if missing check) and one to write.
  • Scheduled Enrich queries in batches of 10,000 by default; smaller batches use more API calls.
  • Salesforce Import runs incrementally, currently every hour, in Bulk API batches of 10,000, with a full backfill on first connection or when import mapping changes.

Add these to your other integrations before you schedule a full-database job, and check your org’s daily API allocation in Salesforce Setup.

Pitfalls and how to fix them

ProblemWhat happensFix
Rep edits overwrittenOverwrite on a standard field replaces numbers and titles reps corrected by handComplete if missing on standard fields; Overwrite only on “ZI” custom fields
Credits burned in testingA sandbox job runs against the full database and spends real creditsTest on a small list view with a credit cap; agree a test budget with ZoomInfo
Duplicate accounts and contactsName-based matches miss “Acme Inc.” vs “Acme, Inc”, and reps choose “create”Clean duplicates first; populate ZoomInfo IDs and website; restrict the “create duplicate” option
Wrong owner on new leadsLarge exports skip assignment rules; unmapped users’ records go to the adminFix user mapping; cap export size or reassign with a Flow
Stale job changesPeople who moved stay on the old account, or get silently updated to a new employerMap Person Has Moved; give a team a weekly report and a rule for re-parenting
Integration tied to a personThe primary connected admin leaves, and nobody can disconnect or switch the accountConnect with a dedicated integration user; document the admin handover in your runbook
Too much data to ZoomInfoImport reads every object and field the connected user can seeLimit the integration user’s permissions and use import rules
API limitsInstant Enrich and big jobs compete with other integrations for daily callsSchedule jobs off-peak; keep Bulk batch sizes large; monitor API usage
Expired certificateInstant Enrich stops after the yearly certificate expiresCalendar reminder and a documented renewal step

Data governance and privacy

ZoomInfo data in Salesforce is personal data about real people, even when it is a work email. Treat the integration as a data flow you can explain to a customer, an auditor or a regulator.

  • Know what goes back. ZoomInfo’s guide says Salesforce Import stores both matched and non-matched records from the objects it reads. Scope the integration user, use import rules, and review the Data Sharing page in the Admin Portal against your contract.
  • Keep the source. A lead source or “ZI” field on every created record tells you where data came from when someone asks.
  • Never overwrite consent. Opt-outs and Do Not Call flags live in Salesforce and should not be mapped from ZoomInfo.
  • Plan for deletions. When a person asks you to delete their data, delete or anonymize the Salesforce record and make sure a scheduled job or rep export doesn’t bring it back.

In general terms, US privacy law reaches B2B data too. The CCPA’s business-to-business exemption expired on January 1, 2023, so California residents who are business contacts have CCPA rights.

According to the California Privacy Protection Agency (now also called CalPrivacy), data brokers must register with the state. From August 1, 2026, registered brokers must check the state’s Delete Request and Opt-out Platform (DROP) at least every 45 days and process deletion requests. Other states and the GDPR add their own rules.

This is not legal advice: agree your use of purchased contact data with counsel before go-live.

When to go beyond the built-in integration

Other enrichment providers. Many teams combine ZoomInfo with other B2B data sources (for example Dun & Bradstreet, Apollo.io, Cognism or Lusha) or a waterfall that tries one vendor after another.

ZoomInfo itself advertises multi-vendor waterfall enrichment in its Operations product and GTM Studio; otherwise an iPaaS or a custom service orchestrates the order. Compare match rates on a sample of your own records before you buy. If social selling is part of the picture, our LinkedIn Salesforce integration guide covers that link.

Custom on the ZoomInfo API. ZoomInfo states that its API can’t be used to connect a CRM through the ZoomInfo platform; instead you build your own application. According to ZoomInfo’s current API documentation:

  • Requests authenticate with OAuth 2.0; a client credentials flow suits server-to-server jobs.
  • Search calls don’t use credits, and each new enriched record costs one.
  • Enrich calls take up to 25 records each.
  • The Standard package allows 25 requests a second, with hourly and daily caps on top.

Asynchronous jobs and webhooks cover larger workloads and completion events. Endpoint access depends on the API package you buy.

Custom work starts to pay off when:

  • You need ZoomInfo data on opportunities or custom objects, not only leads, contacts and accounts.
  • Enrichment must pass approval or scoring rules before it reaches Salesforce.
  • You run a multi-provider waterfall and want one place to track spend and match rates.
  • You enrich in a warehouse first and push only selected records to Salesforce.

A typical build is a small service with a queue. Salesforce Change Data Capture or Platform Events pick up new records, the ZoomInfo Enrich API fetches data, and idempotent upserts by ZoomInfo ID write it into Salesforce. A credit ledger and alerts sit around them. Our Salesforce API integration guide covers the Salesforce side.

$2–10kSimple one-way custom integration
$10–40kTypical custom two-way sync with a CRM
15–25%Of the build cost per year to keep it running

ZoomInfo licenses and credits come on top of these build ranges. Our API integration cost guide is their source. For other systems and patterns, see the Salesforce integration guide.

Go-live checklist

Check off what your team has already settled, from field rules to credit caps. The score tells you whether you are still planning, ready for a capped sandbox test or ready to switch reps on.

ZoomInfo Salesforce go-live

FAQ

Does ZoomInfo integrate with Salesforce?
Yes. ZoomInfo connects to Salesforce from its Admin Portal, so users can export companies and people as Salesforce accounts, contacts and leads, and ZoomInfo can import Salesforce data to flag existing records. ZoomInfo also publishes a managed package on AppExchange (now AgentExchange) that adds an inline ZoomInfo panel and custom objects, and its Enrich feature keeps Salesforce records updated automatically.
Which Salesforce editions work with ZoomInfo?
According to ZoomInfo’s Salesforce integration guide, the integration needs the Salesforce REST API, which is included in Enterprise, Unlimited, Performance and Developer editions. On Professional Edition or other editions without API access, you have to buy API access first. You also need a Salesforce user with API access and read and write rights on accounts, contacts, leads and campaigns.
Does ZoomInfo overwrite data in Salesforce?
Only if you tell it to. Each mapped field is set to Complete if missing (the default, which fills only blank fields) or Overwrite. ZoomInfo recommends keeping standard Salesforce fields on Complete if missing and using Overwrite only for custom fields created for ZoomInfo data, so reps’ own edits are never replaced.
How many ZoomInfo credits does Salesforce enrichment use?
ZoomInfo charges one credit for each new contact or company record you export or enrich. According to ZoomInfo’s API documentation, a record you have paid for stays under management for 12 months, and re-enriching it in that period costs no extra credits. Scheduled Enrich jobs let you cap credits per run, and enrichment in a Salesforce sandbox still uses credits.
How does ZoomInfo prevent duplicates in Salesforce?
On export, ZoomInfo checks Salesforce accounts by ZoomInfo ID, then website, then exact company name, and checks contacts and leads by ZoomInfo ID, then email, then first name, last name and exact company name. Users then update the match, create a duplicate or skip the record, depending on what the admin allows. You can instead apply your own Salesforce duplicate rules, which needs the Author Apex permission.
Is it legal to load ZoomInfo contact data into Salesforce?
B2B data is commonly used for prospecting, but it is still personal data. The CCPA has covered California business contacts since its B2B exemption expired in 2023, and according to California’s privacy agency, data brokers must register with the state and, from August 1, 2026, process deletion requests from its DROP platform. Keep the source of each record, honor opt-outs and deletions in Salesforce, and check your use with legal counsel.

Where Gilzor fits

The hard part of a ZoomInfo rollout is agreeing field rules, ownership and a credit budget before the first export. We can work through those decisions with your sales ops team. Gilzor, a Poland- and Cyprus-based software development company, builds and maintains Salesforce integrations.

From there we configure ZoomInfo’s integration and Enrich in a sandbox first, or build a custom enrichment flow on the ZoomInfo and Salesforce APIs, and keep supporting it after launch. Scoping details are on our Salesforce integration services page.

No sales pitch

Get a straight answer for your project

Tell us what you’re building. We’ll reply with options, a rough cost and timeline. If we’re not the right fit, we’ll say so.

Next, a few optional questions so the first call is useful. We use your details only to reply to your request. Privacy Policy

Art Scherbakov
Written byArt Scherbakov

Co-Founder of Gilzor. Works with founders and product companies on how to staff and run engineering: team extension, dedicated teams, and getting stalled projects moving again.

Gilzor · Web Development partner

Need a team for your web product?

95%referred by business partners
70+successful launches
85%repeat business
98%delivered on time

The team behind them

Art Scherbakov
Art ScherbakovCo-Founder
Andrew Laminsky
Andrew LaminskyCTOLinkedIn
Yuri Rudenya
Yuri RudenyaHead of Mobile Development at GilzorLinkedIn
Alena Timofeeva
Alena TimofeevaProduct Marketing LeadLinkedIn
Tell us what you’re buildingOptions, a rough cost and timeline for your project. No commitment.

More insights