About half the people who ask us to build "AI automation" don't need AI. They need a scheduled task and a clearly written rule.
We say this out loud on sales calls, which costs us money and is still the right thing to do β because when you spend AI money on a cron-job problem, you get something more expensive to build, more expensive to run, slower, and occasionally wrong in ways a rule is never wrong.
Here's the test we use, and what each option actually costs.
The thirty-second test
or is it a mess?
If the data is already structured β a database row, a form submission, a webhook payload, a fixed CSV β and the rule can be written down as an if-then statement, you need plain automation.
If the input is unstructured β a scanned invoice with a different layout every time, a complaint written in three languages, an email where the intent has to be inferred β that's where AI earns its place.
That's it. Everything else is detail.
Side by side
| Plain automation | AI automation | |
|---|---|---|
| Right when | Input is structured, rule is writable | Input is unstructured or ambiguous |
| Example | "Remind everyone 24 hours before their booking" | "Read this scanned invoice and pull out the totals" |
| Running cost | Effectively zero | Charged per call |
| Reliability | Deterministic β same input, same output, forever | Probabilistic β needs grounding and thresholds |
| Build cost | Lower | Higher, plus evaluation and guardrails |
| How it fails | Loudly, and you fix the rule | Quietly and plausibly, unless you log everything |
That last row deserves attention. A broken cron job throws an error. A wrong AI output looks exactly like a right one β confident, well-formatted, and incorrect. That difference is why AI automation needs logging, approval gates and evaluation that rule-based automation simply doesn't.
Five real requests, and what each one actually needed
These are close to things we've been asked for. The answers may surprise you.
Use AI to send renewal reminders before subscriptions expireβ CRON JOB
You know the expiry date. You know who to message. There is no ambiguity anywhere in this problem. AI would add cost and a failure mode for zero benefit.
Use AI to read supplier invoices and enter them into our systemβ GENUINELY AI
Every supplier's layout is different, some are scanned crookedly, some are photographs. This is exactly the mess AI exists for.
Use AI to route support tickets to the right teamβ DEPENDS
If your customers pick a category from a dropdown, that's a rule. If they type free-form complaints in mixed languages, that's AI.
Use AI to reconcile payments against invoicesβ MOSTLY A RULE
Match on reference number and amount. Where it gets interesting is the 5% that don't match
cleanly β send only those to AI, or to a human. Don't pay AI prices for the 95% a
WHERE clause handles.
Use AI to write personalised outreach to new leadsβ GENUINELY AI
Reading a company's website and drafting something that references a real detail about them is not something rules can do.
Notice the pattern: AI belongs at the messy edges, not in the middle of a clean process.
The hybrid answer is usually correct
The best automations we've built aren't purely one or the other. They're rules doing the heavy lifting, with AI handling the exceptions.
A reconciliation system that matches 95% of payments with a database query, then sends the remaining 5% to AI for interpretation, is cheaper, faster and more reliable than an AI system that reads every transaction. It's also easier to debug, because when something goes wrong you know which half to look at.
If a vendor proposes putting AI in front of your whole process, ask what fraction of the input genuinely needs it. If they can't answer, they haven't looked.
What we've actually automated
Everything below runs in a product of ours, in production, with real money and real users attached:
- Recurring billing across three payment gateways β autopay mandates, idempotent webhooks, retries, payouts and invoicing. Almost entirely rules. AI would be a liability here; you want the same input to produce the same output every single time. (How we build the payment layer)
- WhatsApp notifications β six approved templates in two languages, wired to system events. Rules, with AI only choosing the language.
- Scheduled reminders and expiry warnings β pure cron.
- Emergency alert fan-out β one trigger, multiple channels, under three seconds. Rules, because latency matters and a model call is latency.
- Content moderation β genuinely AI. Screening user-generated text and images is exactly the unstructured problem AI is for.
Roughly four out of five of our automations need no AI at all. We're an AI company saying that.
The three rules we build to, either way
Payments, deletions, outbound messages to customers. These queue for one-tap approval rather than executing. Automation should be able to be wrong safely.
So when someone asks in six weeks why an invoice was flagged, there's an answer instead of a shrug.
The automation processes real records and records what it would have done, without doing it. You compare against reality, tune, then go live. Automation that hasn't met real data hasn't been tested.
That third one catches more problems than the first two combined, and almost nobody does it.
Frequently asked questions
The short version
Automate the boring work. Use AI only where the input is genuinely messy. Keep a human in the loop on anything you can't undo. Log everything.
And be suspicious of anyone β including us β who tells you the answer is AI before they've asked what your input looks like.
