The best CRM enrichment tool depends on the job you need done. HubSpot’s built-in data enrichment fills firmographics and basic contact fields on paid plans and does not use HubSpot Credits. Salesforce has no built-in source of external data, because Salesforce removed the Data.com service. For direct dials, verified emails, job-change handling, and buying committee coverage in either CRM, RevOps teams pair the CRM with a database that writes back through a native integration, such as SalesIntel. Waterfall tools fit when you need rare fields that no single database holds.
That is the short version. The rest of this guide shows how each option handles field mapping, overwrite rules, refresh schedules, duplicates, integration depth, setup effort, and pricing, so you can pick one without guessing.
Who this guide is for, and what it covers
This guide is for the RevOps owner who maintains Salesforce or HubSpot data. Your job is not finding new prospects. Your job is keeping the records you already have complete, current, and trusted.
That scope matters. Prospecting data is a different buying decision, and SalesIntel covers it in its guide to lead enrichment tools. This article stays inside the CRM: how data gets written to records, who controls it, and what happens when something goes wrong.
Every product behavior below comes from vendor documentation, not marketing pages.
The three types of CRM enrichment tools
Before comparing features, separate the categories. They solve different problems, and mixing them up is how teams buy the wrong tool.
Native CRM enrichment
Native enrichment is built into the CRM and managed from its own settings. HubSpot offers it for contacts and companies. Salesforce offers Data 360 enrichments, which copy data from Data 360 into CRM fields. That copies data you already hold. It does not bring in new external contact data.
The appeal is simple. There is no extra vendor, no extra login, and no integration to maintain.
Waterfall tools
A waterfall tool checks several data providers in sequence until it finds a value for a field. If the first source has no mobile number, it tries the next one, and so on. The tool then writes the result back to your CRM through an API, a Salesforce Flow, or middleware.
The appeal is coverage. If you need niche fields or long-tail records, a single database may not hold them. The trade-off is that you own more of the plumbing: the mapping, the overwrite logic, and the monitoring.
Standalone databases with CRM sync
A standalone database is a data provider with its own platform. You search it and export from it, and it also syncs enrichment into your CRM. The best ones write back through a native integration with admin controls, rather than a one-way export.
SalesIntel is in this category. It is a pipeline generation platform for GTM teams, and its enrichment runs inside Salesforce and HubSpot on AI+Human-verified data with 95% accuracy.
The rest of this guide compares all three on the same seven dimensions.
The comparison at a glance
| Dimension | HubSpot native | Salesforce native | Waterfall tools | Database with CRM sync (SalesIntel) |
| Field mapping | Mapping tab, one source field per property, types must match | Copy field maps Data 360 fields to CRM fields | You build and maintain the mapping | Per-object mapping, plus technographic fields |
| Overwrite rules | Three rules per property | No external source to overwrite from | You define them in each flow | Overwrite checkbox per field, separate rule for email-verified data |
| Refresh schedule | Automatic on new records, monthly continuous refresh | Data 360 sync schedule | Whatever trigger you build | Inline, manual, triggered, or scheduled daily, weekly, or monthly |
| Duplicate handling | Auto-dedupe by email and domain, duplicate manager | Matching and duplicate rules | Depends on your matching logic | Multi-field matching, duplicate counts in buying committee reports |
| Integration depth | Forms, workflows, imports, segments | Data 360 only | API, Flow, or middleware | Managed package (Salesforce), connected app (HubSpot) |
| Setup effort | Low | Medium to high | Medium to high | Medium |
| Pricing model | Included on paid plans, no HubSpot Credits | Data 360 is a separate product | Varies by vendor, confirm volume terms | Quote-based; unlimited users and unlimited export and enrichment credits per user per month |
The sections below explain each row.
Field mapping
Field mapping decides which enrichment value lands in which CRM property. Get it wrong and good data fills the wrong field, or fails to write at all.
HubSpot native. HubSpot’s mapping tab lets you point each enrichment field at a property. Each receiving property can map to one source property, and the property type must match the enrichment field type. A text City field maps to a custom text City field, for example. Custom dropdowns need exact matches between option labels and internal names. Mapping changes apply to future enrichment only, so they do not fix records you already enriched.
HubSpot’s default contact properties include job title, seniority, role, city, state, country, and LinkedIn URL. The list does not include email address or phone number. If you need direct dials or verified emails on contact records, native enrichment will not supply them.
Salesforce native. A copy field enrichment maps a Data 360 field to a CRM field. You create the target fields, then grant the Customer 360 Data Platform Integration user write permission to them. The source is your own unified data, so it fills fields from data you already collected.
Waterfall tools. Mapping is yours to design. That gives you flexibility and a long maintenance list. Every new field means another mapping to build and test.
SalesIntel. Mapping happens per object (Company, Contact, and Lead in Salesforce, Company and Contact in HubSpot). Mapping more fields improves match rates, because SalesIntel uses your existing data to find the right record. And if you use state and country picklists in Salesforce, you must map address fields in pairs, or the state value will not write.
Technographics map one field per selection. Individual selections write a true or false value to a checkbox field, such as “Does this company use HubSpot?” Aggregated selections write text, such as “What CRM does this company use?”
Overwrite rules
Overwrite rules are where enrichment projects go wrong. One loose setting can replace a rep’s careful edit with a database value, and nobody notices until a campaign breaks.
HubSpot native. Each mapped property gets one of three rules: fill empty values only, fill empty values and overwrite existing ones, or do not fill. HubSpot’s own examples suggest protecting first and last name with fill-empty-only, and overwriting job title and seniority to keep them current. The method also matters. According to the HubSpot documentation, automatic enrichment fills blanks and does not overwrite values set by a user or another system. Manual enrichment lets you choose. Continuous enrichment updates values it filled earlier, and stops on any property a person or system has since edited.
One catch: the Enrich record workflow action and conversational enrichment can overwrite properties regardless of the rule on the mapping tab. If you use workflows to enrich, check the action’s own setting.
Salesforce native. Data 360 copy fields write to fields you created for that purpose, so the control is field-level security and the permission set, not an overwrite rule.
Waterfall tools. You set the logic in each flow. The common failure is a flow that overwrites every field it can reach. Decide the protected fields first.
SalesIntel. Each mapped field has an overwrite checkbox. Unchecked keeps your data. Checked replaces it with SalesIntel’s update, and if SalesIntel has no data for the field, your value stays. Contacts and leads get a second rule for email-verified data, which is one tier below AI+Human-verified data. You can fill only blanks with that tier while overwriting with the higher one. The guide’s example: overwrite phone numbers with AI+Human-verified numbers, but fill empty phone fields with email-verified data.
SalesIntel also gives you an undo. Enrichment jobs can be rolled back within 15 days, which resets fields the job changed to their earlier values. Changes made to those fields after the job ran are lost, so roll back early.
A practical rule for any tool: protect fields people own (owner, lifecycle stage, notes), and overwrite fields that decay (title, phone, headcount).
Refresh schedules
Refresh controls how fast a changed fact reaches your CRM.
HubSpot native. Settings include automatic enrichment of new records and continuous enrichment, which updates previously enriched records monthly. Automatic settings are off by default, and a Super Admin has to turn them on for contacts and companies separately.
Salesforce native. Data 360 syncs data into CRM fields on its own configured schedule. The refresh is only as current as the source data inside Data 360.
Waterfall tools. Refresh follows whatever trigger you build: record created, field changed, or a scheduled run. That is flexible, and it means someone has to build and monitor each trigger.
SalesIntel. Enrichment runs four ways: inline on a single record in real time, as a one-time manual job, on record creation (triggered), or on a schedule of daily, weekly, or monthly. Scheduled and triggered jobs accept filters so only target records qualify. In Salesforce, SalesIntel recommends scheduling auto-enrichment for evenings and weekends, because Salesforce must re-index updated data.
There are two clocks here. The job schedule is how often SalesIntel checks your records. The data refresh cycle is how often SalesIntel re-verifies its own data, which is every 90 days. Ask any vendor about both.
SalesIntel also handles job changes during enrichment. When a contact has moved to a new company, SalesIntel flags the record and, if you choose, creates a new contact for the new role. You can link the old and new records, through a lookup field in Salesforce or an association label in HubSpot. Each job change is processed once by default, so the original record is not reprocessed in future jobs unless you clear the disposition fields. For Salesforce, you can also opt in to reprocess job-change records during manual enrichment jobs to update contact linkages that were not previously set up.
Duplicate handling
Enrichment can expose duplicates, and bulk jobs can multiply them if matching is loose. Fix duplicates before you enrich, not after.
HubSpot. HubSpot automatically deduplicates contacts by email address and companies by domain name. A duplicate manager compares record values daily and surfaces likely pairs for review. Bulk merging and custom duplicate rules need Data Hub Professional or Enterprise.
Salesforce. Salesforce relies on matching rules and duplicate rules. Matching rules define what counts as a possible duplicate. Duplicate rules decide what happens when one is found, and they warn users before records are saved. Each duplicate rule can include up to three matching rules, and each object can have up to five active matching rules.
Waterfall tools. Duplicate protection depends on how the flow looks up records before it creates or updates them. Test with a sample set that includes known duplicates.
SalesIntel. SalesIntel matches on multiple fields. For contacts, that includes name, email, personal email, LinkedIn URL, company name, company website, phone numbers, and title. For accounts, it uses name, website, country, LinkedIn URL, and HQ phone. Buying committee enrichment, which adds contacts to open opportunities, reports the count of duplicate contacts in its post-job report.
One caution applies to job-change records. Creating a new contact for a new role is useful, but your duplicate rules should treat the old and new roles as related people, not as a merge candidate. Test that before turning on the option.
Integration depth
Integration depth is how far the tool reaches into your CRM workflows, not just whether a connector exists.
HubSpot native. Enrichment reaches into forms, lead scoring, workflows, segments, and imports. Form shortening checks the enrichment dataset and shows visitors only the fields it cannot fill. From an index page, you can bulk enrich up to 100 records at a time. Larger jobs go through segments, imports, or workflows.
Salesforce native. Data 360 enrichments surface on record pages and copy into fields, and they depend on Data 360 being set up.
Waterfall tools. Depth equals what you build, usually through API calls, Flow, or middleware.
SalesIntel in Salesforce. The managed package installs from AppExchange and includes the SalesIntel app, an EnrichIntel tab for settings, an Analyze History object for job results, inline components for Account, Contact, and Lead pages, reports and dashboards, and tracking fields. The package requires a Performance, Developer, Enterprise, or Unlimited edition, or Professional with API access. According to the guide, most enrichment requests are outgoing calls that fetch data, so they have minimal effect on your Salesforce API allocation.
SalesIntel in HubSpot. A CRM Admin connects through OAuth. All paid HubSpot editions are supported, and the integration needs at least 10 available custom fields on each object to hold tracking data. Jobs can target filters or existing HubSpot lists, active or static.
For both CRMs, SalesIntel installs tracking fields that show when a record was first enriched, last enriched, last matched, and at what accuracy tier. That makes enrichment reportable, so RevOps can answer “which records are current?” with a report instead of a guess.
Implementation effort
HubSpot native. Low. A Super Admin turns on settings, reviews the mapping tab, and assigns the data enrichment permission to users who need it. HubSpot also recommends testing record eligibility before you enrich. Contacts need a business email, and companies need a domain, or they will not enrich.
Salesforce native. Medium to high, because Data 360 is a separate product with its own setup before copy fields work.
Waterfall tools. Medium to high. Expect to design flows, handle errors, and monitor volume.
SalesIntel. Medium, and the steps are documented. See the walkthrough below.
Pricing models
HubSpot native. Data enrichment does not consume HubSpot Credits. It is available on paid Starter, Professional, and Enterprise subscriptions across the listed hubs. Smart properties are separate, and they do consume credits.
Salesforce native. Data 360 is licensed separately from Sales Cloud, so confirm scope and cost with your Salesforce account team.
Waterfall tools. Pricing varies by vendor. Ask what a full monthly re-enrichment of your database would cost, because that number is what you will pay in practice.
SalesIntel. SalesIntel offers quote-based pricing, with unlimited users and unlimited export and enrichment credits per user per month at a single price. The pricing page also lists contact, account, and inbound lead enrichment as included capabilities, with Advanced Intent available as an add-on. See the SalesIntel pricing page for details.
A walkthrough: setting up SalesIntel enrichment
Here is the setup path SalesIntel documents for each CRM. Both follow the same logic: connect, map, test small, then automate.
In Salesforce
- Install the package. Search “SalesIntel” on AppExchange and choose Get It Now, or Try It Free to test in a sandbox first. SalesIntel recommends installing for all users and setting permissions afterward.
- Connect through OAuth. Your designated SalesIntel CRM Admin connects the two systems under Settings, Integrations, Salesforce Settings. This connection gives SalesIntel access to your schema.
- Assign permission sets. Operations admins and anyone running inline enrichment need the SalesIntel Permission Set. A non-admin version hides the EnrichIntel tab.
- Map fields per object. In the EnrichIntel tab, map Salesforce fields to SalesIntel fields, set the overwrite checkbox for each, and choose whether each field updates during auto-enrichment.
- Add inline components. In Lightning App Builder, add the Account, Contact, or Lead component to its own tab on the record page.
- Test small. Create an account with only a name and website, run inline enrichment, then run a manual job on a small filtered set. Review the report before you start the write.
- Turn on auto-enrichment. Enable triggered or scheduled jobs with filters, ideally in off-hours.
Before step 4, you can run a diagnosis job. It reviews the health of an object’s data and reports what could be updated, and it never writes results back to your org.
In HubSpot
- Connect. In SalesIntel, open Enrichment, then HubSpot Enrichment, then Connect Now. Log in to the correct HubSpot account if you have more than one.
- Map fields. Set mappings for Contacts and Companies, with an overwrite checkbox on each field. If you do not use the Company object, choose the lead-style mapping, which writes company data to the contact record.
- Run a small manual job. Choose a task type. An auto task matches and writes in one run. A manual task waits for you to review the match report and click Start Enrichment.
- Schedule it. Add daily, weekly, or monthly jobs, or enrich every new record on creation. Use up to three filters or a HubSpot list to control which records qualify.
In both CRMs, the preview button shows how many records qualify before you commit. Use it every time.
Decision table: which tool fits which scenario
| Scenario | Best starting point | Why |
| HubSpot, new inbound records need industry, company size, and location | HubSpot native enrichment | It is built in, includes form shortening, and does not use HubSpot Credits |
| HubSpot, contact records need direct dials or verified emails | Database with CRM sync | HubSpot’s default contact enrichment properties do not include email or phone |
| HubSpot Free | HubSpot native is not available | HubSpot enrichment requires a paid subscription, and SalesIntel enrichment does not support free HubSpot |
| Salesforce, any external data is missing | Database with CRM sync or waterfall | Salesforce removed Data.com and has no built-in external data source |
| Salesforce with Data 360 already licensed | Data 360 copy fields, plus a data provider | Copy fields move data you hold, but external contact data still needs a provider |
| Salesforce Professional edition without API access | Add API access first | SalesIntel enrichment needs API access, and without it only a manual import workaround exists |
| Leads arrive and the person does not match a database | Tool with partial lead enrichment | SalesIntel can fill company data from email domain and website to support routing |
| Contacts keep changing jobs | Scheduled enrichment with job-change handling | New roles are flagged, and new contacts can be created and linked |
| Open deals have thin buying committee coverage | Buying committee enrichment | SalesIntel adds contacts to open deals by persona group, using up to five groups per job |
| You need rare fields, such as custom research attributes | Waterfall tool | It queries several providers, which suits long-tail data |
Most mature RevOps teams end up combining two. Native enrichment covers firmographics on new records, and a database covers contact depth and decay.
A rollout checklist for RevOps
Whichever option you choose, run it in this order.
- Measure the baseline. Know your completeness and match rate before changing anything.
- Deduplicate first. Clean duplicates before bulk enrichment, not after.
- List protected fields. Decide which fields people own and which can be overwritten.
- Start with a small manual job. Review the report before any write.
- Automate with filters. Scheduled and triggered jobs should target the records you care about, not the whole database.
- Report on it. Use enrichment tracking fields and activity logs to see what changed.
- Keep the rollback window in mind. SalesIntel gives 15 days, so review results early.
Frequently asked questions
What is CRM data enrichment?
CRM data enrichment is the process of filling in or updating records in a CRM, such as Salesforce or HubSpot, with data from an outside source. Common fields include job title, company size, industry, email address, phone number, and tech stack.
Does Salesforce have built-in data enrichment?
Salesforce has no built-in source of external contact and company data. Salesforce removed the Data.com service, and its Data 360 enrichments copy data you already hold into CRM fields. Most Salesforce teams add a data provider through AppExchange or an API.
Does HubSpot charge credits for data enrichment?
HubSpot states that data enrichment does not consume HubSpot Credits. It is available on paid subscriptions, and a Super Admin must turn on the automatic settings, which are off by default.
How do overwrite rules work in enrichment tools?
Overwrite rules decide whether enrichment can replace a value that already exists. HubSpot offers fill-empty-only, fill-and-overwrite, and do-not-fill for each property. SalesIntel uses an overwrite checkbox on each mapped field, with a separate rule for email-verified data. Protect fields people edit by hand, and overwrite fields that decay.
How often should CRM records be re-enriched?
Match the schedule to how fast your data decays. HubSpot’s continuous enrichment refreshes monthly. SalesIntel offers daily, weekly, and monthly scheduled jobs, and re-verifies its own data on a 90-day cycle. Many teams enrich new records on creation and re-check the rest on a monthly schedule.
Will enrichment create duplicate records?
It can, if matching is loose or if a tool creates records for job changes. Run deduplication before bulk enrichment, review your matching rules, and test any option that creates new contacts on a small set first.
What is the difference between native, waterfall, and database enrichment?
Native enrichment is built into the CRM. Waterfall tools check several providers in sequence for each field. A database with CRM sync, such as SalesIntel, supplies its own verified data and writes it to your CRM through an integration with admin controls.
See SalesIntel enrichment in your own CRM
SalesIntel is a pipeline generation platform for GTM teams. It combines ICP modeling, buying intent signals, and buying committee activation so AI agents can automate prospecting while your team builds relationships. Built on the foundation of AI automation and human-verified B2B data.
Clean records are what make that work. ICP Intelligence, Signal Intelligence, and Buying Committee Activation all run better when the CRM holds current data.
Book a meeting to see enrichment run against your Salesforce or HubSpot records. You can also read how SalesIntel handles data enrichment or review the Salesforce integration.
ICP Analysis & Lookalike Modeling
Buying Signals & Intent
SalesIntel Platform
Marketing
Sales
Revenue Operations
Advertising
Events