Quick one before we start: AI Build Night is on tonight, 6pm London. Details here.
This week I shipped a new retainer offer on the website. Real work, monthly commitment, the whole intake-to-onboarding chain wired up. A new client signs up, pays, and lands on my calendar without me lifting a finger.
Two days later the automation nearly stiffed the first person who actually paid for it.
Here's what happened. This is the bit nobody shows you when they're selling "autonomous systems." Everyone shows you the finished dashboard. Nobody shows you the week the dashboard was lying to you and didn't say a word about it.
The offer went live clean
The build itself was straightforward. New pricing tier, a Stripe product behind it, an intake form that captures what the client needs, a webhook that watches for new subscriptions and kicks off onboarding, a booking link at the end so the client can grab their first call.
I tested the form. I tested the intake questions. I tested the confirmation email. Everything rendered. Everything sent. Everything looked sorted.
What I didn't test was the two systems sitting either side of that flow. They'd already been built for a different offer months back, and I'd assumed they'd just work for the new one too. That assumption is where this whole thing nearly went wrong.
The payment watcher only knew one price
The subscription webhook that flags a new paying client wasn't watching for "any new subscription." It was watching for one specific price ID, tied to a completely different offer, an older one-off collaboration package. Someone, at some point (me, if we're being honest), had wired it to match on the exact product rather than on "a subscription just started, go and do something about it."
So when the first real client signed up for the new retainer, Stripe took the payment fine. The money landed. But the webhook that's supposed to notice a new subscriber and start the onboarding chain never fired, because the price ID didn't match what it was hardcoded to look for. As far as that part of the system was concerned, nothing had happened at all.
Nobody would've known until the client emailed asking where his onboarding was.
So the fix wasn't to patch the one price ID. It was to stop matching on a single product and watch every new subscription that comes through the account, full stop. It checks Stripe every twenty minutes now, not for one price, for anything new. Doesn't matter what I launch next month, what I price it at, or whether I remember to update a hardcoded ID somewhere. If someone pays, the system notices. That's the actual job of a payment watcher, and it took a real client nearly falling through the gap for me to notice it wasn't doing that job.
The onboarding email sent him to a paywall
That would've been embarrassing enough on its own. Then I found the second one.
The automated welcome email for the new retainer told the client to book his first call, with a link. The link went to a booking page I'd built for something else entirely, a one-off strategy session that has its own payment gate in front of it, because normally that page is for people who haven't paid me anything yet.
Read that back. A client who's already paying a monthly retainer, one that includes calls as part of what he's signed up for, would've clicked that link and been asked to pay again to book the thing he'd already bought.
That's exactly the kind of bug that costs you a client without you ever finding out why. Most people don't email to complain about a confusing booking flow. They just decide the whole thing feels a bit off, and they don't come back. No complaint, no warning, just gone.
I caught it while checking the flow end to end after the payment webhook issue turned up. Not because anyone flagged it. I repointed the welcome email and the intake's "book your first call" button to the correct free booking page, one tied to his actual retainer, no gate in front of it. Small fix. But it only exists because I went looking, not because the system told me it was broken.
Why this matters more than the shiny bit
Everyone building an automated business talks about the front door. The landing page, the checkout, the AI chat widget that qualifies a lead. That stuff's genuinely fun to build and it's what looks good in a demo.
The bit that actually protects your revenue is what happens in the thirty seconds after someone pays you. Does the system know they paid? Does it treat them like a paying client, straight away, without you checking? Or does it just assume they're the same as every other lead, because you built the payment side of the business in pieces, at different times, for different offers, and never went back to check the pieces still fit together?
So every new offer I launch from here gets one extra step added to the checklist. After the payment webhook fires, walk the entire path a brand new paying client would walk, click by click, as if you're them. Not "does the form submit." Whether every link a real, paying human hits actually treats them like someone who's already paid you.
The system now watches every subscription instead of one product ID, and the welcome path goes to the right place. Nobody has to remember to check it, because it's built to notice new things by default, rather than only the one thing I told it to look for eighteen months ago. That's the actual point of automating a business. Not that it runs without you. That it keeps running correctly when the business itself changes shape. And it always will.
So if you're stacking new offers on top of automation you built for the old ones, go walk your own payment flow this week as if you were a stranger with a credit card. You'll probably find your own version of this.
If you want to see this sort of thing built live rather than read about it after the fact, tonight's AI Build Night is exactly that. 6pm London, live on Zoom, me building one of these systems from scratch while you watch. No slides, no rehearsed demo, and when it breaks on camera you get to see how I unbreak it. That's usually the useful bit. Grab a seat.
Brewed by Steven, poured by Viktor
About Steven Tann: Steven helps business owners build systems that run themselves using AI. After 10+ years helping 7,000+ businesses and building his own autonomous operations, he's the bloke who actually does it, not just talks about it. Find out more at steventann.com.