Deduptio

Rollback & safety

Nothing is written to Attio until you approve an action, and every action you approve gets a 24-hour recovery window. A recovery is a re-creation from a snapshot rather than a true undo — the section below is exact about what comes back.

What never touches your data

  • Scans — read-only.
  • Dry-run merge previews — read-only.
  • Anything on a group you haven't merged.

The Merge Log

Every live merge is recorded in the Merge Log with what was kept and what was removed. For an Attio native merge (the default), the id shown as Keptis the id Attio's merge actually produced — not the id you started with, which stops existing the instant the merge lands. The log links straight to that record in Attio whenever it captured the record's URL at merge time, which it does on every live native merge from here on. Older merges from before this was captured, and the rare merge where the capture itself failed, show the id without a link rather than one that would 404. A legacy-strategy merge keeps the original survivor record in place instead of creating a new one, so its id in the log is genuinely still the record that exists — the log doesn't currently offer a click-through link for that case.

For 24 hours after a merge, Roll back restores the merged records; rolled-back records keep their Open recordlinks so you can verify them in Attio. Once a merge has been rolled back, the merged record itself is gone, so the Kept id in the log stops linking anywhere — the restored records' own links are what you want at that point.

What a rollback brings back — and what it doesn't

The merge itself loses nothing: Attio's native merge moves emails, calls, notes, tasks, comments and list entries onto the merged record. A rollback is a re-creation, not an undo, so it is deliberately narrower than the merge:

  • Restored — every field value and association captured in the snapshot, on each pre-merge record. Field values come back with their original dates: if a company's stage changed in March, the restored record still shows March, not the day you rolled back.
  • Survives, but unlinked — meetings. A meeting is not deleted when the record it was linked to is, so the meetings from a merge are still in Attio afterwards; they have simply lost their link. Attio provides no way to re-link a meeting, so a rollback cannot put them back on the restored record. It tells you how many there were, and they stay searchable by date and participant. In the rare case a meeting really was deleted, Deduptio re-creates it from the snapshot.
  • Not restored — notes, tasks, list memberships, emails, calls, activity timeline entries and comments. Attio moved all of these onto the merged record, and its API does not permit re-creating them on a new record.
  • Changed — restored records are new records. They get new record IDs, and their created date and creator show the restore rather than the original.
  • Substituted — where an object has a required status or select attribute and the snapshot carries no readable value for it, Attio refuses to create the record at all. Rather than leave it deleted, Deduptio fills that attribute with its first live option and reports the substitution in the restore result. A restored deal can therefore come back at a different stage than it had. Check anything the note names.

Restoring a record's field values does not fire your Attio workflows. Creating the record itself does, so a rollback still shows up as a record being created — but the dozens of attribute changes behind it do not replay your automations one by one.

Rollback is there to recover from a bad match, not to make a merge risk-free. Use the dry-run preview on anything you are unsure about, and keep your own export before a large cleanup.

List entry removals

A duplicate entry you remove manually from the Duplicate list entries section is snapshotted with its in-list values and restorable for 24 hours from the removal log.

The automatic cleanup that runs right after a merge — removing the extra entry when the merged record ends up in a shared list twice — goes through that same snapshot before it deletes, so it is restorable for 24 hours from the same removal log too, same as a manual removal. The one difference is when the snapshot itself cannot be taken — this workspace's Attio connection cannot read that list's details, or the snapshot write itself fails. Rather than leave the duplicate in place, Deduptio still removes it (a duplicate list membership is what you would actually notice), and the merge log says that particular removal has no 24-hour window to bring it back. See list memberships for what it keeps and why.

Rolling back the merge itself also closes the window on any of its own still-pending automatic removals: the merged record they would have restored onto is gone once the rollback runs, so restoring the entry back onto it is no longer possible either. Deduptio marks those rows as no longer restorable at the same time it rolls back the merge, so the removal log reads the same as any other expired entry rather than one that quietly fails against Attio if you try it.

When a rollback is refused

A rollback needs the record the merge produced to still be there. It removes that record first and then re-creates the originals, because a value Attio holds to be unique — a company's domain, a person's email address — cannot sit on two records at once.

If that record has itself been merged again, or deleted in Attio, the restore is refused and says so, without changing anything. That is deliberate: the data those originals held has since moved onto a different record, so re-creating them would not put your workspace back the way it was — it would add records alongside the one that now holds their history. Re-scan to see what is actually there, and merge or edit from that.

After 24 hours

Snapshots expire and rollback is no longer offered. The Merge Log itself is kept, so you always have the history of what was merged and when.