Most Salesforce data enrichment projects die at the same point, and it is not the lookup. It is the write: company data copied onto every Contact, a picklist that rejects half the batch, and enriched titles that vanish the moment a rep converts the Lead.
To sync enriched lead data back to Salesforce, create the custom fields once in Object Manager, map each enriched field to a Lead, Contact or Account field, and write it over the Salesforce API. A scheduled refresh then re-enriches the records and the export writes the changes back, so records stop decaying between runs.
Salesforce has had no first-party enrichment since Data.com was retired in 2021, so every org runs this on something external. What follows is the whole path: fill the gaps from a provider waterfall, add the context your own systems already hold, and get all of it onto the right Lead, Contact and Account fields.
What Salesforce data enrichment has to fill after Data.com
Open a few hundred Leads that arrived through web forms and the shape repeats. Email is there, because they typed it themselves. Title is on about half. Industry has four spellings of the same thing, because four people picked their own wording for a free-text field. Phone is mostly blank, and NumberOfEmployees is blank nearly everywhere.
Einstein does not close this gap, and it is worth being precise about why. It reads the fields already sitting on a record in order to predict and to score. Appending a title that was never captured is a different operation, and Salesforce has not shipped one since Data.com went away.
That is the visible layer. Underneath it sits the set that actually decides who gets called:
what the account pays, on which plan, and when the contract comes up
how many tickets they opened this quarter, and how the last one ended
when they last logged in, and how many seats are genuinely in use
whether the company raised, moved, or hired a VP of Sales last month
Only the last of those is for sale from a data vendor. The first three already exist inside tools you pay for every month, and not one of them writes to Salesforce on its own.
Where each enriched Salesforce field comes from
Two kinds of source, one destination.
Salesforce field | Comes from | Why it earns its place |
|---|---|---|
Title, Seniority__c | Provider waterfall | Routing and personalization |
NumberOfEmployees, Industry | Provider waterfall | ICP fit and territory rules |
Email, Deliverability | Provider waterfall, then Verify email | Everything you send depends on it |
Plan__c, MRR__c | Your billing system | Expansion and renewal risk |
Open_Tickets__c | Your support desk | Who is unhappy before the call |
Last_Login__c | Your product database | Who uses what they bought |
The waterfall half runs itself. We order providers by accuracy and hit rate, try them in sequence, and stop at the first real answer. You see what a run costs before it starts, and a lookup that comes back empty is never billed. There is no chain for you to assemble, which matters mostly because assembling one badly is how enrichment bills get surprising. If you want the ordering logic itself, how waterfall enrichment works covers it properly.
The second half is the one no data marketplace can sell you at any price. Connect billing, your support desk, your product Postgres or your analytics tool, and each record picks up its own plan, ticket count and last-active date. The matching underneath is ordinary record linkage: email address for people, company domain for accounts. 142 integrations work as sources, destinations or both, on every paid plan.
Salesforce data enrichment setup, step by step
About thirty minutes, and the same path works whether you enrich Salesforce Leads, Contacts or Accounts.
1. Connect Salesforce. Authorize over OAuth as a user with read and write access on the objects you want enriched. Nothing to install in Setup, and no package to push through a sandbox first. The Salesforce integration page has the object-level detail if you need it before you connect.
2. Pull records in. A whole object, or a filtered slice of one. Start with a report of Leads missing Title and Phone if you want a fast read on how bad it is.
3. Run the waterfall. Work email, title, seniority, employee count, industry, plus Verify email so every address gets a Deliverability verdict. Check the cost preview, then run it across everything at once instead of one record page at a time.
4. Attach your own systems. Billing, support desk, product database. People match on email, accounts on domain.
5. Write it back. Which is the next section, because that is where the interesting part is.
Sync enriched lead data back to Salesforce fields
Start in Object Manager. The export writes to fields that already exist, so create the custom fields below once, each with the right type: picklists as picklists, dates as dates, counts as numbers. It is a short list and you build it once.
Then map each enriched field to its Salesforce field. The writes go through Salesforce's published APIs.
Enriched field | Salesforce field | Type |
|---|---|---|
Seniority |
| Picklist |
Employee count |
| Number (standard) |
Plan |
| Picklist |
MRR |
| Currency |
Open tickets |
| Number |
Last login |
| Date |
Person data goes to Lead or Contact, company data to Account. That sounds obvious and it is the thing most setups get wrong: copy employee count onto every Contact and you end up with six versions of one fact that drift apart inside a quarter.
Overwrite behaviour is set per field. Fill blanks by default, let genuinely decaying values like plan and employee count update in place, and leave anything a rep typed alone.
Ranking the enriched records is a separate build and this guide deliberately stops short of it. Salesforce lead scoring picks up from here, including the formula-field and Einstein side, and it starts from exactly the fields you have just filled.
One structural point is worth more than it looks. The write-back runs over the API from outside your org rather than as a callout from inside a Record-Triggered Flow. A lot of published Salesforce enrichment advice builds the whole thing in Flow, then spends four paragraphs on callout limits, loop guards and batch sizing. Those are problems that exist only because the enrichment was put inside the transaction to begin with. If you have an admin who enjoys Flow, by all means. If you are the founder and also the admin, do not start there.
Salesforce write-back is included on every paid plan at $20 a month. Worth saying plainly, because write-back is the step this category most often prices at several hundred dollars, and it is the step that makes everything before it operational.
Salesforce data enrichment edge cases
Lead conversion. Add every enriched custom field to Map Lead Fields in Object Manager. Salesforce carries across only what that mapping names, so an unmapped enriched field is discarded silently the moment a rep converts. Say the mapping is missing for a week before anyone notices: every enriched title on a Lead converted that week is gone, which is why it sits first on this list.
Validation rules and picklists. An Industry value that is not in your picklist gets rejected at the write. Normalize the enriched value to your picklist values, or point it at a text field and standardize later.
Duplicates. Enriching an org full of duplicate Leads gives you enriched duplicates. Merge first. Enrichment is not deduplication, and treating it as if it were mainly improves the completeness number on a dashboard.
Personal email domains. A gmail.com address gives the waterfall nothing to work with at the company level. Match on the associated Account instead, or accept the gap.
Large orgs. Past a few hundred thousand records you are into batching and scheduling, and honestly the answer depends on your API request allocation more than on anything we do. Start with one report.
A tangent, since we are in the weeds anyway. Every enrichment ROI calculator we have read multiplies rep-hours saved by a loaded hourly rate and arrives at a very large multiple. Pipelines do not work like that. Saved hours do not convert to revenue at par, and quoting a figure like that to a finance team is how a reasonable budget request gets laughed out of the room. Enrichment is cheap and the records get better. That argument survives contact with a CFO; the multiplier does not.
What Salesforce data enrichment costs and what changes after the first run
The build above runs on the Team plan: $20 a month, 1,000 credits, unlimited seats, every integration included, as a source, a destination or both. One meter covers all of it, each operation carries a published credit price, and unused paid credits never expire. The free tier is $0 with 200 credits, which is enough to enrich a real report this afternoon and see how much of your org was actually blank.
What changes is quieter than a demo makes it sound. A rep opens a Lead and the title, the employee count, the plan and the date of the last login are already on the page. Nobody opened the billing system in another tab. Nobody asked in Slack whether this one is a customer.
Then the schedule takes over, and that is the part that compounds. New Leads get enriched as they arrive, the fields that rot get corrected in place, and the org stops sliding back toward the blank Title and Phone fields this guide started from. Connect Salesforce and get started free.

