Section 20 · Sales Rep Work Elimination / Zero-Entry CRM
20.1Automatic call/meeting summary
Built in the POC- No.
- 20.1
- DMA's reference
- Decision Book p.35
- Phase
- Phase 1
- Autonomy
- L3 · Act within rules
- 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.35
After every call or meeting, write the summary into the CRM so the rep doesn't have to.
Why it matters to DMA: Reps skip notes when they're busy; the CRM then forgets what the prospect said. This is the book's first build item for section 20.
In our words, from DMA's Product Decision Book v3, page 35.
How we do it
- The rep opens the account and pastes the transcript, or drops the Zoom transcript file. That is the only step.
- The fast model reads the call once and returns a summary, the facts with exact quotes, the promises on both sides and the follow-up points. Code checks every quote against the transcript and drops anything it can't find.
- The summary becomes a Nutshell note, waiting with the rest of the call's changes as one batch for one approval.
The flow
It plays on its own while it's on screen; hover or use the controls to pause or step through.
The call
Tom pastes the Summit HVAC call on the account.
- Person
- Rule in code
- AI
- Screen
- 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.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.approvals | The approval queue: one row per batch waiting for a person, with its risk and the undo window. | 22 |
| ctrl.outbox | The write gate: each proposed Nutshell change, its approval and what it replaced. | 28 |
| ai.extracted_facts | Facts the AI found, each with the exact quote it came from and a confidence. | 15 |
| conv.email_drafts | E-mail drafts, encrypted, with the checks they passed; a draft is never sent without approval. | 39 |
How the tables connect (8)
| Column | Points to | Kept by |
|---|---|---|
| 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) |
| ai.extracted_facts.prompt_id | agent.prompts | The application (by id) |
| conv.email_drafts.conversation_id | conv.conversations | The application (by id) |
| conv.email_drafts.approval_id | ctrl.approvals | The application (by id) |
| conv.email_drafts.agent_version_id | agent.agent_versions | The application (by id) |
| conv.email_drafts.decision_id | ctrl.decision_log | The application (by id) |
Worked example
Synthetic demo data: every name, business and number is made up.
A logged call: the screen and the system
What you see
1.Every change, with its evidence
The call summary note and the tasks, each with the words it came from.

What happens in the system
- Conversation service
scribeThe transcript is checked as text only, matched to Summit HVAC by its attendees, and read once.
- LLM gateway
claude-haiku-4-53,249 tokens in, 653 out, $0.0065: it copies exact quotes; it never writes a value of its own.
- Rule engine
quote, date and amount checksCode confirms each quote is really in the call, and turns "Tuesday" into 29 September from the meeting date.
A real run of the scribe on a synthetic call.
One logged call: "Summit HVAC call" (synthetic call, real run)
- Matched to
- Summit HVAC · deal "Summit HVAC - Local + PPC"By the attendees and the company name; no model involved.
- Read by
- claude-haiku-4-5: 3,249 tokens in, 653 out, $0.0065
- Follow-up drafted by
- The conversation model, then the claims check: $0.0056
- Time
- About 12 seconds from paste to the approval batch
- Waiting for approval
- 1 note, 2 tasks, 5 facts kept on the account, 1 follow-up e-mail draft
In the running POC

The CRM updates from one logged call, waiting for one-click approval (a real run on synthetic data).
- 1Each change and the exact words it came from.
- 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.