CRM

HubSpot Duplicate Contact Auto-Merge with Source-Trust Survivorship

Detects newly created or updated HubSpot contacts that duplicate an existing record, merges them using source-trust field-survivorship rules.

CategoryCRM
Enginesim
Difficultyintermediate
Triggerevent
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerHubSpot contact created or updatedHubSpotHubSpot
  • ActionSearch HubSpot for duplicate candidatesHubSpotHubSpot
  • LogicApply source-trust survivorship rules per field
  • ActionMerge survivors and flag losers in HubSpotHubSpotHubSpot
  • ActionInsert field-level decisions into Postgres audit tablePostgreSQLPostgres
  • OutputPost merge summary to SlackSlack

What it does

When a HubSpot contact is created or updated, this workflow finds matching duplicates and merges them into a single surviving record. Instead of blindly overwriting, it resolves each conflicting field using a source-trust ranking (for example, Salesforce-sourced beats web-form beats manual import) and writes a complete audit row so you can prove which value won and why.

When to use it

Run this when inbound forms, list imports, and sales activity keep spawning duplicate contacts and your team wastes time hand-merging. It is ideal for ops teams that need a defensible, repeatable merge policy plus a paper trail for data-governance reviews.

How it works

  1. 1A HubSpot contact create/update event fires the workflow.
  2. 2The flow searches HubSpot for candidate duplicates by email and normalized name/phone.
  3. 3A logic step ranks each candidate's field sources by your trust table and picks the surviving value per field.
  4. 4The merged record is written back to HubSpot and the losing duplicates are flagged merged.
  5. 5Every field-level decision (winner, loser, source, rule) is inserted into a Postgres audit table.
  6. 6A Slack summary posts the merge result and a link to the surviving contact.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect HubSpotCRM, deals, marketing, support.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.