To get a CRM ready for AI agents, measure how bad the data is, decide which system owns each field, merge duplicates and retire dead records, fix the forms and integrations that create bad data, and give one person ownership with a weekly check. Most mid-market revenue teams can get from a mess to a baseline worth automating on in about 30 days.
Why it matters now
Most teams already know their CRM is unreliable. In Validity's 2025 survey of 602 CRM users (Validity sells data quality tools), 76% said less than half of their CRM data was accurate and complete, and 37% said they had lost revenue as a direct result. In Salesforce's State of Sales report, published in February, 74% of sales professionals said they were focusing on data cleansing, and 51% of sales leaders using AI said disconnected systems were slowing their AI plans down.
AI agents raise the stakes. An agent that reads a stale record will act on it with confidence. An agent that writes to the CRM without the right matching rules will create duplicates faster than any rep.
Step 1: Measure how bad the data is
Before you fix anything, get a baseline. Run these checks on accounts, contacts and open opportunities:
| Check | How to measure it |
|---|---|
| Completeness | Share of records missing key fields: owner, industry, billing address, primary contact, ERP customer ID |
| Duplicates | Accounts sharing a domain or normalized name; contacts sharing an email address |
| Stale contacts | Bounced or undeliverable emails; no activity in 12 months |
| Stale pipeline | Open opportunities with a close date in the past |
| Mismatches | Accounts whose name, address or status differs from the ERP |
Write the numbers down. They are your before picture, and the measure of whether the clean-up worked.
Step 2: Decide which system owns each field
Most CRM mess comes from two systems arguing. Decide, field by field, which one wins:
- The ERP or billing system usually owns legal name, billing address, payment terms, credit status and what the customer has actually bought.
- The CRM usually owns contacts and their roles, opportunity stage, forecast category and account ownership.
- A subscription or contract system, if you have one, owns renewal dates and contract terms.
Write it down as a one-page table. Integrations should follow it, and so should any agent that updates records.
Step 3: Merge duplicates and retire dead records
Set matching rules before you merge: for accounts, website domain plus normalized company name; for contacts, email address. Then set merge rules: keep the record that has the ERP customer ID, or failing that the one with the most recent activity, and carry the history of the others across.
Do not delete. Mark bounced contacts and people who have left as inactive, and archive dead accounts, so the history stays for reporting and audit. Close out stale opportunities with a reason code rather than leaving them open.
Step 4: Fix the entry points that create bad data
A clean CRM goes bad again within months if the sources are not fixed. Look at every way records get in:
- Web forms: validate email format, use picklists rather than free text, and check for an existing contact before creating one.
- List imports: run every import through the same duplicate check, with a named person approving it.
- Integrations: marketing automation, enrichment tools and the ERP sync often create a new record when they should update an existing one. Fix the match key.
- Manual entry: required fields only where they matter, and duplicate warnings on create.
Step 5: Give it an owner and a weekly check
Name one person in revenue operations as the owner of CRM data quality. Each week, rerun the Step 1 checks and look at the trend, not just the totals. Keep a short queue of records that need a human decision, such as two accounts that might be the same company, and clear it weekly. Review the field ownership table each quarter.
Where AI agents fit
Once the rules are set, agents are well suited to the ongoing upkeep: checking new records against the ERP, flagging likely duplicates, marking bounced contacts, and filling gaps from source documents such as orders and contracts. In our revenue operations service, CRM upkeep is measured on record completeness and duplicates removed. Every change an agent makes is recorded in the Evidence File with the source behind it, so you can see why a field changed.