The problem this solves
Acme, Acme Inc, ACME Corporation and acme.io are four company records in Attio and one company in the world. Two of them have deals, one has the notes from the first call, and the fourth was created by an integration last month with the wrong domain. Every report that counts companies is off by three, every rep who searches Acme picks a different record, and the person who has to fix it needs to know which one to keep.
Duplicates arrive by every route: CSV imports with a different name format, forms that create a company from an email domain, integrations that key on name rather than domain, and reps typing quickly. The domains attribute on an Attio company record catches exact repeats; name variants, subdomains and alternate domains slip through.
Merging is destructive, so the order of operations matters: find, propose, normalize, log, wait, then merge. The change log is the contract. It says which record survives, which are folded into it, what the surviving name and domain will be, and where the deals, people and notes on the losing records will land.
How the mission runs
- Read every company in Attio. The Lead Verification Agent pulls company records with names, domains, creation dates, owners and the counts of linked people, deals and notes. The totals are reported first so the scale of the cleanup is known before matching starts.
- Match on domain and on name variants. Records are grouped when they share a normalized domain, when one domain is a subdomain or alternate of another, or when their names match after suffixes, punctuation and casing are removed. Each group records the rule that formed it, and lower-confidence name-only groups are flagged so they can be reviewed separately.
- Normalize names and domains and pick the survivor. For each group the agent proposes the canonical name and primary domain, resolved through company search where the records disagree, and selects the survivor by a rule you can change: the record with the most linked activity, the oldest, or the one with an owner assigned. Alternate domains are kept on the survivor as additional values.
- Write the change log CSV. The CSV lists every proposed merge as one row per losing record: group ID, survivor, losing record, matching rule, old and new name, old and new domains, and the counts of people, deals and notes that will move. Groups flagged for review are marked so you can approve the confident merges first.
- Merge after approval. You edit or approve the change log, and the agent applies only the approved rows: linked people, deals, notes and tasks move to the survivor, the losing records are merged in Attio, and the applied changes are appended to the log with timestamps. Anything unapproved stays exactly as it was.
The prompt
This is the exact objective the agent receives. Swap the obvious placeholders for your own domain, segment or channel and run it as-is from the console, Slack, or the API.
What comes back
A change log CSV of every proposed merge in Attio - survivor, losing records, matching rule, normalized name and domains, and what moves - grouped by confidence so the sure cases can be approved first. After approval, the merges applied in Attio with people, deals and notes consolidated on the surviving record and alternate domains preserved, and the log updated with what was actually done. Counts per matching rule and per confidence level, and the audit trail of every read, resolution call and write.
Make it yours
- Include people as well as companies, matching on email and on name plus company, with a second change log for person merges.
- Run it as a monthly check that reports only new duplicate groups since the last run, so the workspace stays clean without a repeat cleanup.
- Run the same pass in HubSpot, Pipedrive or Zoho CRM, where the merge mechanics differ and the change log format stays the same.
Frequently asked questions
Which record survives a merge?
By default the record with the most linked activity, because that is where reps already work. You can change the rule to oldest, most recently updated or owner-assigned, and you can override any single group in the change log before approving it.
What happens to deals and notes on the losing records?
They move to the survivor. The change log shows the counts before you approve, and after the merge each moved item is listed so nothing disappears without a trace.
Can a subsidiary be mistaken for a duplicate?
It can share a name pattern, which is why name-only matches are flagged for review instead of merged automatically. Where the domains differ and the names merely resemble each other, the group stays in the review section with both records shown side by side.
Does the agent merge anything on its own?
No. Every merge waits for your approval of the change log, and only approved rows are applied. The mission is safe to run repeatedly as a report before you approve a single merge.