Module · M3 · Make it count: the pipeline
Move the deal: stages that mean something
Lesson 9 of 16 · 9 min
Most pipelines lie. Not deliberately — they lie because a stage was set by optimism rather than evidence. Somebody had a good call, felt encouraged, and dragged the card one column to the right. Multiply that by a year and the forecast is fiction.
An agent will do exactly the same thing, faster and at volume, unless you stop it.
The one idea. A stage is a claim about reality. "Payment Pending" asserts that this person intends to buy. If nobody can point at the sentence where they said so, the claim is false and the pipeline is now wrong in a way nobody will notice for a quarter.
The stages, and what each one actually claims
| Stage | The claim it makes | What proves it |
|---|---|---|
| Enquiry | They asked us something. | The message exists. That is all. |
| Preview Engaged | They consumed something free and came back. | They say they finished a free lesson. |
| Considering | They are comparing, not browsing. | They asked about fit, price or timing. |
| Payment Pending | They intend to buy. | They said they will, or asked how to pay. |
| Enrolled | Money has changed hands. | A payment record — not a sentence. |
| Active Learner | They have started. | Consumption data. |
| Certified | They finished and passed. | A credential was issued. |
| Lapsed | They stopped. | Absence, over a defined window. |
Enquiry
- The claim it makes
- They asked us something.
- What proves it
- The message exists. That is all.
Preview Engaged
- The claim it makes
- They consumed something free and came back.
- What proves it
- They say they finished a free lesson.
Considering
- The claim it makes
- They are comparing, not browsing.
- What proves it
- They asked about fit, price or timing.
Payment Pending
- The claim it makes
- They intend to buy.
- What proves it
- They said they will, or asked how to pay.
Enrolled
- The claim it makes
- Money has changed hands.
- What proves it
- A payment record — not a sentence.
Active Learner
- The claim it makes
- They have started.
- What proves it
- Consumption data.
Certified
- The claim it makes
- They finished and passed.
- What proves it
- A credential was issued.
Lapsed
- The claim it makes
- They stopped.
- What proves it
- Absence, over a defined window.
Preview Engaged is the one most CRMs do not have, and it is the most valuable. It is free to collect, it is the highest-intent signal a content business owns, and it separates someone who read your pricing page from someone who spent forty minutes with your product. If you take one stage from this lesson, take that one.
The build
Desk — move the deal on evidence
The model proposes a stage and quotes its evidence. A node decides whether that claim is allowed to move anything.
Scroll for all 7 steps →
Three things are deliberate here. The classifier is given the permitted stage values and told to quote the words that prove its choice — if it cannot quote them, it does not have evidence. It also returns certain, which is its own admission of whether it read or inferred. And evidence_gate is a node, not a sentence in a prompt: an uncertain classification cannot move a deal, whatever the model would prefer.
One more: it is told that when in doubt, choose the earlier stage. A deal behind reality is a smaller problem than a pipeline reporting revenue nobody committed to.
Two conversations, two outcomes
Same person, same workflow, minutes apart.
It moves.
"I finished the free 'Your First AI Agent' course last night, all eight lessons. Really enjoyed it. What would you recommend I do next?"
| Field | Value |
|---|---|
| stage | Preview Engaged |
| certain | yes |
| evidence | "I finished the free 'Your First AI Agent' course last night, all eight lessons." |
| Path taken | evidence_gate → find_deal → move_deal |
stage
- Value
- Preview Engaged
certain
- Value
- yes
evidence
- Value
- "I finished the free 'Your First AI Agent' course last night, all eight lessons."
Path taken
- Value
- evidence_gate → find_deal → move_deal
The deal moved to Preview Engaged, and the quoted sentence was written onto the record as stage_evidence. Anyone who later asks why this deal is at this stage can read the answer off the deal itself.
It refuses to move.
"Thanks for the recommendation — the agents course looks like exactly what I need and I'll definitely be doing it. Just need to sort a couple of things out first."
| Field | Value |
|---|---|
| stage | Payment Pending |
| certain | no |
| Path taken | evidence_gate → ask_human |
| Deal | unchanged |
stage
- Value
- Payment Pending
certain
- Value
- no
Path taken
- Value
- evidence_gate → ask_human
Deal
- Value
- unchanged
Read that carefully, because it is the whole lesson. "I'll definitely be doing it" would move this deal in most CRMs. It is the single most encouraging sentence a salesperson hears all week. The model reached for Payment Pending too — and then flagged that it was inferring rather than reading. The gate honoured that, the deal stayed put, and a human got a task with the reasoning attached.
Enthusiasm is not evidence. "Definitely", "for sure", "just need to sort a few things out" — these are the sentences that fill a pipeline with deals that never close. The tell is the second clause: an intention with a condition attached is a condition, not an intention.
Two things this build had to get right
- A deal's stage has no native field. It can only be set through
json_data, as{"stage_name": "..."}. There is no stage input to fill in. - The deal id comes from a query, never from the model.
find_dealjoins deals to contacts on the email the classifier READ, and returns the id. The first version of this workflow had no lookup at all and tried to update a deal called'None'. The model may choose which person; it may not author an identifier.
Try it
- Write down what each of your stages claims. If two people on your team describe one differently, that stage is already meaningless.
- For each, name the evidence that proves it. If the evidence is "the rep thinks so", that is the stage that is lying.
- Add a Preview Engaged equivalent if you have anything free. It is the cheapest high-intent signal you will ever collect.
- Feed your classifier the most encouraging message you received this month, and see whether it moves the deal.
Next: the deal is honest. Now — when should the desk stop and get a human? That is lesson 10.

