Section 17 · Pipeline Hygiene — Stop Losing Money to Messy CRM
17.1Find dead or changed contacts
Built in the POC- No.
- 17.1
- DMA's reference
- Decision Book p.31
- Phase
- Phase 1
- Autonomy
- L1 · Recommend
- DMA's decision
- Yes
What DMA asked for · Decision Book p.31
Find people who have left their companies and, where possible, locate the new decision maker.
Why it matters to DMA: It stops outreach to dead contacts and points to the person who buys now.
In our words, from DMA's Product Decision Book v3, page 31.
How we do it
- The audit reads each account's notes for signs that someone left or an email bounced ("Dana has moved on", "mail returned") and marks that contact, quoting the note as evidence.
- Email addresses are checked too: the domain must accept mail, and role addresses such as info@ are marked, so a contact can be "not contactable" for a stated reason.
- When the main contact of a tier-A or B account has left, the account's next best action becomes "find a new contact": the AI proposes, a person confirms. Outreach never goes to the old address.
- The rules run with every audit of the CRM (and again after each sync). They only detect and explain; nothing is changed in Nutshell by a flag, so a person stays in charge of the fix.
The flow
It plays on its own while it's on screen; hover or use the controls to pause or step through.
The notes
A 2025 note on Northside Dental says the marketing lead has left.
- Nutshell
- AI
- Rule in code
- Stored data
- Routing
- Screen
Where the data goes
The same six stages on every page. Nothing reaches Nutshell except through the write gate.
- 1Nutshell
Source
Deals, contacts, tasks, activities, notes and users.
- 2Sync
Copies Nutshell changes into the bridge database
Keeps the mirror current, so the rules see today's state.
- 3Bridge database
A copy of the CRM data, plus what the AI works out
One open flag per record and problem, with its details and the rule version.
- 4AI
Claude models, only through DMA's own gateway
Not needed for most flags: they are rules. The audit adds what only the notes say.
- 5Write gate
The only way back into Nutshell: checked, approved when needed, sent once
Flags don't write to Nutshell; fixes happen there, by people (or through the write gate where a field rule allows it).
- 6Nutshell
The system of record
Reps fix the record; the flag closes on the next run.
The tables behind it
Drawn from the POC's database catalogue: structure only, no data.
PK primary keyFK reference the database enforces (solid line)ID reference kept by id (dashed line)
| Table | What it holds | Columns |
|---|---|---|
| ai.hygiene_flags | One open flag per record and problem (stuck deal, missing next step, former owner, bad email, duplicate), with severity, details and the rule version. | 10 |
| ai.email_verifications | The result of checking each contact's email address, and any person's override. | 10 |
| crm.contacts | Contacts mirrored from Nutshell (email kept as a hash). | 20 |
| ai.scores | The account's next best action, which becomes "find a new contact". | 20 |
How the tables connect (2)
| Column | Points to | Kept by |
|---|---|---|
| ai.email_verifications.run_id | agent.runs | The application (by id) |
| ai.scores.prompt_id | agent.prompts | The application (by id) |
Worked example
Synthetic demo data: every name, business and number is made up.
A contact who left: the screen and the system
What you see
1.The account
The Account 360 for a tier-A account.

What happens in the system
- Bridge database
ai.account_twin · ai.scoresThe account's profile and its next best action: find a new contact.
Contacts marked by the rules in the POC today, on the synthetic 30,000-record sample (live counts), and one worked contact.
What the rules found
| Flag | Contacts | What it means |
|---|---|---|
| Bad email | 28 | The notes say the person left or the email bounced (quoted) |
| Checked addresses | 376 | Email domain accepts mail |
One contact
- Account
- Northside Dental Group (tier A)
- Person
- Dana Ortiz, former marketing lead
- Evidence
- "Dana has moved on; new contact TBD" (note, March 2025)
- Next best action
- Find a new contact (AI proposes, a person confirms)
In the running POC

1 / 2Account 360: the people on an account, with who can't be contacted and why.
- 1The account and its next best action.
- 2Each person's contactability, with the reason.
Dashboard · Account 360. Captured from the running POC on September 25, 2026; synthetic data.
See it live
Opens the exact screen in the running POC, in a new tab.
| Open | Where | What to try |
|---|---|---|
| Pipeline hygiene: left or bounced | DMA AI dashboard | Every contact the notes say left or bounced. |
| Accounts | DMA AI dashboard | Open an account to see each person's contactability. |
Status
Built in the POC. This capability runs in the POC today, on synthetic data, end to end.