Merging and undo
Validate & merge
Select the duplicate groups to merge on the console, then click Validate & merge. The review page shows everything that's about to happen:
- Configuration — object, snapshot, matching fields, filter, the winner policy, and the field rules in force.
- Records that will change — the exact groups, read-only, with a count line like "12 groups · 31 merged into 12".
- Safety switch — the crucial choice:
- Dry run — preview only (default): simulates the merge and reports what would change. Nothing is written.
- Live merge — writes to Salesforce: duplicate records are merged into each winner in your live org. Going live reveals a required checkbox spelling out the maximum number of records and the connected org — the merge button stays disabled until you tick it.
[SCREENSHOT REQUIRED: Validate & merge page with the dry run / live merge switch and authorization checkbox]
Batch limits keep runs reviewable: up to 200 groups per run, and groups of more than 100 records must be split. Bigger cleanups just take a few batches.
The merge run
Each run gets its own page, refreshed live: dry run or live badge, the org, the snapshot, timing, and a per-group outcome table — winner, records merged, children reparented, skipped, and status, including the golden values written and any records Salesforce couldn't reparent.
- Dry run results download as a Simulated data (CSV) — circulate it for approval before going live.
- Live merge results download as a Results (CSV) — the audit of what changed.
Every run — dry and live — is kept in the scan's merge history, so there's always a record of who merged what, when.
[SCREENSHOT REQUIRED: Merge execution page with per-group outcomes]
Undo
Finished live merges have an Undo merge button:
The merged records are restored from the Salesforce Recycle Bin with their original Ids, and reparented children are pointed back at them. Values written onto the winners are not reverted.
Undo works while the merged records are still in the Recycle Bin — don't empty it right after a big merge. Your snapshot also remains an untouched reference of how every record looked before the merge.
How merges are written
For objects Salesforce can merge natively (like Leads, Contacts, and Accounts), bluefactory uses Salesforce's own merge operation — the same one the Salesforce UI uses — so related records, chatter, and history follow the winner. Where native merge isn't available, bluefactory reparents the duplicates' children to the winner and removes the duplicates. Either way, the per-group outcome table shows exactly what happened.