Section 4 · Nutshell — Turn 30,000 Records Into an Asset
4.6Automatic tasks for salespeople
Built in the POC- No.
- 4.6
- DMA's reference
- Decision Book p.15
- Phase
- Phase 1
- Autonomy
- L3 · Act within rules
- DMA's decision
- Yes
What DMA asked for · Decision Book p.15
Create the right follow-up task when the AI needs a person, instead of hoping someone remembers.
Why it matters to DMA: It stops qualified leads dying quietly in someone's inbox.
In our words, from DMA's Product Decision Book v3, page 15.
How we do it
- When a call transcript contains a promise ("I'll send the audit by Friday"), the CRM scribe turns it into a Nutshell task with the owner and the due date, quoting the line it came from.
- When the AI needs a person (a visitor asks for one, a reply needs a human, a deal hits an escalation trigger), a case is opened for the right person on DMA's roster with a response deadline, and the email to them has one-tap links.
- Tasks go through the write gate: DMA's rules decide whether a task is created on its own or waits for one click, and nothing is duplicated if the same promise is mentioned twice.
The flow
It plays on its own while it's on screen; hover or use the controls to pause or step through.
A promise
"Can you get us the audit by Friday?"
- Person
- AI
- Routing
- Nutshell
Where the data goes
The same six stages on every page. Nothing reaches Nutshell except through the write gate.
- 1Calls and chats
Source
Transcripts and conversations.
- 2Sync
Copies Nutshell changes into the bridge database
Mirrors the task back.
- 3Bridge database
A copy of the CRM data, plus what the AI works out
The proposed task and its quote.
- 4AI
Claude models, only through DMA's own gateway
Finds promises; never invents a date.
- 5Write gate
The only way back into Nutshell: checked, approved when needed, sent once
Creates the task once.
- 6Nutshell
The system of record
The task on the rep's list.
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 |
|---|---|---|
| ctrl.outbox | The task bound for Nutshell, with its key so it is created once. | 28 |
| ctrl.escalations | Cases for a person, with the deadline. | 33 |
How the tables connect (4)
| Column | Points to | Kept by |
|---|---|---|
| ctrl.outbox.approval_id | ctrl.approvals | The database (foreign key) |
| 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.
A promise from a call, into a task
What you see
1.The task, with its quote
The logged call's batch includes the task and the words it came from.

What happens in the system
- AI agent
CRM scribeFinds the promise and proposes the task with the owner and the date from the call.
- Tool call
dma-crm-write · create_task_proposalCreates a write-gate item; it can't write to Nutshell itself.
From a logged call (synthetic).
Tasks created
| Said on the call | Task | Due | Owner |
|---|---|---|---|
| "Can you get us the audit by Friday?" | Send the audit | Friday | The rep on the account |
In the running POC

1 / 2A logged call's changes, including a task.
- 1Each change and its quote.
- 2Approve all.
Dashboard · Approvals, a CRM change opened. 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 |
|---|---|---|
| Approvals | DMA AI dashboard | Tasks waiting in a call's batch. |
Status
Built in the POC. This capability runs in the POC today, on synthetic data, end to end.