DEV Community

michael fabien
michael fabien

Posted on • Originally published at askamelie.com

Why Your ManyChat Bot Misses Half Its Customer Questions — And How Intent Recognition Fixes It

Why Your ManyChat Bot Misses Half Its Customer Questions

You've built a solid ManyChat flow. Triggered by keywords like "upgrade", "buy", "help". It works for 30% of customers. The rest? Their questions don't match your hardcoded triggers.

"How do I get the premium version?" → bot sees "premium", "version" → no match.
"What's the next tier?" → bot sees "tier" → no match.
"Can I pay monthly?" → bot sees "pay" → no match.

Your customers leave. Keyword-matching is fundamentally limited — it requires perfect phrasing.

The Problem: Keyword-Matching Has a Ceiling

ManyChat's native keyword triggers work like boolean search:

IF message.contains("upgrade") OR message.contains("buy") THEN show_pricing_card
ELSE show_fallback_message
Enter fullscreen mode Exit fullscreen mode

This fails because:

  1. Natural language varies — customers ask the same question 50 different ways
  2. Context is lost — "I want to" + "upgrade" is different from "the upgrade is" + "broken"
  3. Scale = maintenance hell — each new question type = new flow branch (500+ branches later, you're debugging)

You end up with either:

  • ❌ High precision, low recall (catch 100% of "upgrade" but miss 80% of synonyms)
  • ❌ Overmatch everything (catch all variants but 40% false positives)

The Solution: Intent Recognition

Intent recognition asks: what does the customer actually want? Not what words did they use?

customer: "how can I get the pro package?"
intent: UPGRADE_INQUIRY  ← semantic match, not keyword
context: considering_premium_tier
action: → show_pricing_card_with_promo
Enter fullscreen mode Exit fullscreen mode

Your bot now understands:

  • "Can I get premium?" = UPGRADE_INQUIRY
  • "What's the next tier?" = UPGRADE_INQUIRY
  • "How much for the professional version?" = UPGRADE_INQUIRY
  • "What do I get if I pay monthly?" = UPGRADE_INQUIRY

Same intent. Different words. Same best action.

How to Add Intent Recognition to ManyChat (5 Minutes)

You don't replace your ManyChat bot. You upgrade it with a webhook:

  1. In ManyChat, add an External Request action (2 clicks)
  2. Point it to an intent-recognition service (webhook URL)
  3. The service returns intent + next action
  4. ManyChat continues the conversation using that intent

Example webhook:

curl -X POST https://api.askamelie.com/intent \
  -H "Content-Type: application/json" \
  -d '{"message":"how do I upgrade?", "context":"price_page"}'

Response:
{
  "intent": "UPGRADE_INQUIRY",
  "confidence": 0.94,
  "action": "show_pricing_card",
  "context": "considering_premium_tier"
}
Enter fullscreen mode Exit fullscreen mode

No rebuild. No new flows. Your existing ManyChat structure stays intact.

Real Impact

Teams using intent recognition instead of keyword-matching see:

  • +40% message handling (catch the questions you were missing)
  • -70% flow maintenance (1 intent handler vs 50 keyword branches)
  • +2x conversion (customers get the answer they asked for, not a generic fallback)
  • Self-improving (each intent match trains the model; it gets smarter)

Try It Now

SmartBrain is the intent-recognition layer for ManyChat. 5-minute webhook setup, integrates with your existing flows, starts learning customer intents immediately.

Try SmartBrain — Your bot already gets messages. Let it understand them.


What's your biggest pain point with ManyChat flows? Comment below — I'm building exactly what you need.


Originally published on Ask Amelie

Top comments (0)