Chapter 1 · The scenario
Example: Two misses and a menu at a Kochi insurer
A customer of a Kochi health insurer writes "hospital said cashless not possible what now" to a bot trained on policy, premium and claim-status intents. The best match, claim_status, scores 0.41 against a 0.6 threshold, so the fallback fires: "I can help with claim status, cashless approval or reimbursement — which do you need?" The reply, "cashless denied", still scores below the threshold — strike two — so the bot sends a list message with five rows. The customer taps "Cashless approval issue", the counter resets, and the bot collects the policy number and hospital name before passing the case to the claims desk with everything attached. In the weekly review the team adds both phrasings as training examples, and the next customer who writes them is understood first time.
Chapter 2 · What is a fallback intent?
A fallback intent — also called a default, catch-all, no-match or "none" intent — is the handler a chatbot runs when intent recognition cannot match a customer's message to any intent with enough confidence. Instead of guessing, the bot follows a planned path: it asks the customer to rephrase, offers a menu of what it can do, or passes the conversation to a person.
It is triggered by a confidence threshold. An intent classifier or LLM router scores the candidate intents; if the best score is below the threshold — 0.6 is a common starting point — or the top two are too close to call, the message goes to the fallback. Messages the bot cannot process at all, such as a sticker or a voice note in a text-only journey, usually take the same path.
The best fallbacks are stateful. The bot counts consecutive misses in its conversation state and changes its behaviour each time: a short, specific rephrase prompt first, a list message of the main tasks second, a human handoff third. That counter is what breaks the loop of "Sorry, I didn't get that" that makes customers abandon a bot. A fallback intent is not a fallback channel: the latter re-sends an undelivered WhatsApp message by SMS or email and has nothing to do with understanding.
Key takeaways
- A fallback intent fires when no intent is confident enough — it is the bot's planned answer to "I didn't understand".
- Good fallbacks escalate: rephrase once, then offer a menu, then hand off to a human.
- On WhatsApp, a list or reply-button message turns a failed free-text turn into a structured choice.
- Count consecutive misses per conversation and reset the counter on any successful match.
- A fallback intent is about understanding; a fallback channel (SMS when WhatsApp fails) is about delivery.
Chapter 3 · How it unfolds
How does a fallback intent work?
Set a threshold and a margin
Pick the minimum score at which the bot trusts an intent, plus a margin rule for near-ties between the top two. Tune both on real messages: too high and the bot falls back on things it knew, too low and it confidently does the wrong thing.
First miss: a specific rephrase prompt
Say what the bot can help with in one line instead of a bare apology: "I can track an order, change a delivery or start a return — which is it?" Increment the miss counter and log the message.
Second miss: switch to a menu
Send a list message (up to 10 rows) or up to three reply buttons. The customer's tap arrives as an
interactivereply with an ID you defined, so understanding is no longer in doubt.Third miss: hand off or set expectations
Route the chat to a live agent with the transcript and the failed messages, or — outside working hours — say when the team is back and take a callback request.
Reset, review and learn
Reset the counter on any confident match. Review masked fallback messages weekly and turn recurring phrasings into training examples, new intents or knowledge-base answers.
Chapter 4 · In code
A fallback intent in code
const THRESHOLD = 0.6;const MARGIN = 0.1; // top two closer than this = too close to callexport async function route(msg, state, classify) {// Agent requests are their own intent and never count as a missconst [top, second] = await classify(msg.text); // sorted [{ intent, score }]const confident =top.score >= THRESHOLD && top.score - (second?.score ?? 0) >= MARGIN;if (confident) {state.misses = 0; // reset on any good matchreturn handlers[top.intent](msg, state);}state.misses = (state.misses ?? 0) + 1;await logFallback({ text: mask(msg.text), top, second });if (state.misses === 1) {return sendText(msg.from, "I can track an order, change a delivery or start a return. Which one?");}if (state.misses === 2) return sendMenu(msg.from); // list message, see the cURL tabreturn agentsOnline()? handoff(msg, state, "three misses in a row"): sendText(msg.from, "Our team is back at 9 am. Reply CALL and we'll ring you then.");}
The response changes on every miss, and the loop is capped at three.
Chapter 5 · Where it goes wrong
Common mistakes with a fallback intent
The endless apology loop
Repeating "Sorry, I didn't understand" with nothing new is the fastest way to lose a customer. Change the response on every miss and cap the loop at two or three.
Hiding the agent behind the fallback
If a person is only reachable after three misses, customers learn to type gibberish — and WhatsApp's Business Messaging Policy expects automated chats to offer prompt, clear escalation paths. Give human handoff its own intent and a permanent "Talk to a person" option.
A threshold set by gut feel
Tune it on a labelled sample of real messages, checking both false fallbacks (the bot knew) and false matches (the bot was confidently wrong). Re-tune whenever intents are added.
Stale button IDs treated as nonsense
Customers tap buttons on messages from last week. Keep handling every interactive ID you have ever sent, or answer an expired one with the current menu rather than a fallback.
Never reading the fallback log
Unreviewed fallbacks are wasted data. Review the most common phrasings weekly and add them to intents or the knowledge base.
Chapter 6 · The facts
A fallback intent: key facts and limits
| Trigger | Top intent below the confidence threshold, or a near-tie |
|---|---|
| Common starting threshold | Around 0.6, tuned on labelled data |
| Escalation pattern | Rephrase → menu → human, capped at 2–3 misses |
| List message | Up to 10 rows; row titles up to 24 characters |
| Reply buttons | Up to 3; titles up to 20 characters |
| Free-form fallback replies | Only inside the 24-hour customer service window |
| Cost of each reply (India) | Service messages charged at ₹0.145 since 1 October 2026 |
Chapter 7 · Why it matters
Why does a fallback intent matter?
Every bot misunderstands some messages — typos, Hinglish, two questions in one, topics it was never built for. The fallback decides whether those moments become a quick recovery or an abandoned chat. It is also the richest improvement data a bot produces: every fallback hit is a real customer phrasing your intents do not cover yet, and the fallback rate is the clearest single measure of whether the bot's understanding is keeping up with the people using it.
Chapter 8 · What good teams do
Best practices for a fallback intent
- Name two or three things the bot can do in every fallback message.
- Track fallback rate per week and per entry point; a spike usually follows a campaign or a new product.
- Keep an always-available "menu" keyword that resets the journey.
- Answer voice notes and images with what formats the bot accepts instead of counting them as misses.
Chapter 9 · Fallback Intent FAQs
Fallback Intent FAQs
What should a chatbot say when it doesn't understand?+
What is a good confidence threshold for a fallback intent?+
Is a fallback intent the same as a fallback channel?+
How many times should a bot fall back before handing off?+
* Per-message rates for India, ex-GST: marketing, utility and authentication effective 1 July 2026; service messages ₹0.145 since 1 October 2026 (they were ₹0 until 30 September 2026). Volume commitments earn discounts — final rate is confirmed on your account; applicable GST extra. Rates for other countries differ (see the international rate table on /pricing).