Section 20 · Sales Rep Work Elimination / Zero-Entry CRM
20.2Automatic CRM field extraction
Built in the POC- No.
- 20.2
- DMA's reference
- Decision Book p.36
- Phase
- Phase 1
- Autonomy
- L2 · Prepare, then wait for approval
- DMA's decision
- Yes
★ Marked "non-negotiable, build first" in the book. ◆ Amended in v3 of the book.
What DMA asked for · Decision Book p.36
Pull budget, services, timeline, incumbent agency, decision maker and objections out of the call into CRM fields.
Why it matters to DMA: These are the facts that decide a deal, and they are the ones reps least often type in.
In our words, from DMA's Product Decision Book v3, page 36.
How we do it
- The model fills six named fields from the call: budget, services, timeline, incumbent agency, decision maker and objection. Each must come with the prospect's exact words.
- Code keeps only what it can prove: the quote must be in the transcript, an amount must match the words, and a date is worked out from the meeting date, not guessed. A value with no quote is dropped.
- Kept facts are stored on the account with their quote; the Nutshell fields they map to are written only through the batch approval.
The flow
It plays on its own while it's on screen; hover or use the controls to pause or step through.
Said on the call
Greg says they'll decide by October 15.
- Person
- AI
- Rule in code
- Stored data
- Nutshell
Where the data goes
The same six stages on every page. Nothing reaches Nutshell except through the write gate.
- 1Call transcript
Source
A call transcript: pasted, or a Zoom .vtt / .txt file dropped on the account (text only, 512 KB at most).
- 2Sync
Copies Nutshell changes into the bridge database
Reads the account, people and open deals from the mirror, to match the call to the right company.
- 3Bridge database
A copy of the CRM data, plus what the AI works out
The run, the facts with their quotes and the e-mail draft are stored; the transcript is kept encrypted.
- 4AI
Claude models, only through DMA's own gateway
The fast model reads the call and copies exact words; code checks every quote, date and amount. The conversation model drafts the follow-up.
- 5Write gate
The only way back into Nutshell: checked, approved when needed, sent once
Every change waits as one batch for one approval, then leaves through the write gate with 30 seconds to undo.
- 6Nutshell
The system of record
The note, the tasks and the fields appear on the deal, marked as written by DMA AI.
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.extracted_facts | Facts the AI found, each with the exact quote it came from and a confidence. | 15 |
| ai.scribe_runs | One row per logged call: the transcript's fingerprint, the account it matched, the extraction and the approval batch it produced. | 24 |
| ctrl.outbox | The write gate: each proposed Nutshell change, its approval and what it replaced. | 28 |
How the tables connect (4)
| Column | Points to | Kept by |
|---|---|---|
| ai.extracted_facts.prompt_id | agent.prompts | The application (by id) |
| ai.scribe_runs.conversation_id | conv.conversations | The database (foreign key) |
| ai.scribe_runs.approval_id | ctrl.approvals | The database (foreign key) |
| ctrl.outbox.approval_id | ctrl.approvals | The database (foreign key) |
Worked example
Synthetic demo data: every name, business and number is made up.
The facts kept from the Summit HVAC call.
What the call said, each with its quote
| Fact | Value | What the prospect said |
|---|---|---|
| Budget | $6,000 a month | "We can do about six thousand a month now across the three shops." |
| Services | Paid search and Google Business listings | "If we took over paid search and your Google Business listings, what budget are you thinking?" |
| Timeline | Decide by October 15 | "I want to decide by October 15 so we're running before the winter rush." |
| Incumbent | Nephew runs Google Ads | "My nephew runs our Google Ads in his spare time." |
| Decision maker | Greg Hollis owns all three shops | "Just me. I own all three shops, so it's my call." |
| Objection | Won't sign longer than month to month | "I won't sign anything longer than month to month." |
In the running POC

The CRM updates from one logged call, waiting for one-click approval (a real run on synthetic data).
- 1The note and tasks at the top; the kept facts are listed under "Kept as facts on the account".
- 2The follow-up e-mail, drafted and claim-checked; approving saves it, it never sends.
- 3One click approves the whole batch; each line can also be edited or dropped.
Dashboard · Approvals, the CRM updates from one call transcript. 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 |
|---|---|---|
| Accounts → Log a call | DMA AI dashboard | Open an account and paste or drop a Zoom transcript. |
| Approvals → CRM updates | DMA AI dashboard | The changes from a logged call, each with the quote it came from. |
Status
Built in the POC. This capability runs in the POC today, on synthetic data, end to end.