Approve-by-Exception AI: Run Ops From a Text
Approve-by-exception AI lets the system handle routine moves and text you a one-tap approval only for the big ones. Here's how I run my ad account from my phone.
By Mike Hodgen
The Question Every CEO Actually Asks About AI
Here's the thing most CEOs say to me once they trust me enough to stop performing:
"I want AI to handle the routine stuff but check with me on the big moves. Is that even possible?"
Yes. And it's not all-or-nothing.
The pattern has a name: approve-by-exception AI. The system handles the small, reversible, in-guardrail moves on its own. It only interrupts you when an action crosses a line that actually matters. You're not babysitting every click. You're also not handing over the keys and hoping.
Most people assume AI ops is a binary. Either you put it on full autopilot and lose control, or you approve every single action and save zero time. That's a false choice, and it's the reason a lot of people get burned by AI vendors who promised autonomy and delivered chaos.
I run my DTC fashion brand's Meta ad account from my phone this way. The AI watches performance around the clock, adjusts bids inside a band I defined, pauses ads that blow past a cost ceiling, and otherwise leaves me alone. When it wants to do something consequential, like launch a new campaign or scale spend past a dollar threshold, it texts me. I tap approve or reject. Ten seconds, done.
That's approve-by-exception. The routine runs itself. The big moves stop for me.
What Approve-by-Exception Actually Means
Approve-by-exception is a control pattern where the system acts autonomously inside defined guardrails and escalates to a human only when an action crosses a consequence threshold.
The default is action. The exception is approval.
The routine vs. consequential line
The whole thing lives or dies on one distinction: which moves are routine, and which are consequential.
In my ad account, routine means small bid adjustments within a preset band, or pausing an ad that blew past its cost-per-result ceiling. These are reversible, bounded, and low-stakes. If the system makes a slightly wrong call, nothing breaks and I can undo it.
Consequential means launching a new campaign concept, scaling spend past a dollar threshold, or anything that writes net-new budget. These are the moves that cost real money or are hard to walk back. Those stop for me.
Why exception, not approval, is the default
Compare this to the two failure modes I see constantly.
Three control models: approve-everything vs approve-nothing vs approve-by-exception
Approve-everything. The system proposes, you confirm, on every single action. You're back to manual. No time saved. You've just added a notification layer to your old workflow.
Approve-nothing. Full autopilot. The system does whatever it wants. You lose control, and worse, you lose trust. The first time it spends $3,000 on a campaign you'd never have run, you rip the whole thing out.
Approve-by-exception sits in the middle on purpose. The system is trusted with the small stuff so you get the time back, and it's gated on the big stuff so you keep your hand on the wheel.
Good systems stop for a human by design, not by accident. Every AI system I ship stops for a human somewhere. The question is always where, and that placement is the actual engineering.
How the Proposal Loop Works
Let me walk through the real mechanics, because the pattern is only as good as the loop that drives it.
The six-hour analysis cycle
Every six hours, the agent analyzes account performance. It looks at what's working, what's bleeding, and decides what it would do. For routine moves inside the guardrails, it just acts. For consequential moves, it builds a proposal.
This is the brain doing the work. The ad automation underneath is a set of specialist agents that manage my ad account, each handling a slice of the analysis. They generate the proposals. The approval layer is what sits on top.
The buttoned approval card
When the system wants to make a consequential move, it sends me a text. Not an email I'll ignore. A text, with a buttoned card.
The proposal loop and approval card mechanics
The card has approve and reject buttons. It also has a view-ad link and a view-landing-page link. It's self-contained. I can decide in 10 seconds from my phone without opening a laptop.
That's the part people underestimate. The verification surface matters as much as the buttons. I'm not approving blind. Before I tap, I can see the actual ad creative and the actual landing page the traffic would hit. I'm looking at the real thing, not a description of it.
There's also a conversational layer. This is the Telegram bot ops side. I can text the bot "draft a concept for the linen collection" or "scale campaign Y," and it texts back a proposal as a card I can approve the same way. So I can drive the account proactively, not just react to what it surfaces.
The whole interaction lives in my pocket. I've approved a budget scale standing in line for coffee. That's the point. The control moved to where I already am.
The Pre-Built Landing Page Trick
Here's the detail I'm most proud of, and it's a small one.
Summary card vs verifiable real-artifact card (the pre-built landing page trick)
When the system proposes a new ad concept, it pre-builds the custom landing page first. Before it sends me the card. So when I tap the view-landing-page link, it resolves to a live, real page. Not a mockup. Not a promise. The actual destination the ad would send traffic to.
I'm verifying the real artifact before I approve it.
This matters more than it sounds. Approval is only meaningful if you can verify what you're approving. Most systems that claim to have a human in the loop show you a summary. "New concept: spring sale, targeting women 25-45, $50/day." That tells you almost nothing about whether the thing is actually good.
My card shows me the creative and the live page. I can see if the messaging matches, if the page loads, if the offer makes sense. I'm approving an experience, not a line item.
Now the honest tradeoff. The system builds the landing page even for concepts I might reject. So there's wasted work. Pages get built that never go live because I said no.
I decided that was worth it. The trust I gain from verifying the real destination outweighs the cost of building a few pages that die in approval. Compute is cheap. My confidence in tapping approve is not.
That's the kind of decision that doesn't show up in a demo. It's a real engineering tradeoff with a real downside, and I made the call on purpose.
Why the Guardrails Re-Check at Approval Time
This is the control detail that lets me hand over real money decisions without losing sleep.
When I tap approve, the system does not just execute.
Fail-closed, not fail-open
The approve route re-validates every guardrail at approval time, fail-closed, and only then executes the platform write.
Fail-closed re-check at approval time
Think about the timeline. The proposal was generated six hours ago, or whenever the cycle ran. By the time I tap approve, conditions may have changed. A budget cap might now be breached. The campaign might already be paused for some other reason. The account state might have shifted.
So the system re-checks everything before it executes. If any guardrail fails at approval time, the action is rejected, even though I approved it. My tap is not the final word. The guardrails are.
Fail-closed means: when in doubt, don't execute. The default on uncertainty is to stop, not to proceed.
Why the tap isn't the last word
Most systems are fail-open. They treat your approval as permission to proceed, full stop. You said yes, so they do the thing, regardless of whether the world still looks the way it did when they asked.
That's how you get an AI that confidently spends money against stale conditions. The approval was valid an hour ago. The execution happens now. Nobody checked the gap.
Fail-closed protects me from my own stale approval. It also protects me from the system itself. If something drifted, the write doesn't go through, and I find out.
This is the line I draw on every project. The kill-switches I build into every system exist for exactly this reason. Autonomy is fine right up until the moment conditions change underneath it.
And it's the antidote to the most dangerous failure mode in AI ops: a system that reports success without verifying anything. Autonomous AI will lie about doing the right thing if you let it report on its own work without a check. Fail-closed guardrails at execution time are how you stop that from happening with your budget.
What This Pattern Is Worth in Practice
Let me be straight about the actual value, because I'm allergic to the "AI will transform your business" hand-waving.
What the system does on its own vs what always stops for a human
Before this system, I had two options, both bad. I checked the ad account constantly, which ate my time and attention. Or I let it drift, which cost me money. There was no version where the account got optimized continuously without me chained to it.
Now I touch it for maybe a few minutes a day. Mostly I'm tapping approve on cards I've already verified in seconds. The system handles the routine optimization around the clock without involving me at all.
Here's what it does on its own: pauses underperformers, adjusts bids within bands, surfaces proposals for the big moves.
Here's what it never does on its own: spend net-new budget, launch a concept, or make any irreversible move without my tap.
That split is the entire product.
Now the limitations, because they're real. This took genuine engineering. The texting is the easy part. Anyone can wire up a bot. The hard part is the guardrail logic, deciding what counts as routine versus consequential, and making the re-check at approval time actually correct.
And here's the catch nobody likes to hear: approve-by-exception only works if your guardrails are actually right. If you draw the routine/consequential line in the wrong place, the system either bothers you constantly or quietly does something it shouldn't. The pattern doesn't save you from bad judgment about where the line goes. It just enforces the line you draw.
The broader principle, the one I keep coming back to: autonomy you can trust comes from constraints, not from removing the human. The system is more useful because it's more constrained, not less.
Where This Belongs in Your Business
This pattern is not about ads. Ads are just where I happen to run it.
Approve-by-exception fits anywhere AI could act but the move is consequential or irreversible. Sending money. Contacting customers. Changing prices. Publishing content under your name. Anywhere a wrong move costs you real dollars or real trust, you want the AI to handle the routine and stop for you on the big call.
The takeaway for you is simple. You can have AI run the routine and still keep your hand on every decision that matters, controlled from your phone, in seconds.
The hard part isn't the technology. It's two things. First, defining the routine-versus-consequential line for your specific business, because mine doesn't transfer to yours. Second, building guardrails that fail closed, so a stale approval or a changed condition never executes against you.
That's the work. That's what I actually do.
This is exactly what I build for the companies I work with as their Chief AI Officer. I figure out where autonomy is safe, where it needs a human gate, and then I build the gate so it holds. Not a demo. A system you'd trust with real money.
If you've been burned by an AI vendor who promised autonomy and delivered a mess, this is the opposite of that. Constrained autonomy. Your hand on the big moves. The routine off your plate.
Want to explore what AI could do for your business?
Book a free 30-minute strategy call. No pitch deck, no sales team, just a real conversation about your operations and where AI actually fits.
Get AI insights for business leaders
Practical AI strategy from someone who built the systems — not just studied them. No spam, no fluff.
Ready to automate your growth?
Book a free 30-minute strategy call with Hodgen.AI.
Book a Strategy Call