Module · M5 · Keep it honest
Capstone: the desk, end to end
Lesson 16 of 16 · 15 min
Build the whole desk. Not from a template — from the four parts in lesson 1, in your own org, against your own records.
There is no answer key for this one, and that is deliberate. Every worked example so far has been ours; this one has to be yours, because the failures you will meet are the ones your data has and mine does not.
The brief
An enquiry arrives from someone you have never heard of. By the time it is finished, that person should be: answered, recorded once, at a stage that is true, and either handled or handed to a named human with a deadline. Nothing you cannot defend should have been said, and nothing irreversible should have happened without a check.
| Build | From | It is done when |
|---|---|---|
| The enquiry agent | L2, L3, L4 | It quotes a fee verbatim, and refuses one it does not hold. |
| Memory | L7 | It resolves "the second one" without carrying a figure forward. |
| The trace | L8 | The same person writing twice produces one contact, not two. |
| The stage | L9 | It moves on quoted evidence and refuses to move on enthusiasm. |
| The handoff | L10 | The task has an owner, a due date, and the record attached. |
| The chase | L12 | It does not chase anyone who has already paid. |
| The watch | L13 | It finds someone who paid and never started. |
| The digest | L14 | A buyer receives their own rows and nobody else's. |
The enquiry agent
- From
- L2, L3, L4
- It is done when
- It quotes a fee verbatim, and refuses one it does not hold.
Memory
- From
- L7
- It is done when
- It resolves "the second one" without carrying a figure forward.
The trace
- From
- L8
- It is done when
- The same person writing twice produces one contact, not two.
The stage
- From
- L9
- It is done when
- It moves on quoted evidence and refuses to move on enthusiasm.
The handoff
- From
- L10
- It is done when
- The task has an owner, a due date, and the record attached.
The chase
- From
- L12
- It is done when
- It does not chase anyone who has already paid.
The watch
- From
- L13
- It is done when
- It finds someone who paid and never started.
The digest
- From
- L14
- It is done when
- A buyer receives their own rows and nobody else's.
The self-check — and where to be suspicious
Every question below is a failure that happened while this course was being built. None is hypothetical.
- Does your knowledge base contain the facts your rules refer to? Ours had a policy instructing the agent to quote fees exactly, and no fees anywhere in it. Ask it your customers' most common question before you trust it.
- Have you watched every gate go BOTH ways? A condition observed only false is not tested. One of our gates referenced a field that did not exist and was false forever; the workflow looked perfect and did nothing.
- Did you check a zero is really a zero? A failed query and an empty result look identical from inside a workflow — same success flag, same empty data, no error.
- Does anything downstream reference a node that is a TOOL? Tools run inside their agent and never appear as top-level steps, so the reference resolves to nothing. Ours took weeks to find, because it sat behind an approval gate nothing automated could reach.
- Is any identifier coming from the model? Told to produce a record id in the right format, a model will produce a perfectly-formed id that matches no record. Identifiers come from queries.
- Did you read the schema, or assume it? Contacts have no
nameand nostatus. Two of our runs failed on that before writing a single row. - Have you pointed every send at yourself first? For a fortnight. Read what actually arrives before a customer does.
The pattern in that list. Almost none of those are the model being wrong. They are the instruction being right and the fact being absent — a rule pointing at a price that does not exist, a reference pointing at a node that is not there, a gate pointing at a field that was never published. Check what your instructions point at.
What good looks like
You are finished when you can answer three questions about any conversation your desk handled last week, without opening the transcript:
- What did it tell them, and where did that come from?
- What changed in the CRM as a result?
- If it stopped, who picked it up, and when?
If all three are answerable from the records alone, you have a desk. If any needs the transcript, you still have a chatbot with a database attached.
Where to go next
| If you want… | Go to |
|---|---|
| An agent that can act on money, credentials or anything irreversible | Building Production-Ready AI Agents — the control layer, agent teams, the approval gate and the audit row. |
| To understand why the prompt behaves as it does | From Prompt to Harness — prompting, context engineering, loops. |
| To know whether any of it is actually working | Does It Actually Work? — traces, evaluators, golden sets. |
An agent that can act on money, credentials or anything irreversible
- Go to
- Building Production-Ready AI Agents — the control layer, agent teams, the approval gate and the audit row.
To understand why the prompt behaves as it does
- Go to
- From Prompt to Harness — prompting, context engineering, loops.
To know whether any of it is actually working
- Go to
- Does It Actually Work? — traces, evaluators, golden sets.
One last thing, and it is the honest summary of the whole path. Nothing here made an agent smarter. Every lesson made one narrower — gave it fewer things it was allowed to say, fewer values it was allowed to author, fewer paths it could take without a human. That is what made it safe enough to leave running, and it is the same idea the flagship spends twenty-one lessons on.

