CRM hygiene an agent can do, and a human can still defend
Duplicate accounts, stale titles, missing industries, contacts who left two quarters ago. An agent can find and fix all of it at volume — the problem is that a bulk update to your CRM is a bulk update to the numbers your team runs on.
ActionsLedger turns each cleanup into a reviewable change set. The agent proposes field-level edits with a citation per value; policy decides what merges automatically and what needs a named human; a separate merge worker holds the only write credential to the CRM.
Bulk enrichment overwrites good data
A vendor record says "Acme Corp, 500 employees" and overwrites a value your AE confirmed on a call last week. Nothing errors — the field is simply less true than it was.
CONTROL → FIELD-LEVEL POLICYMerges that destroy history
Two account records merge, and with them go activities, opportunity links and attribution. Recovering the original state means a restore, not an undo.
CONTROL → BEFORE/AFTER SNAPSHOTUnsourced values
The industry field changed, but no one can say whether it came from a website, a signature block or a guess. Reviewers end up trusting the summary.
CONTROL → EVIDENCE PER FIELDSilent scope creep
A "normalize job titles" task also touched owner, lifecycle stage and lead source, because those were adjacent in the same object.
CONTROL → ALLOW-LISTED FIELDSThe agent reads, never writes
Read-only tokens on the CRM and your enrichment sources. The agent produces a change set: object, record ID, field, current value, proposed value, and the evidence it used.
Policy classifies every change
Normalizing a country code is not the same as reassigning an owner. Rules run as code per field: formats and casing auto-merge, ownership, amounts and lifecycle stage route to a human.
Review is a diff, not a report
Reviewers see the exact before/after and the citation behind each value, grouped by policy class so a hundred title normalizations approve as one class while the six risky edits get individual attention.
Merge, then prove it
The merge worker applies approved changes and appends diff, evidence, verdict, approver and timestamp — each entry committing to the previous one, so a quarter later you can reconstruct why a record says what it says.
A default hygiene policy
agent read-only CRM token enrichment sources read-only, cited per field reviewer user session, no CRM token merge worker sole writer, scoped to allow-listed fields auto-merge classes: format · empty-field fill human-gated: overwrite · merge · owner · stage · amount every merge appends: diff · evidence · verdict · approver
Clean the CRM without handing an agent your write credential.
Run the agent in shadow mode, watch the approval rate per policy class, then grant auto-merge only where the data earns it.