TL;DR
CRM-native enrichment tools miss 40-60% of contact fields. This guide gives you step-by-step playbooks for setting up automated data enrichment in HubSpot and Salesforce using Clu, plus a CSV playbook for Pipedrive. Each playbook takes under 30 minutes to implement, and the HubSpot and Salesforce ones keep your records complete without manual work.
Your CRM has gaps. Every CRM does.
New leads come in with a name and email. Maybe a company. Rarely a phone number, job title, industry, or employee count. Your reps fill in what they can manually, but most records stay incomplete.
The result: lead scoring breaks, routing misfires, and outreach falls flat. You paid to acquire those leads. Incomplete data means you are wasting that investment.
The fix is automated CRM enrichment. Connect an enrichment tool, set up triggers, and every new record gets filled in automatically. No manual research. No spreadsheet exports.
Here is exactly how to do it in the three most common B2B CRMs: automated in HubSpot and Salesforce, by CSV in Pipedrive.
Why CRM-Native Enrichment Falls Short
Every major CRM has tried to solve enrichment internally. None of them do it well.
HubSpot Insights appends basic company data (industry, size, revenue) to associated company records. It does not enrich contact-level fields like direct dials, verified emails, or job seniority, so email appending on contacts still has to come from somewhere else. Coverage is limited to companies in HubSpot's own database, which skews heavily toward companies that already use HubSpot.
Salesforce Data.com was their attempt at built-in enrichment. Salesforce deprecated it in 2020 and fully sunset it in 2021. There is no native replacement. Salesforce now recommends third-party AppExchange solutions for enrichment.
Pipedrive has no native enrichment whatsoever. You get whatever data your reps type in. There is no automatic field population, no company matching, and no data append functionality.
Here is how they compare:
| Capability | HubSpot | Salesforce | Pipedrive |
|---|---|---|---|
| Native contact enrichment | No (company only) | No (Data.com sunset) | No |
| Work email verification | No | No | No |
| Direct dial phones | No | No | No |
| Job title normalization | No | No | No |
| Firmographic append | Partial (Insights) | No | No |
| Technographic data | No | No | No |
| Multi-source coverage | No | No | No |
The pattern is clear. CRM-native tools were never designed to deliver the depth and accuracy that revenue teams need. That is where waterfall enrichment fills the gap -- querying 25+ data sources in sequence to achieve 85-95% field coverage.
HubSpot Enrichment Playbook
HubSpot is the most straightforward CRM to enrich. Native integration, strong workflow automation, and flexible custom properties make it ideal for automated data enrichment. Our deeper guide to data enrichment for HubSpot covers field mapping and coverage in more detail.
Step 1: Connect Clu to HubSpot
Open your Clu dashboard and navigate to Settings > Integrations. Click Connect HubSpot. You will be redirected to HubSpot's OAuth authorization screen.
Grant Clu access to:
- Contacts (read and write)
- Companies (read and write)
- Lists (read)
Once authorized, Clu auto-maps standard fields:
| Clu Field | HubSpot Property | Direction |
|---|---|---|
| Work email | Bidirectional | |
| Direct dial | Phone number | Push to HubSpot |
| Job title | Job title | Push to HubSpot |
| Company name | Associated company | Push to HubSpot |
| Employee count | Number of employees | Push to HubSpot |
| Industry | Industry | Push to HubSpot |
| LinkedIn URL | LinkedIn URL (custom) | Push to HubSpot |
| Confidence score | Clu Score (custom) | Push to HubSpot |
For LinkedIn URL and Confidence Score, create custom contact properties in HubSpot first. Use Single-line text for LinkedIn URL and Number for Confidence Score.
Step 2: Set up workflow triggers
In HubSpot, go to Automation > Workflows > Create workflow. Choose Contact-based as the workflow type.
Set up three triggers (create separate workflows or use branching logic):
Trigger 1: New contact created. This catches every new lead from forms, imports, or API submissions. Set the enrollment trigger to "Contact is created" with no additional filters. This is your primary enrichment workflow.
Trigger 2: Lifecycle stage change. When a contact moves from Subscriber to Lead, or from Lead to MQL, trigger re-enrichment. This catches contacts who were initially enriched with partial data and may have updated information available.
Trigger 3: List membership. Create a static or active list called "Needs Enrichment." Add contacts manually or via list criteria (e.g., "Phone number is unknown" AND "Job title is unknown"). Use this list as an enrollment trigger for batch enrichment of existing records.
For each trigger, add the action Trigger a webhook or use the Clu integration action to send the contact to Clu for enrichment.
Step 3: Configure enrichment rules
Not every enrichment should overwrite existing data. Configure rules for each field:
- Overwrite if empty: Default behavior. Only fills in fields that have no value. Safest option for most fields.
- Always overwrite: Use for fields that decay quickly, like job title and company. If someone changed roles, you want the latest data.
- Append: Use for phone numbers -- add the new direct dial without removing an existing office number.
- Never overwrite: Use for fields your reps manually verify, like custom notes or deal-specific data.
Avoid Overwriting Manually Verified Data
Set "Never overwrite" for any field that your sales team edits manually. If a rep confirmed a direct dial by calling it, you do not want automated enrichment replacing that number with a different one.
Set a minimum confidence threshold. Clu assigns a confidence score (0-100) to every enriched field. Set your threshold to 80+ for overwrite rules. Fields below that score get flagged for manual review instead of pushed automatically.
Salesforce Enrichment Playbook
Salesforce requires slightly more setup than HubSpot because of its permission model and Flow builder, but the result is equally powerful. This Salesforce enrichment automation handles both Leads and Contacts. See our full guide to data enrichment for Salesforce for the object-by-object breakdown.
Step 1: Install the Clu package
You have two connection options:
Option A: AppExchange package (recommended). Install the Clu managed package from Salesforce AppExchange. This creates custom fields, permission sets, and pre-built Flow templates automatically. Assign the "Clu Enrichment User" permission set to your admin and any users who need to trigger manual enrichment.
Option B: API. If your Salesforce org restricts managed packages, call the Clu REST API from your own code. This requires more manual field mapping but avoids package dependencies.
After installation, navigate to Setup > Custom Settings > Clu Configuration. Enter your Clu API key and set the default enrichment mode (real-time or batch).
Step 2: Create Flow automation
Open Setup > Flows > New Flow. Select Record-Triggered Flow.
Configure the trigger:
- Object: Lead (create a separate Flow for Contact if needed)
- Trigger the Flow when: A record is created or updated
- Condition requirements: All conditions are met
- Add condition: "Email is not null" (ensures there is enough data to enrich)
Add the enrichment action:
- Add an Action element to the Flow
- Select the Clu Enrich Record action (installed with the package)
- Map the Record ID to the action's input
- Select which fields to enrich: email verification, phone, title, company data
Add an Update Records element:
- After the enrichment action returns data, update the Lead/Contact record
- Map each enriched field to its Salesforce counterpart
Set entry conditions to prevent infinite loops. Add a condition: "Last Modified By is not equal to [Clu Integration User]." This prevents the enrichment update from re-triggering the Flow.
Batch Enrichment for Existing Records
For your existing database, use Clu's bulk enrichment feature. Export a Salesforce report of records missing key fields, upload to Clu, enrich in bulk, and re-import using Data Loader. This is faster than running every record through the Flow.
Step 3: Map fields and set deduplication rules
Salesforce field mapping matters more than in other CRMs because of its rigid data model. Map enriched fields to both standard and custom fields:
| Clu Field | Salesforce Standard Field | Custom Field (if needed) |
|---|---|---|
| Verified email | Cleanlist_Verified_Email__c | |
| Direct dial | Phone | Cleanlist_Direct_Dial__c |
| Mobile | MobilePhone | -- |
| Job title | Title | -- |
| Seniority level | -- | Cleanlist_Seniority__c |
| Company size | NumberOfEmployees | -- |
| Industry | Industry | -- |
| Revenue | AnnualRevenue | -- |
| LinkedIn URL | -- | Cleanlist_LinkedIn__c |
Set deduplication rules in Setup > Duplicate Management > Duplicate Rules. Create a rule that matches on email address to prevent enrichment from creating duplicate records. Use the "Alert" action instead of "Block" so reps can review potential duplicates rather than losing data.
Pipedrive Enrichment Playbook
Pipedrive lacks both native enrichment and a built-in workflow automation engine on par with HubSpot or Salesforce, and Clu does not sync with Pipedrive. The route is a CSV: export from Pipedrive, enrich in Clu, and import the results back.
Step 1: Export, enrich and re-import
Export the persons you want to enrich from Pipedrive as a CSV, upload the file to a Clu lead list, and run enrichment. When it finishes, export the enriched list as a CSV and import it back into Pipedrive.
Map Pipedrive's custom fields when you import the enriched CSV. Unlike HubSpot and Salesforce, Pipedrive uses custom fields for most enrichment data points since its standard field set is minimal.
Create these custom fields in Pipedrive before your first import (under Settings > Data fields > Person):
- Direct Dial (Phone)
- Seniority Level (Single option)
- Employee Count (Numeric)
- Industry (Single option or text)
- LinkedIn URL (Text)
- Enrichment Confidence (Numeric)
- Last Enriched Date (Date)
Step 2: Choose which records to export
Without a sync, you decide which Pipedrive records go through Clu. Three exports cover the usual cases.
Export 1: New persons. Filter Pipedrive for persons added (manually, via import, or through a web form) since your last run, and export them.
Export 2: Deal stage change. When deals reach a specific stage (e.g., "Qualified" or "Demo Scheduled"), export the associated persons and re-enrich them. This ensures you have the latest data before high-value interactions.
Export 3: Stale records (for batch). Daily or weekly, export persons where "Last Enriched Date" is empty or older than 90 days, then run them through Clu for re-enrichment.
Step 3: Configure custom field mapping
Pipedrive's flexible custom field system is actually an advantage here. You control exactly what gets stored and how.
Map each enriched column to a Pipedrive custom field when you import the CSV:
| Clu Output | Pipedrive Field | Update Rule |
|---|---|---|
| Verified email | Email (standard) | Overwrite if empty |
| Direct dial | Direct Dial (custom) | Always overwrite |
| Job title | Job title (standard) | Always overwrite |
| Seniority | Seniority Level (custom) | Always overwrite |
| Company size | Employee Count (custom) | Overwrite if empty |
| Industry | Industry (custom) | Overwrite if empty |
| LinkedIn URL | LinkedIn URL (custom) | Overwrite if empty |
| Confidence | Enrichment Confidence (custom) | Always overwrite |
Fill the "Last Enriched Date" custom field on every import. This lets you build filtered views in Pipedrive to find stale records that need re-enrichment.
Pro Tip
Create a Pipedrive filter called "Stale Records" with criteria: Last Enriched Date is more than 90 days ago OR is empty. Use this filter as a regular batch enrichment source.
CRM Enrichment Feature Comparison
Choosing the right CRM for enrichment workflows depends on what each platform supports natively. Here is how HubSpot, Salesforce, and Pipedrive compare across the features that matter most for automated enrichment.
| Feature | HubSpot | Salesforce | Pipedrive |
|---|---|---|---|
| Native enrichment | Partial (company only) | None (Data.com sunset) | None |
| API access | All plans | All plans | All plans |
| Workflow automation | Professional+ | All editions (Flow) | Advanced+ (basic) |
| Custom fields | All plans (unlimited) | All editions | All plans |
| Webhook triggers | Professional+ | All editions | Advanced+ |
| Record-triggered flows | Yes (workflows) | Yes (Flow builder) | Limited (automations) |
| Bi-directional sync | Yes | Yes | No (CSV with Clu) |
| Duplicate management | Built-in | Built-in (Duplicate Rules) | Basic (merge only) |
| Enrichment scheduling | Via workflows | Via scheduled Flows | Scheduled CSV exports |
HubSpot is the easiest to set up. Salesforce is the most customizable. Pipedrive needs the most manual work, because its records move through a CSV.
Ongoing Data Hygiene Automation
Setting up enrichment once is not enough. B2B data decays at 30-40% per year. Job changes, company moves, and email bounces erode your data quality every month. Automated hygiene keeps your CRM accurate without ongoing manual effort.
Monthly re-enrichment
Schedule a monthly re-enrichment workflow that targets records meeting any of these criteria:
- Last enriched more than 90 days ago
- Email bounced since last enrichment
- Job title contains "Former" or company field changed
- Phone number returned "not in service" on last dial
In HubSpot, build this as an active list with these filters and use it as a workflow trigger. In Salesforce, create a scheduled Flow that runs on the first of each month. In Pipedrive, export the matching persons weekly and run them through the CSV steps above.
Decay detection
Set up alerts for leading indicators of data decay:
- Bounce rate spikes: If your email bounce rate jumps above 3% in a given week, trigger an immediate re-verification of all contacts emailed in that batch.
- Phone disconnect rate: Track the percentage of calls hitting disconnected numbers. A spike above 15% signals stale phone data.
- Job title mismatches: If a rep notes a contact's actual title differs from the CRM, flag the record for re-enrichment and log the discrepancy.
Bounce monitoring
Export the week's bounced contacts from your email sending platform (Outreach, Salesloft, HubSpot sequences) and run them back through Clu. For each bounce:
- Clu re-verifies the address and looks for a current email across the waterfall
- If one is found, the updated email syncs back to your CRM
- If none is found, nothing is charged and the contact stays flagged for review
This closed-loop system prevents bounce rate creep without any manual intervention.
Frequently Asked Questions
Which CRM works best with enrichment tools?
HubSpot offers the smoothest enrichment integration experience. Its workflow automation is intuitive, custom properties are unlimited on all plans, and most enrichment tools (including Clu) offer native HubSpot connectors. Salesforce is more powerful but requires more setup. With Clu, Pipedrive records move through a CSV, and Pipedrive lacks the native automation depth of HubSpot or Salesforce.
How do I avoid overwriting good data?
Use conditional update rules. Set most fields to "overwrite if empty" so enrichment fills gaps without replacing data your team already verified. For fields that change frequently (job title, company), use "always overwrite" with a minimum confidence threshold of 80+. For fields your reps manually confirm (direct dials they have called, custom notes), set "never overwrite." Every enrichment tool worth using supports these granular update rules.
Can I enrich existing records in bulk?
Yes. All three CRMs support bulk enrichment of existing records. The fastest approach is to export a filtered list (e.g., all contacts missing phone numbers), upload to Clu for batch enrichment, and re-import the enriched data. For HubSpot and Salesforce, you can also use a workflow or Flow that re-enrolls existing records matching specific criteria. Expect to process 5,000-10,000 records per hour depending on your enrichment plan.
How many credits does CRM enrichment use?
Each contact enrichment uses one credit, regardless of how many fields are returned. Re-enrichment of the same contact uses another credit. Most teams use 1.2-1.5x their total contact count in credits per year -- the base count plus re-enrichments for bounced or stale records. Check your enrichment plan to see credit allocations and per-credit pricing at your volume tier.
Automated CRM enrichment turns incomplete records into actionable data without manual work. Whether you run HubSpot, Salesforce, or Pipedrive, the setup takes under 30 minutes and pays for itself within the first week of cleaner outreach. See which enrichment plan fits your team's volume.

