Deduptio

How to bulk merge duplicates in Attio

The short answer

Attio has no bulk merge. The UI merges two records at a time and the API's merge endpoint takes two records per call. Clearing a real backlog means either scripting the pairwise chain yourself or using a tool that does — and in both cases the hard part is producing groups you trust enough to merge without opening each one.

Why there is no bulk merge

A merge is a destructive, irreversible operation: one record survives, the other is deleted and cannot be recovered. A bulk version of that needs three things Attio deliberately does not ship — a way to define what counts as a duplicate, a review surface, and a way back. Without all three, a bulk merge button is a footgun with a progress bar.

So the interface offers the safe primitive: two records, chosen by a person, one merge. The API mirrors it.

The four ways people actually do this

ApproachRealistic forWhat it costs you
Merge by hand in AttioUp to roughly 30 groupsA morning. Free, and nothing to set up
Export to CSV, find groups, merge by handSizing the problem, not fixing itYou still merge every pair manually — see why the spreadsheet stops here
Script the merge endpointEngineering teams with a clear ruleGrouping, chain ordering, async handling, rate limits, and no undo if the rule was wrong
A dedupe toolHundreds or thousands of groupsA subscription, and rules you have to think about once

If you script it: the parts that bite

Nothing here is exotic, but each one is a bug you only find in production:

The order that makes bulk merging safe

  1. Split by confidence, not by volume. Run the exact-identifier rule first — same email, same domain, same external id. Those groups are safe to merge in bulk. Fuzzy and name-based matches are a second, separate pass with individual review.
  2. Dry-run the whole batch. A preview that writes nothing tells you which record would survive in each group and what would move. Read a sample of twenty.
  3. Merge a small batch first. Ten groups, then open them in Attio and check activity, references and list membership before running the rest.
  4. Then run the bulk pass, and keep the restore window in mind while you spot-check — an error caught the same day is recoverable, one caught next week is not.
  5. Schedule a scan so the backlog does not rebuild while you are not looking.

How Deduptio does it

A scan pages the object, applies your rule, and produces groups with the reason each one matched. In the review queue you can merge a single group, skip the ones that are not real duplicates — skipped groups do not come back — or filter and select the set you trust and merge it in one run. Each group is merged as a chain of Attio-native pairwise merges, with per-hop progress persisted so an interrupted run resumes rather than restarting. Every merge is snapshotted first and restorable for 24 hours.

See what is duplicated before changing anything

Connect your Attio workspace, write one match rule, and run a scan. Scans are read-only — you see every group and the reason it matched before anything is merged.

Start a free Attio duplicate scan

Related