Templates / RevOps · Clean & dedupe
Bulk-clean HubSpot legacy → Salesforce
Clean HubSpot legacy data, dedupe against Salesforce, forward only the survivors.
01 Legacy Companies
Every HubSpot company lands here. AI finds the LinkedIn URL, the domain is HTTP-checked, Enrich Company fills firmographics, AI normalizes country + industry, and Send to Companies (Ready) routes survivors with Match Status='new' into the next stage.
| | | | | | | Match Status | |
|---|---|---|---|---|---|---|---|
| | Found | live | Enriched | US | Software | new | Sent |
| | Found | live | Enriched | DE | Software | new | Sent |
| | Found | live | Enriched | GB | Software | existing | Skipped (dup) |
| | Found | live | Enriched | US | Fintech | new | Sent |
| | ○ | dead | ○ | ○ | ○ | dead | Skipped (dead) |
| | Found | live | Enriched | CA | Software | new | Sent |
| | Found | live | Enriched | US | Software | new | Sent |
02 Companies (Ready for SF)
Survivors from the legacy table. Each row is HTTP-verified, normalized, and cleared as a non-duplicate against Salesforce, ready for SF import without a manual cleanup pass.
| Input | Company name | Domain | Country (Canonical) | Industry (Canonical) | Ready for SF | |
|---|---|---|---|---|---|---|
| Record | Voltio | voltio.com | United States | Software | in/voltio | Yes |
| Record | Lenza | lenza.io | Germany | Software | in/lenza | Yes |
| Record | Trackbeam | trackbeam.app | United States | Financial Services | in/trackbeam | Yes |
| Record | Cloud Pivot | cloudpivot.io | Canada | Software | in/cloud-pivot | Yes |
03 Legacy Contacts
Same shape as Legacy Companies but for contacts. Email verification, LinkedIn lookup, and SF dedup run in parallel. Survivors route into Contacts (Ready for SF).
| | Full Name | | | | |
|---|---|---|---|---|---|
| | Mara Jensen | mara@voltio.com | in/marajensen | new | Sent |
| | Diego Romero | diego@lenza.io | in/diegoromero | new | Sent |
| | Anya Patel | anya@pulsenote.com | in/anyapatel | existing | Skipped (dup) |
| | Theo Faraj | Not found | in/theofaraj | new | Skipped (no email) |
| | Eve Larsen | eve@pulsenote.com | in/evelarsen | new | Sent |
04 Contacts (Ready for SF)
Survivors from Legacy Contacts. Each row has a verified work email, a LinkedIn URL, and a confirmed non-duplicate status against Salesforce, ready for the migration import.
| Input | Full Name | Company | Ready for SF | ||
|---|---|---|---|---|---|
| Record | Mara Jensen | mara@voltio.com | in/marajensen | Voltio | Yes |
| Record | Diego Romero | diego@lenza.io | in/diegoromero | Lenza | Yes |
| Record | Eve Larsen | eve@pulsenote.com | in/evelarsen | Pulsenote | Yes |
How the workflow runs
Each step is a Baseloop action chained on a table. Clone the template and the whole sequence runs on your data, no wiring, no glue code.
- 01
Pull every HubSpot company into a Legacy Companies table.
- 02
AI finds each company's LinkedIn URL when missing so SF gets a complete record on import.
- 03
HTTP-check every domain. Dead/unreachable domains are flagged so they never make it to Salesforce.
- 04
Enrich each company with firmographics (industry, employee range, headquarters, year founded, website) via Baseloop's enrich_company action.
- 05
AI normalizes country (canonical) and industry (canonical taxonomy) so the SF migration uses one vocabulary.
- 06
Match Status combines Domain Status + SF Lookup. Only records flagged 'new' route into "Companies (Ready for SF)" — dead and existing-in-SF rows stay behind.
- 07
Repeat the same pass for contacts. Waterfall-verify email, AI-find LinkedIn, dedupe against SF, route survivors into "Contacts (Ready for SF)".
What this gets you
The CRM migration team stops dragging dead records into Salesforce. Every legacy HubSpot company gets HTTP-checked, normalized, deduped against SF, and only the live + clean ones move forward.
Integrations used
This workflow connects to 2 Baseloop integrations. Click any to see all its actions.
Build this on Baseloop today
Clone the template and the whole flow runs on your data in minutes. Free to start, no credit card.
Other clean & dedupe templates
Find broken records in your CRM
Audit every record for dead domains, bad emails, and missing data. Auto-route fixes.
View templateAlways-on re-verification of CRM contacts
Catch HubSpot contacts who moved jobs, route the new company for enrichment.
View templateStandardize and normalize CRM fields
Normalize industry, country, and employee count across every HubSpot record.
View template