When to use AI in a flow, and when to use buttons
The most expensive mistake in flow design is asking a language model to do arithmetic. Here is where AI genuinely earns its place.
Buttons give you the same answer every time; AI copes with answers you did not anticipate. A good flow uses both, and the skill is knowing which job belongs to which.
The temptation, once an AI step is available, is to use it for everything. It feels modern and it saves you from mapping out branches. It also makes your flow unpredictable in exactly the places where customers notice.
The four ways a flow can decide something
| Step | How it decides | Same answer every time? |
|---|---|---|
| Ask Customer a Question (buttons or list) | The customer taps one of your options | Yes |
| Keyword match | The message contains words you listed | Yes |
| AI Check | A model reads the message and returns a judgement | No |
| Work Out a Number | Arithmetic, executed exactly | Yes |
Three of those four are deterministic. That is not a criticism of the fourth — it is the whole reason the fourth exists — but it does tell you where to put each one.
Use buttons when the answers are yours to define
If you know the full set of possible answers, buttons are strictly better. They are faster for the customer, they cannot be misread, and the reply arrives as a clean value you can branch on and save to a contact field.
WhatsApp allows a maximum of three buttons on an interactive message, with a list message available when three is not enough. That constraint is a feature: if your menu needs more than a handful of options, the problem is usually the menu rather than the limit.
Confirm or cancel, size, colour, city, payment method, yes or no — all of these belong on buttons. Every one of them is a case where free text just gives you spelling variants to clean up.
Use AI when the customer's wording is the input
The AI Check block earns its place in three situations:
- Classifying an open message. "Is this person asking about delivery, returns or something else?" — a question with no fixed vocabulary.
- Pulling fields out of a sentence. Someone types their address as a paragraph and you want the city out of it.
- Looking at an image. A customer sends a photo of a damaged item, and the flow needs to know roughly what it shows.
In all three, the alternative is a keyword list that will never be complete. That is the honest test for reaching for AI: could I write out every acceptable input? If yes, do that instead.
The job you should never give AI
Any number a customer is charged. A total, a deposit, a discount, a delivery fee, a count of days.
Language models are not calculators, and the failure is not obvious — it is a plausible-looking wrong number. In our own testing of a live pricing prompt, the model scored 10 out of 27 when measured against the rules it had just been given, and asked the same question three times it answered 440, 467 and 440. A customer quoted the middle one is a customer you have overcharged.
The builder has a Work Out a Number block for exactly this. It does the arithmetic exactly, gives the same answer every time, and can read values the flow has already collected. It handles the ordinary operators plus minimum, maximum, rounding and absolute value, which covers essentially every pricing rule a store has.
The clean pattern is to let AI extract and let arithmetic calculate: the model pulls "three kilos, express" out of a sentence, and the calculation turns that into a price.
Cost, which is a real design input
An AI step runs on every message that reaches it. On a busy flow that is a running cost rather than a one-off, which is why the block defaults to the cheaper small model — roughly twenty times cheaper per call than the large one, and entirely adequate for classifying a message or picking a branch.
The large model is worth paying for in one case: reading a customer's photo. Everything else — sorting messages into categories, extracting a field, choosing a route — is small-model work.
Buttons and keyword matches cost nothing at all, which is another quiet argument for using them wherever the answer set is known.
What happens when the AI cannot run
This is worth deciding deliberately rather than discovering. The AI Check block lets you choose what happens on failure, and the three options mean genuinely different things for a customer:
- Skip — the flow stops. Safest when the next step would send something wrong.
- Send anyway — the flow continues without the AI's answer. Fine when the AI was an enhancement rather than the decision.
- Manual review — the flow stops and the conversation waits for a person.
Pick per flow. An AI step deciding whether to send a marketing message should fail closed; an AI step personalising a greeting should not block the greeting.
Answering questions is a third thing
Worth separating out, because it is neither buttons nor a raw AI step: the Answer from Knowledge Base block searches material you supplied — your crawled website and your own question-and-answer pairs — and answers only from that.
It branches on whether it found an answer, and the unanswered path is the one that matters. Wire it to a human handover so a question your knowledge base does not cover reaches a person instead of getting a confident guess. The full picture is in AI answers from your own website.
A flow that gets the balance right
Mixed, in the right order
AI at the door where the input is unpredictable, buttons for everything after, and arithmetic for anything with a currency symbol in front of it. That ordering is most of flow design.
Frequently asked
Will customers notice which one I used?
They notice inconsistency. Two customers asking the same question and getting materially different answers is the thing that erodes trust, and it is far more likely when a model rather than a rule made the decision.
Can I use AI and still review what it does?
Yes — every automation records its runs, and an AI step's output is part of that. Read a week of real runs before you widen where the step is used.
Does AI let me skip building branches?
Not really. It decides which branch to take; you still build the branches. What it saves you is enumerating every phrasing a customer might use.
Is a keyword flow just a worse AI flow?
No. For a fixed vocabulary — an order number format, a specific promo word, START or STOP — a keyword match is faster, free and exact. Details in keyword triggers that actually match.
Does an AI step change what Meta allows?
No. Templates, the 24-hour window and your messaging tier apply identically whatever built the message, per Meta's template documentation.
Working out the cost of an AI step before you build it
The arithmetic is simple and most people never do it. Multiply the number of messages that reach the step by the cost per call, and remember the step runs on every message that gets that far — not only on the ones where it changes something.
Which gives you two cheap optimisations that matter more than the model choice:
- Put conditions before the AI step, not after. A keyword or business-hours check that filters out three-quarters of messages cuts the running cost by three-quarters.
- Do not use AI where a trigger would do. If the flow only makes sense for people who tapped a button, start it from the button.
The same discipline applies to reach. Your messaging tier limits unique recipients per rolling 24 hours, and free-form replies inside the window are free under Meta's pricing documentation — so the running cost of a busy flow is usually the AI calls rather than the messages.
What to do about people who type instead of tapping
They always will. Someone offered three buttons will still write "how much for two". Buttons narrow the common path; they do not eliminate free text.
Which is the real argument for using both: buttons for the path you designed, and an AI or keyword check on the fallback for everyone who went their own way. A flow with no fallback is a flow that ignores the customers who were most engaged.
A short decision list
- Can you list every valid answer? Buttons.
- Is it a fixed word or code? Keyword match.
- Is it money, or a count? Work Out a Number.
- Is it a question your website already answers? Knowledge base.
- Is it open-ended human wording? AI Check.
Run a proposed step down that list from the top and stop at the first match. It is a better guide than intuition, because intuition reaches for AI far too often — and the flows in every automation step, explained show how much a store can do without it.