The first 48 hours: verify, then watch for absence
Nobody writes in to say they paid and never started. Absence has to be computed — and it is the safest automation you will ship.
The money has arrived. Almost every team treats that as the finish line, and it is the point at which the most value is quietly lost — because everything that goes wrong from here goes wrong silently.
Nobody writes in to say "I paid you and then never logged in". There is no ticket, no complaint, no event. There is just an absence, and absences do not raise their hand.
The one idea. Onboarding automation is mostly monitoring for absence. Humans are bad at this — you cannot notice nothing happening, at volume, across hundreds of accounts. Machines are unambiguously better at it, and it is all reads and internal alerts, so it is the safest automation you will ever ship.
The first 48 hours
| The job | In value order, because | Who it alerts |
|---|---|---|
| 1. Verify fulfilment happened | The most expensive failure is the one where they paid and never got access. Check it, do not assume it. | Nobody — fix it silently. |
| 2. Detect absence | Paid and never started is a refund in three weeks' time. | A named human, with a date. |
| 3. Shorten time to first value | The gap between paying and getting something out of it is where regret grows. | The customer, once, if they have not started. |
| 4. Surface it to the buyer | For a corporate account, the buyer is not the learner — and they are flying blind. | The account owner. That is lesson 14. |
1. Verify fulfilment happened
- In value order, because
- The most expensive failure is the one where they paid and never got access. Check it, do not assume it.
- Who it alerts
- Nobody — fix it silently.
2. Detect absence
- In value order, because
- Paid and never started is a refund in three weeks' time.
- Who it alerts
- A named human, with a date.
3. Shorten time to first value
- In value order, because
- The gap between paying and getting something out of it is where regret grows.
- Who it alerts
- The customer, once, if they have not started.
4. Surface it to the buyer
- In value order, because
- For a corporate account, the buyer is not the learner — and they are flying blind.
- Who it alerts
- The account owner. That is lesson 14.
The build
Desk — the first 48 hours, watching for absence
There is no trigger for 'nobody logged in'. Absence has to be computed by comparing what was bought against what was used.
Scroll for all 5 steps →
Look at what the query does, because it is the shape of every absence check you will ever write. It does not look for an event — there is no event for "nobody logged in". It compares two numbers: seats bought against seats activated. Absence only becomes visible as a difference.
That is why a Scheduler trigger is the right one. Every other trigger in the product fires because something happened. This one fires because time passed, which is the only way to catch things that did not.
What it found
Run against the real seeded accounts, unprompted:
| Account | Seats | Activated | Dormant |
|---|---|---|---|
| Meridian Business School — PGP-2026 Cohort A | 45 | 41 | 4 |
| Vertex Logistics — Production-Ready AI Agents | 10 | 6 | 4 |
Meridian Business School — PGP-2026 Cohort A
- Seats
- 45
- Activated
- 41
- Dormant
- 4
Vertex Logistics — Production-Ready AI Agents
- Seats
- 10
- Activated
- 6
- Dormant
- 4
Notice the second row. Vertex has bought ten seats and four of them have never been touched — forty per cent. Nobody at Vertex has complained, because from their side nothing has gone wrong; four of their people simply have not got round to it. That account will renew or not renew on the basis of a number nobody is watching.
The alert it raised is an internal task, owned by the account owner and linked to the deal:
"4 of 45 seats have never been activated. Nobody has reported a problem, which is the point — this is absence, not a complaint. Contact the account owner before the cohort deadline makes it unrecoverable."
Alert a human; do not nag the customer. The instinct is to email the four dormant learners. Resist it for one cycle. Absence has causes — a wrong address, a licence never forwarded, a manager who bought seats without telling anyone. An automated "you haven't started!" to someone who never received their login is worse than silence.
Why this is the safest thing in the course
Every step here is a read, an internal write, or an alert. Nothing touches a customer, nothing spends money, nothing is irreversible. Compare that to lesson 12, where the whole difficulty was that a message cannot be recalled.
So if you are nervous about automating, start here rather than with outbound. The value is higher, the blast radius is nearly zero, and the failure mode is that a human gets a task they did not need.
Do this on your own data tonight
- Count how many people paid you in the last 30 days and have never used the thing they bought. Do it in SQL, once, by hand.
- That number is your churn in advance. Nobody in your company currently knows it.
- Then decide who should be told when it moves — and give them a task, not a dashboard.
Next: you now know who has not started. Lesson 14 is about the one person who most wants that list and never gets it.
Related lessons
Base rates — what a piece of evidence is actually worth
A face-recognition system that is 99.9% accurate and almost entirely wrong, and a number that sent an innocent woman to prison. Both are the same arithmetic, and it is the arithmetic that decides what any piece of evidence is worth.
ReadConfirmation and survivorship — what you never looked for
Two questions about evidence you did not go looking for. One is a rule you have to discover, and one is a pattern in five famous people — and in both, the thing that would have told you the truth is the thing nobody checks.
ReadLoss aversion, sunk cost and regression — what it costs you
Four questions you answer about yourself rather than about a scenario, and your own answers are the finding. Then the pattern that makes praise look useless and criticism look like it works, whatever you actually do.
Read
