Section 20 · Sales Rep Work Elimination / Zero-Entry CRM
20.9Contact/job verification
Partly built — finishing in Phase 1- No.
- 20.9
- DMA's reference
- Decision Book p.37
- Phase
- Phase 1
- Autonomy
- L1 · Recommend
- DMA's decision
- Yes
What DMA asked for · Decision Book p.37
Check that contacts still work where the CRM says, in the role it says.
Why it matters to DMA: Reaching out to someone who left wastes the touch and can embarrass DMA.
In our words, from DMA's Product Decision Book v3, page 37.
How we do it
- Built: the audit reads the notes for signs that someone left or an e-mail bounced, and marks that contact with the note quoted. Their account's next best action becomes "find a new contact".
- Built: every address is checked (domain accepts mail, role addresses like info@, disposable domains), so a contact can be "not contactable" for a stated reason.
- Not yet: checking job changes against an outside source (for example a people-data provider). That needs DMA to pick a provider.
Already in place
- People who left, found in the notes.
- Every address checked.
What the later phase adds
- Job-change checks from an outside provider DMA picks.
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 note says the marketing lead left.
- Nutshell
- AI
- Rule in code
- Stored data
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 | Each contact address's check result (valid, risky, invalid) and why. | 10 |
How the tables connect (1)
| Column | Points to | Kept by |
|---|---|---|
| ai.email_verifications.run_id | agent.runs | The application (by id) |
Worked example
Synthetic demo data: every name, business and number is made up.
Live counts, synthetic data.
Contacts
| Check | Contacts |
|---|---|
| Left or bounced (from the notes) | 28 |
| Addresses checked | 376 |
In the running POC

Account 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 | Contacts the notes say left or bounced. |
Status
Partly built — finishing in Phase 1. The parts run in the POC today; the rule that joins them is being finished for Phase 1.