CRM
Cross-System Dedupe Between Salesforce and HubSpot with Trust Ranking
When a contact changes in either Salesforce or HubSpot, finds the matching record in the other system, reconciles conflicting fields by system-trust ranking.
How it runs
The automated pipeline, trigger to output.
- TriggerContact changed in Salesforce or HubSpotSalesforce
- ActionLook up matching contact in the other systemHubSpot
- LogicReconcile fields by per-field system-trust ranking
- ActionWrite reconciled survivor to SalesforceSalesforce
- ActionWrite reconciled survivor to HubSpotHubSpot
- OutputLog cross-system reconciliation to PostgresPostgres
What it does
Many orgs keep contacts in both Salesforce and HubSpot, so the same person diverges across systems. This workflow treats the two systems as competing sources: on a change in either, it locates the counterpart record, resolves each conflicting field by a configured system-trust ranking (for example Salesforce wins on company/title, HubSpot wins on marketing-engagement fields), then writes the reconciled survivor back to both and logs the field decisions.
When to use it
Use it when Salesforce and HubSpot drift out of sync and you need a single source of truth per field rather than per record. Ideal for revops teams running both a sales CRM and a marketing CRM.
How it works
- 1A contact create/update in Salesforce or HubSpot triggers the flow.
- 2The flow looks up the matching contact in the opposite system by email or external id.
- 3A logic step compares fields and applies the per-field system-trust ranking to choose each survivor value.
- 4The reconciled record is written back to Salesforce.
- 5The same reconciled record is written back to HubSpot.
- 6Field-level reconciliation results are inserted into a Postgres audit table for cross-system traceability.
Set it up
What you configure once, before turning it on.
- 1Connect SalesforceAccounts, opportunities, cases.
- 2Connect HubSpotCRM, deals, marketing, support.
- 3Connect PostgresAny Postgres URL — query, write, migrate.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More CRM workflows
Dormant Account Check-In Call Scheduler
On the anniversary of an account's last touch, books a tentative check-in call on the owner's Google Calendar and emails the contact a scheduling invite.
Weekly Dormant-Anniversary Cohort Digest
Every week, groups dormant Attio accounts by which last-touch anniversary they hit that week, builds a prioritized digest.
AI-Personalized Dormant Account Win-Back
On a dormancy anniversary, an agent researches the account's history and recent public signals, drafts a genuinely personalized win-back email.
Backfill Intercom conversation topics onto stale HubSpot contacts
Finds HubSpot contacts with no recent Intercom topic, pulls their conversation history from Intercom, classifies the dominant topic with OpenAI.
Daily orphaned-opportunity sweep with manager Slack digest
Each morning this scans Salesforce for open opportunities owned by inactive users and posts a per-manager digest in Slack listing the orphaned deals that need a new owner.
Tag closed Intercom conversations onto Salesforce contacts in real time
On each Intercom conversation close, classifies the topic with OpenAI and appends it to the matching Salesforce contact's activity timeline so the topic never goes stale…
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
