Escalation & Handoff
Not every request belongs in a chatbot. When the customer’s question is too complex, too sensitive, or simply outside the agent’s scope, Omniflow detects it and proposes the right alternative — without making the customer repeat themselves.
The three handoff paths
Omniflow ships with three first-class escalation outcomes. The agent picks based on the conversation, the customer’s preference, and your routing rules.
| Path | When | Customer experience |
|---|---|---|
| Self-service form | The request is well-defined but needs a structured input the chatbot can’t capture cleanly (e.g. an address change, a complaint with attachments). | The agent links to a pre-filled web form with the data already gathered in the chat. |
| Live agent handover | The customer is upset, the situation is sensitive, or the request needs human judgment. | The chatbot transfers to a human agent on chat or voice; full conversation context follows. |
| Scheduled callback | The customer is calling outside business hours, all agents are busy, or a follow-up is needed after research. | The agent books a callback slot on the customer’s preferred channel; the system reminds both sides. |
How detection works
The agent uses three signals to decide it should propose an alternative path:
- Confidence on retrieval. When knowledge retrieval returns no chunk above the configured threshold, the agent doesn’t guess — it offers handoff.
- Intent classification. Built-in detectors flag conversations that are out-of-scope, mention legal/medical/financial advice, or contain emotional cues like frustration.
- Explicit rules. Tagged keywords (
refund,cancel,manager,complaint) or routing conditions can force a specific handoff path.
The agent is prompted to offer the alternative, not silently transfer. Customers stay in control: they can accept, pick a different option, or keep working with the bot.
The conversation pattern
A typical flow:
Customer: “I want to change the beneficiary on my life insurance policy.”
Agent: (retrieval returns the policy doc but it’s a sensitive change requiring identity verification) “That’s a change I want to make sure we get exactly right. I can offer three options:
- Fill out the secure update form I’ll send you — takes about two minutes.
- Talk to a licensed agent right now if you’d prefer — average wait is six minutes.
- Schedule a callback at a time that works for you — next available is 2:00 PM today.
Which works best?”
The customer picks. The agent executes:
- Option 1 — calls the
send_secure_formtool, which generates a signed magic link to a pre-filled form. Conversation stays open in case the customer has questions. - Option 2 — calls
transfer_to_humanwith the conversation context, the customer’s intent, and the data gathered so far. The human agent picks up with full history. - Option 3 — calls
schedule_callback, picks a slot from the team’s calendar integration, sends confirmations. The conversation closes with a confirmation message.
Self-service form handoff
How it works:
- The agent has gathered partial data through the chat (“name”, “policy number”, “new beneficiary’s name”).
- The agent calls
send_secure_form(template_id, prefilled_data, return_url). - Omniflow generates a signed, time-limited URL pointing to your form host (your CRM portal, your Salesforce community, a custom React page, or Omniflow’s hosted form).
- The customer fills in the rest — including any sensitive fields the chatbot shouldn’t see.
- On submit, your backend processes the change; an event posts back to the conversation as an internal note.
Templates live under Settings → Forms. Each template defines the fields, validation, and target URL.
Forms are the right pattern for inputs the chatbot shouldn’t capture in transcript — credit card details, government ID, medical records. Use a form, never a chat reply.
Live agent handover
The transfer is “warm” — the human picks up with everything the bot saw:
- Full transcript of the chatbot conversation.
- The intent the bot detected.
- Any data the bot gathered (name, policy ID, etc.).
- The customer’s mood / sentiment as scored by the bot.
- The customer’s CRM record.
| Setting | Notes |
|---|---|
| Target team | Routing rule picks the right team — by skill, language, or product. |
| Capacity check | If the team is at capacity, fall through to a callback. |
| Hours check | Outside business hours, fall through to a callback or voicemail. |
| AI handoff message | Configurable greeting the human reads out loud, e.g. “I’m taking over for the assistant — I see you’re trying to change your beneficiary.” |
See Routing Rules for the full configuration model.
Scheduled callback
The callback flow uses your team’s calendar integration:
- The agent calls
propose_callback_slots(customer_id, channel="voice"|"chat", duration=15). - Omniflow checks the team’s availability and offers up to 3 slots.
- The customer picks one.
- The slot is booked on the team’s calendar and the customer’s calendar (if connected).
- A reminder fires 15 minutes before the callback.
- At the scheduled time, the system creates a callback task on the assigned agent’s queue with the original conversation context.
| Channel | Default duration |
|---|---|
| Voice | 15 minutes |
| Video | 30 minutes |
| Chat | 30 minutes |
Callbacks work best with a connected calendar (Google or Outlook). Without one, callbacks fall back to a queue model: “we’ll call you within X minutes” with a soft SLA.
Set it up
Configure your three handoff destinations
- Forms: Settings → Forms — create a template per scenario (address change, complaint, refund request).
- Live agents: Settings → Teams — make sure each handoff target team has skills and hours configured.
- Callbacks: Settings → Availability scheduling — connect Google or Outlook; set the slot duration and buffer per team.
Expose the handoff tools to the agent
Open the agent → Tools tab → enable:
send_secure_formtransfer_to_humanschedule_callback
Tune the agent prompt
Add a guardrail block to the system prompt:
When you encounter a request that is sensitive, complex, or outside
your competence, do NOT guess or invent a policy. Instead offer the
customer one of three paths:
1. A self-service form for routine but structured changes.
2. A live agent for sensitive or judgment-heavy requests.
3. A scheduled callback for after-hours or research-heavy requests.
Always present all three; let the customer choose.Add detection rules
In Automations → Routing rules, add rules for the categorical handoffs you don’t want the model to decide on its own — legal, medical, fraud, regulated transactions.
Test
Run a practice call in the Training module with a scenario designed around an out-of-scope request. Verify the agent offers the right paths.
Compliance and audit
Every handoff is logged:
- Which path was offered.
- Which path the customer picked.
- The full conversation context handed off.
- Time-to-pickup for live handover.
- Callback fulfillment rate.
Use the Handoff report under Reports & Trends to track patterns — high handoff rate on a specific topic usually means a knowledge gap or a process issue.
Open in Omniflow
Related
| If you want to… | Go to |
|---|---|
| Configure when the agent doesn’t know an answer | Knowledge-Driven Answers |
| Build the routing rules | Routing Rules |
| Set up callback slots | SLA & Business Hours |
| Add custom handoff tools | Tools & Actions |