CRM

Reconcile Attio Duplicate Merges with Field-Level Survivorship Rules

When two Attio person records are merged, applies deterministic field-level survivorship rules (newest verified email, most-complete address.

CategoryCRM
Enginesim
Difficultyintermediate
Triggerevent
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerAttio record-merge webhook (People)Attio
  • ActionFetch both pre-merge records from AttioAttio
  • LogicApply field-level survivorship rules
  • ActionPatch surviving record with winning valuesAttio
  • OutputAppend per-field decisions to Postgres audit logPostgreSQLPostgres

What it does

Attio's native merge keeps one record's value per field somewhat arbitrarily. This workflow re-decides every conflicting field using explicit survivorship rules, then overwrites the survivor so the merged contact reflects your data-quality policy rather than merge order.

When to use it

Run it whenever your team merges duplicate people in Attio and you need consistent, defensible field choices — for example keeping the most recently verified email, the non-empty phone, or the value from the higher-priority source system.

How it works

  1. 1An Attio webhook fires on a record-merge event for the People object, carrying both the surviving and losing record IDs.
  2. 2The workflow fetches both full records from Attio so all pre-merge field values are available.
  3. 3A survivorship logic step compares each conflicting attribute (email, phone, address, owner, lifecycle stage) against ordered rules: prefer verified, prefer most-recent, prefer non-null, then prefer source priority.
  4. 4An action step patches the surviving Attio record with the computed winning values.
  5. 5The chosen values, losers, and rule that decided each field are appended to a Postgres audit table for traceability.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect AttioReal-time CRM with structured data + powerful views.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    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.