On this page
Most WhatsApp chatbots fail for a boring reason: they were designed as a list of features, not as a conversation. Someone in a planning meeting says "the bot should handle orders, returns, complaints, store locations, and product queries," a vendor builds a nine-option menu, and three months later the team quietly turns it off because customers keep typing "agent" as their first message.
The bots that work do something narrower. They pick two or three interactions the business repeats hundreds of times a week — order status, appointment booking, basic pricing questions — and they automate those completely, with a clean exit to a human for everything else. That is the whole game. This guide covers how to pick those interactions, how to design flows that people finish, a worked booking example you can adapt, and the two metrics that tell you whether any of it is working.
What to automate first (and what to leave alone)
There's a reliable pattern in which automations pay off quickly and which ones burn goodwill. We see this across accounts of very different sizes: the ordering is nearly always the same.
Start with FAQ deflection. Every business has a cluster of questions that make up a disproportionate share of inbound volume — typically somewhere between 40% and 60% of first messages, in our experience, though it varies a lot by industry. For a Pune tiles showroom it's "what are your timings" and "do you deliver to my pin code." For a Jaipur boutique hotel it's "is breakfast included" and "what's the check-in time." These questions have fixed answers. A bot that answers them instantly, at 11pm, in the customer's first message, is doing genuinely useful work from day one. If you want a structured starting point, our FAQ automation solution covers the standard setup.
Add lead qualification second. Once the FAQ layer is stable, the next win is asking inbound leads three or four structured questions before a salesperson ever picks up the conversation. Budget range, location, timeline, requirement type. A real estate team in Gurgaon that qualifies leads this way isn't saving the salesperson five minutes — it's letting them open the call already knowing the customer wants a 2BHK under ₹90 lakh in Sector 57. The conversation starts at step three instead of step zero. Lead qualification flows are more design-sensitive than FAQs, which is why they come second: a badly worded qualifying question leaks leads.
Booking and scheduling third. This is the most valuable automation and the hardest to get right, because it involves state — available slots, confirmations, reschedules, reminders. A salon or diagnostic centre that gets booking automation working typically sees a meaningful drop in no-shows just from the confirmation-plus-reminder loop, and the front desk stops being a phone-answering station. We'll walk through a full booking flow below.
What to leave alone, at least initially: complaints, refunds, anything emotionally charged, and anything genuinely open-ended ("suggest a gift for my wife"). A customer who is angry about a delayed order does not want a menu. Route those to a human fast and treat the routing itself as the automation. The bots that try to "handle" complaints are the ones that end up in screenshots on X.
Conversation design principles that survive contact with real users
Short menus beat open text — almost every time
The instinct, especially post-2023, is to build everything as free-form AI conversation. Resist it for transactional flows. WhatsApp gives you interactive buttons (up to 3) and list messages (up to 10 rows), and structured options outperform open text on completion rate by a wide margin for tasks like booking and qualification. The reason is cognitive, not technical: a menu tells the user what the bot can do. An open text box makes the user guess, and users guess wrong, and every wrong guess is a failure the user blames on your brand.
The practical rule we use: buttons for decisions, open text for data. "Do you want AC or non-AC service?" is a decision — two buttons. "What's your building name and flat number?" is data — open text, because no menu can enumerate it. Flows that mix these up in either direction feel broken. A menu asking you to pick your name from a list is absurd; an open prompt asking "what service do you want?" when there are exactly four services is lazy design.
Keep menus short. Three to five options is comfortable; beyond that, split into two levels ("Services" → then the service list) rather than presenting a ten-row wall. But be careful — over-nesting is its own failure mode, which we'll get to.
Always offer human handoff — and make it visible early
Every flow needs an escape hatch, and it should not be hidden behind "type HELP to talk to an agent" in fine print. Put "Talk to a person" as a persistent option in your main menu and as a fallback whenever the bot fails to parse input twice in a row. Two failed parses is the threshold we recommend: one failure can be a typo; two means the bot and the user have genuinely diverged, and a third attempt just breeds resentment.
Counterintuitively, a visible handoff option increases containment rather than decreasing it. Users who know they can reach a human are more willing to try the bot's menu first. Users who suspect they're trapped in an automation with no exit start typing "AGENT AGENT AGENT" immediately — and honestly, fair enough.
Handoff also needs to respect hours. If agents are available 10am–7pm, the bot should say so at handoff time outside those hours, take the query as a message, and commit to a response window ("our team will reply after 10am tomorrow"). Silently queueing a customer into a void at midnight is worse than no handoff at all.
Run dead-end audits
A dead end is any state where the conversation can stall with no button, no prompt, and no instruction for what to do next. Common culprits: a confirmation message with no follow-up options ("Your booking is confirmed." — then what if I need to change it?), an error branch someone forgot to write copy for, or a menu option that was removed from the backend but still shows in the flow.
Dead ends are invisible in testing because testers follow happy paths. They show up in transcripts. Once a month, pull a sample of conversations that went silent — no user message after a bot message, no resolution, no handoff — and read the last bot message in each. If the last message doesn't contain an obvious next action, you've found a dead end. Fix it, and re-check the same path next month. Teams that run this audit religiously typically find 3–5 dead ends in the first pass and one or two new ones each quarter as flows get edited. Flow edits are where dead ends breed.
A worked example: service booking flow
Here is a complete booking flow for a home services business — an appliance repair company, say, operating across two or three cities. Adapt the specifics; keep the structure.
- Entry. User messages anything (or arrives via a link/QR). Bot replies with a greeting and a 3-button menu: Book a service / Check my booking / Talk to a person. One line of greeting, not a paragraph. Nobody reads the paragraph.
- Service selection. User taps Book a service. Bot sends a list message: AC repair, washing machine, refrigerator, water purifier, other. "Other" routes to open text plus a note that a team member will confirm — don't force unusual requests through a menu that can't hold them.
- Location capture. Bot asks for pin code (open text — this is data, not a decision). Validate it against your service area immediately. If out of area, say so now, politely, and offer to save their number for when you expand. Making someone complete four more steps before discovering you don't serve their area is the single most rage-inducing pattern in booking flows.
- Slot selection. Bot offers the next available slots as a list: "Tomorrow 10–12", "Tomorrow 2–4", "Wed 10–12", plus a More slots row. Pull these from your actual scheduling system. Showing fake slots and "confirming later" by phone call defeats the entire purpose — you've built a lead form with extra steps.
- Details. One message asking for address and a brief problem description. One message, not three. Every additional ask costs completions; typical flows lose a few percent of users at each extra step, so consolidate ruthlessly.
- Confirmation. Bot echoes everything back — service, date, slot, address — with two buttons: Confirm / Change something. The echo matters. It catches the wrong-pin-code and wrong-day errors before a technician drives across town.
- Post-confirmation. Booking reference, what happens next ("Ramesh will call 30 minutes before arrival"), and — because dead ends — buttons for Reschedule and Main menu.
- Reminder. A template message the morning of the appointment with Confirm / Reschedule buttons. This step alone justifies the build; confirmed-morning-of appointments no-show far less often.
Eight steps, but the user experiences it as five or six taps and two typed messages, finished in under two minutes. That's the benchmark: if your booking flow takes longer than a phone call, the flow loses.
If you'd rather not wire this up from scratch, this is the core of what our chatbots and automation product does — flow builder, scheduling hooks, handoff routing, and the reminder templates — available from the Growth plan (Rs.2,999/month, paid from day one; the 7-day free trial is on Lite, which doesn't include the chatbot). InfiQ is a Meta Business Partner, so the API plumbing underneath is the official WhatsApp Business Platform, not a grey-market workaround.
Measuring what matters: containment and handoff quality
Containment rate
Containment rate is the share of conversations fully resolved by the bot — no human agent involved. It's the headline metric, but define "resolved" honestly. A conversation where the user got their answer and left is contained. A conversation where the user gave up and left is abandoned, and if you count abandonment as containment your metric is lying to you. The distinction usually requires sampling transcripts, because the raw data looks identical: bot message, then silence.
Reasonable benchmarks, hedged appropriately: pure FAQ bots typically contain somewhere in the 60–80% range once tuned; booking flows more like 50–70%; lead qualification is harder to score because handing off to sales is the goal, not a failure. Don't chase 95% containment. Past a point, higher containment means you're making it too hard to reach a human, and you're converting handoffs into abandonment. The number should rise over your first three or four months and then plateau; a plateau is health, not stagnation.
Handoff quality
The neglected metric. When the bot hands a conversation to an agent, what arrives with it? The failure mode everyone has experienced as a customer: you spend three minutes giving the bot your order number, problem, and phone number, then the agent opens with "Hi, how can I help you today?" That interaction is worse than having no bot at all — you've charged the customer three minutes of effort and paid them nothing for it.
Measure handoff quality with three questions:
| Check | What good looks like | How to measure |
|---|---|---|
| Context transfer | Agent sees the full bot transcript plus extracted fields (name, issue, order ID) | Audit: does the agent's first message repeat a question the bot already asked? |
| Wait honesty | Quoted wait time matches actual wait within a couple of minutes | Compare promised vs. actual first-response time on handoffs |
| Re-ask rate | Under ~10% of handoffs involve the agent re-collecting bot-collected data | Sample 20–30 handoff transcripts monthly and count |
If your re-ask rate is high, the fix is usually tooling (agents can't see bot data) or habit (they can, but don't look). Both are fixable in a week. Neither fixes itself.
Failure smells: how to tell your bot is going wrong
Certain patterns show up in transcripts before they show up in metrics. Learn to smell them.
Loops. The user is cycled back to the main menu repeatedly without progress — they pick an option, hit a parse failure, get dumped to the menu, try again. Three menu-returns in one conversation without a resolution is a loop, and a looping user is seconds from abandoning. Instrument this: count menu re-entries per conversation and alert on outliers. The root cause is almost always a parse failure branch that routes to "main menu" instead of to "let me connect you to a person."
Over-branching. The flow tree has grown so many nested conditions that nobody on the team can draw it from memory. Symptom in the data: lots of half-finished conversations abandoned at different mid-tree depths, rather than at one identifiable bad step. Symptom in the org: flow edits take days because nobody's sure what a change breaks. The fix is pruning, not patching — collapse rare branches into "other → human" and keep the automated tree shallow. A flow with 12 well-trodden paths beats one with 60 theoretical ones.
The Frankenstein greeting. Every department has added its announcement to the welcome message until it's four paragraphs of festival offers, new store launches, and policy updates before the menu appears. First message: one greeting line, then the menu. Everything else goes elsewhere.
Stale answers. The bot confidently states last quarter's prices or the old store timing. FAQ content needs an owner and a review cadence, monthly at minimum. An automated wrong answer is worse than a slow right one, because it's delivered with confidence at scale.
A realistic rollout sequence
Don't launch everything at once. The sequence that works:
Weeks 1–2: FAQ layer only, on your existing WhatsApp number, with handoff to your current team for everything else. Watch transcripts daily. You will discover your customers phrase questions in ways your menu didn't anticipate — that's the point of this phase.
Weeks 3–4: Add lead qualification for one product line, not all of them. Compare qualified-lead-to-conversation rates against your unqualified baseline before expanding.
Month 2: Booking flow, integrated with real availability. Run it alongside phone booking for a few weeks rather than replacing anything.
Month 3 onward: Monthly dead-end audits, quarterly flow pruning, and containment/handoff dashboards reviewed in whatever meeting already exists — don't create a new meeting for this.
The teams that succeed with WhatsApp automation aren't the ones with the cleverest bots. They're the ones who treated the bot as a product with an owner, a metrics review, and a maintenance schedule — instead of a project that shipped once and was declared done. Start narrow, exit gracefully, measure honestly. The rest is iteration.

