Section 1 · Website AI Salesperson
1.6Voice / phone AI
Designed for Phase 3- No.
- 1.6
- DMA's reference
- Decision Book p.11
- Phase
- Phase 3
- Autonomy
- L2 · Prepare, then wait for approval
- DMA's decision
- Later
◆ Amended in v3 of the book.
What DMA asked for · Decision Book p.11
A prospect can talk to the assistant by phone or voice, not only type.
Why it matters to DMA: Some buyers prefer to talk, and voice could catch phone enquiries the chat misses. DMA's book puts it later because real-time voice carries more risk of mistakes and liability.
In our words, from DMA's Product Decision Book v3, page 11.
How we do it
- DMA decided LATER for this one (Phase 3), at autonomy L2: the voice assistant may talk and prepare next steps, but a person confirms anything it would commit DMA to.
- The design reuses the website strategist rather than building a second brain: the same approved instructions, knowledge base, checks and escalation rules, with speech-to-text in front and text-to-speech behind.
- Every call opens with the AI-assistant disclosure and asks for recording consent before anything is recorded. "Talk to a person" works on a call exactly as it does in the chat: the call is handed to DMA's team.
- After the call, the transcript and a short summary are saved, and the booking or follow-up it prepared goes into the approval queue before anything reaches Nutshell.
Already in place
- The strategist, its checks and the escalation rules already exist in the chat and would be reused unchanged.
- Each conversation already has a place to record call-recording consent, and consent rules block sending in code.
- Call transcripts are already turned into summaries, tasks and CRM updates by the Zero-Entry CRM features (section 20), which wait for one-click approval.
- The approval queue that an L2 feature needs is built and in use.
What the later phase adds
- A phone number and a voice button, with a telephony provider chosen with DMA.
- Speech-to-text and text-to-speech around the existing strategist.
- A spoken disclosure and consent step at the start of every call.
- Live transfer to a person, and a legal review of call recording before launch.
The flow
It plays on its own while it's on screen; hover or use the controls to pause or step through.
A prospect calls
The call is answered by the assistant, which first says it is DMA's AI assistant.
- Person
- Rule in code
- AI
- Screen
- Routing
- Nutshell
Where the data goes
The same six stages on every page. Nothing reaches Nutshell except through the write gate.
- 1Phone call
Source
The caller's speech, after consent.
- 2Sync
Copies Nutshell changes into the bridge database
Not involved.
- 3Bridge database
A copy of the CRM data, plus what the AI works out
The transcript, the consent record and the prepared next step.
- 4AI
Claude models, only through DMA's own gateway
The same strategist, with speech in and out.
- 5Write gate
The only way back into Nutshell: checked, approved when needed, sent once
Writes the approved summary and next step.
- 6Nutshell
The system of record
The call appears on the lead like any other activity.
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 |
|---|---|---|
| conv.conversations | One row per conversation, including its recording-consent record. | 22 |
| conv.messages | The transcript, line by line. | 21 |
| ctrl.approvals | The approval queue for anything an L2 feature prepares. | 22 |
| ctrl.escalations | Cases handed to a person at DMA, with the reason. | 33 |
How the tables connect (8)
| Column | Points to | Kept by |
|---|---|---|
| conv.conversations.agent_version_id | agent.agent_versions | The application (by id) |
| conv.messages.conversation_id | conv.conversations | The database (foreign key) |
| conv.messages.participant_id | conv.participants | The application (by id) |
| conv.messages.decision_id | ctrl.decision_log | The application (by id) |
| conv.messages.agent_version_id | agent.agent_versions | The application (by id) |
| ctrl.escalations.conversation_id | conv.conversations | The application (by id) |
| ctrl.escalations.run_id | agent.runs | The application (by id) |
| ctrl.escalations.decision_id | ctrl.decision_log | The application (by id) |
Worked example
Synthetic demo data: every name, business and number is made up.
The handoff a voice call would reuse, as it works in the chat today
What you see
1.The visitor asks for a person
On a call this would be "can I talk to someone?". In the chat it is the "Talk to a person" button, on screen the whole time.

What happens in the system
- Tool call
dma-public · request_human_handoffThe chat asks for a person through its tool server.
- Rule engineHOLD
escalation rulesThe rule engine decides: the visitor asked for a person (escalation trigger 4). The AI stops replying to this visitor.
Right-hand values come from a real run of the POC on September 25, 2026 (trace tr_muh5to4nxpbl16icb50m, tr_muh5to7f1f7s5ex202akt…). Rows marked “sample” are illustrative.
How one phone enquiry would be handled (synthetic example of the design).
Designed behaviour
| Moment | Caller hears | What the system does |
|---|---|---|
| Answer | "You're talking to DMA's AI assistant. May I record this call so the team has notes?" | Waits for a yes before recording |
| Question | One short question at a time about the business and the problem | Keeps the same notes as the chat |
| Price asked | "A strategist covers pricing; I can book you a call." | Opens a case for DMA's team |
| Wrap-up | "I've asked the team to confirm a time with you by email." | The prepared booking waits in the approval queue |
In the running POC

1 / 3"Talk to a person" in the chat: the handoff a voice call would reuse.
- 1The visitor asks for a person.
- 2The AI says someone from DMA is joining, and stops replying.
Website chat · BrightSmile Dental demo site, asking for a person. 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 |
|---|---|---|
| BrightSmile Dental demo site | Demo prospect website | Open the chat and tap "Talk to a person". |
| Escalations | DMA AI dashboard | The case, its brief and the Take it button. |
Status
Designed for Phase 3. DMA's book schedules this for Phase 3 (decision: later). The design is ready and builds on parts that already run in the POC.