On this page

Escalation is what stops the AI from answering something it should not, or from arguing with a customer who has clearly asked for a person. The mechanism differs by channel: Instagram and Messenger use an automatic deterministic detector, the website widget escalates only when its agentic tools are turned on, and WhatsApp relies on a Human Handoff node you add to the flow yourself.
AI escalation: first 5 of 6 steps
- 1For Instagram and Messenger, escalation works automatically
- 2For the website widget, decide whether you
- 3For WhatsApp, add a Human Handoff node
- 4Write a clear handoff message
- 5Confirm the conversation lands where your team
Before you start
- Know which channel you are configuring before you look for an escalation setting, since the three channels behave differently and there is no single organisation-wide "escalation" toggle.
- The safety-topic class (self-harm, minors, high-risk medical or legal advice, payment card details) is non-configurable everywhere it is checked; you cannot turn it off, and you should not try to route around it.
- On WhatsApp, escalation is a design decision you make when building the flow, not a setting you turn on afterwards. Plan for it while wiring the flow's nodes, not after customers start hitting the gap.
- The website widget's automatic tool-based escalation only exists in agentic mode, which is a separate configuration from the plain RAG chat mode most widgets start in.
Steps
- For Instagram and Messenger, escalation works automatically once the AI is on. No separate setup step is required: an explicit human request, a safety-sensitive message, or a payment card number detected in the text escalates the conversation immediately.
- For the website widget, decide whether you want agentic mode. In Settings, then Chat Widget, then a specific widget, enable the agent tools you want available, including escalate_to_human. The model then decides on its own, based on the visitor's messages, when to call it.

- For WhatsApp, add a Human Handoff node to your flow. Place it after the AI Response node directly for a simple "always offer a way out," or behind a Condition node that checks a Quick Replies choice like "Talk to a person" for a scripted branch.
- Write a clear handoff message. The Human Handoff node's message is what the customer sees the instant escalation happens; keep it honest about what happens next ("Connecting you with a support agent, they will reply here shortly") rather than vague.
- Confirm the conversation lands where your team expects it. On Instagram, Messenger, and the agentic widget, an escalated conversation is visibly marked and appears in your team inbox; on WhatsApp, the flow simply ends at the Human Handoff node and the conversation waits for a human reply like any other.
- Test both channels' failure modes. Send an explicit "I want to talk to a person" on Instagram or Messenger to confirm the automatic detector fires, and message your WhatsApp flow's trigger to confirm its Human Handoff node reaches the point you expect it to.
A tattoo studio running an Instagram bot and a WhatsApp booking flow needs to think about these as two separate designs, not one setting applied twice: the Instagram bot escalates on its own the moment someone types "can I talk to someone," while the WhatsApp flow only offers that same exit if a Human Handoff node was actually wired into the graph. Building one channel and assuming the other behaves the same way is the most common gap here.
What you will see
On Instagram and Messenger, a message matching an unmistakable human request or a safety topic escalates before the AI is even asked for an answer; frustration language or a third repeat of the same question instead gets an offer appended to the bot's normal reply, inviting the customer to ask for a person rather than forcing the handoff. On the website widget in agentic mode, the model calls the escalate_to_human tool mid-conversation when it judges it appropriate, and the conversation is marked escalated with the AI paused. On WhatsApp, escalation looks exactly like whatever the flow's Human Handoff node was built to do, since there is no separate automatic layer underneath it.
Settings and options
| Setting or field | What it does | Default |
|---|---|---|
| Safety-topic detection (Instagram/Messenger) | Escalates immediately on self-harm, minor-safety, high-risk medical/legal, or payment-credential content | Always on, not configurable |
| Explicit human request (Instagram/Messenger) | Escalates immediately on unmistakable phrases like "talk to a person" or "is this a bot" | Always on, not configurable |
| Frustration offer (Instagram/Messenger) | Appends an offer to connect a person rather than escalating outright | On by default, tunable via offerOnFrustration |
| Repeated-question offer (Instagram/Messenger) | Offers a person after the same question is asked a third time | Always on |
| escalate_to_human tool (website widget) | Lets the model voluntarily hand off a conversation in agentic mode | Off, unless the widget's agent tools are configured to include it |
| Human Handoff node (WhatsApp/Flow Builder) | Sends a configurable message and ends the flow's automated run | Not present unless you add it to the flow |
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| A WhatsApp customer asked for a human and the bot kept answering | The flow has no Human Handoff node, since WhatsApp AI Response nodes do not escalate automatically | Add a Human Handoff node, typically behind a Condition checking for a "talk to a person" style reply |
| The website widget never escalates even when a visitor asks for a person | The widget is running in plain (non-agentic) mode, or the escalate_to_human tool is not in its enabled tools list | Turn on agentic mode and enable escalate_to_human in the widget's settings |
| An Instagram customer wrote in Hinglish asking for a human and the bot answered anyway | The detector is an English phrase pattern and missed the mixed-language phrasing | This is a known limitation; the bot still answered normally rather than unsafely, and the model's own judgment (via its own escalate call) is the deeper safety net |
| A safety-topic message on Instagram escalated when it probably should not have | A false-positive match against one of the non-configurable safety patterns | This is expected caution, not a bug; the cost of a false escalation (a human answers instead of the bot) is intentionally lower than the cost of a missed one |
| An escalated conversation on Instagram never shows in the team inbox | The conversation's escalated status did not update, or the wrong inbox filter is hiding it | Check the conversation's status filter in the inbox; escalated conversations should appear the same as any AI-paused conversation |
Related reading
Escalation and AI takeover pause work together: escalation is the bot handing off deliberately, takeover pause is what happens once a human actually replies. If a bot seems to be silent rather than escalating, work through AI on but not replying instead.