Skip to main content

Escalation tools — Escalate to Agent & Transfer Call

When your agent can't resolve a request, it should hand off to a human cleanly. v3 ships two purpose-built escalation tools:

  • Escalate to Agent — for chat conversations. Routes the user to a human agent in Inbox.
  • Transfer Call — for voice conversations. Forwards the call to a human agent or SIP extension.

Configure both in AI Agent → Tools → Add Tool.

Why have a dedicated escalation tool?

You could trigger a workflow that does the handoff. But a dedicated tool gets you:

  • A standardized config for collecting customer info before handoff.
  • Priority and assignment rules built in.
  • A clear LLM contract — the agent knows "this is the escalation path", not "one of seven workflows that might do something escalation-shaped."

Use the dedicated tool unless you have a very specific reason not to.


Escalate to Agent (chat)

This is the right tool when the user asks for a human, the agent recognizes a complex case it can't solve, or a Routing Logic rule sends them to support.

Step 1: Add the tool

AI Agent → Tools → Add Tool → Escalate to Agent.

The drawer opens with Settings, Chat Escalation, and Test tabs.

Step 2: Settings — name and description

Name: something like escalateToSupport, transferToBilling, or talkToHuman.

Description: tell the LLM exactly when to call this. Example:

"Hand the conversation to a human support agent. Use this when the user explicitly asks for a human, when you've failed to resolve their issue after two attempts, or when they express strong frustration. Do not use this for billing questions — use the escalateToBilling tool instead."

Step 3: Chat Escalation tab

This is where you configure the handoff itself.

Priority and assignment

SettingPurpose
Default prioritylow, medium, or high. Sets the ticket priority on creation.
Queue IDThe Inbox queue this escalation lands in.
TagsTags applied to the resulting ticket — useful for routing and reporting.
Assignment strategyround-robin, least-busy, or specific-group. How the ticket is assigned.
Assign to groupThe specific Inbox group when strategy is specific-group.

Best practices:

  • Set priority based on the trigger, not on optimism. Frustrated users escalating after multiple failed attempts are usually high — not medium "to be safe."
  • Use specific-group assignment for domain escalations (billing → billing group, technical → tier-2 engineering). Round-robin works for general support.
  • Tag every escalation tool distinctly. Reporting later (e.g. "how often does the bot fail at billing?") is impossible without good tags.

Pre-handoff data collection

SettingEffect
Collect nameAgent asks for the user's name before escalating (if not already known).
Collect mobileSame for mobile number.
Collect emailSame for email.
Require reasonThe agent must capture why the user is escalating before handing off.
Require summaryThe agent generates a short summary of the conversation for the human to read.

The human agent in Inbox sees this info immediately on pickup — no "what's going on?" first message.

Best practices:

  • Always require summary. Saves the human agent 30 seconds per ticket. Multiplied over a year, that's hours.
  • Only collect contact info when needed. If the user is already authenticated and you have their email, don't ask again. The agent should be aware of session context.
  • Require reason for non-obvious escalations. "User asked for a human" is enough context. "User is frustrated about <something>" needs a reason.

Custom fields

Add structured fields the agent should collect before escalating. Each custom field has:

  • Name (e.g. orderId)
  • Type (string, number, boolean)
  • Description (LLM uses this to know what to ask for)
  • Required (yes/no)

Use this for domain-specific data: order ID for shipping issues, account ID for billing, error code for technical bugs.

Escalation message

The message shown to the user as the handoff happens. Default is something neutral like "Connecting you to an agent now…". Customize it for tone or to set expectations ("A specialist will join in under two minutes…").

Chat Escalation tab on an Escalate to Agent tool — Message to user, User details toggles (Name, Mobile number, Email), and the Context for the agent section (What the user wants, Conversation summary)

Step 4: Test

The Test tab simulates the escalation. You won't actually create a real ticket — you'll see the structured payload that would be created and any prompts the agent would say.

Step 5: Wire it in

Most teams want escalation to be deterministic, not at the LLM's discretion. Add a Routing Logic rule:

"If the user asks for a human agent, says 'agent' or 'human', or expresses strong frustration (e.g. 'this is unacceptable', 'I want to speak to someone'), call the escalateToSupport tool immediately. Do not try to resolve the issue first."


Transfer Call (voice)

For voice channels — when the user is on a call and needs a human.

Step 1: Add the tool

AI Agent → Tools → Add Tool → Transfer Call.

The drawer opens with Settings, Voice Transfer, and Test tabs.

Step 2: Settings

Name: transferToHuman, transferToBillingAgent, or similar.

Description: explicit, like in the chat case. The LLM uses this to decide.

Step 3: Voice Transfer tab

Action type

Pick one:

ActionWhat it does
Forward callForward the call to a phone number (PSTN).
SIP transferTransfer via SIP to an internal extension.

Forward is the right default. Use SIP when integrating with on-premise PBX or specialist routing systems.

Forward call settings

  • Forward number — the destination phone number.
  • Caller line identity — what the caller ID shows on the receiving end (typically the user's number, sometimes your own).

SIP transfer settings

  • SIP extension — the SIP URI to transfer to.
  • Custom SIP headers — key/value pairs for SIP-level metadata (e.g. customer ID, conversation summary).

Custom headers are how you pass conversation context into your contact-center stack so the receiving agent has it on pickup.

Recording action

What happens to the call recording when the transfer fires:

ActionMeaning
ContinueKeep recording through the human portion. Default for compliance setups.
PausePause recording during the human portion (resume after).
StopEnd recording at transfer.

Pick based on your privacy/compliance posture. When in doubt, talk to legal.

Announcement

A spoken message played to the user just before the transfer ("Connecting you now…"). Customize the wording and tone — voice users notice handoff awkwardness more than chat users.

Step 4: Test

The Test tab simulates the transfer — you'll see the call-control instructions that would fire.

Step 5: Wire it in

Same pattern as chat — add a Routing Logic rule for explicit triggers:

"If the user says 'agent', 'human', 'representative', or asks to speak to someone, call the transferToHuman tool immediately."


Best practices for both

  • Always have an escalation tool. A bot with no escape hatch is a bad bot.
  • Make escalation deterministic with Routing Logic. Don't leave "user asked for a human" up to the LLM's interpretation.
  • Collect just enough info upfront. Saves human agent time, but don't grill the user with five questions before handing off — frustration goes up.
  • Tag escalations precisely. Reporting on "where does the bot fail?" depends on good tags.
  • Test the path. Walk through an escalation end-to-end yourself in the Playground (▶ on any agent). The first time you actually try it shouldn't be in production.
  • Voice and chat behave differently. Don't assume what's right for chat is right for voice. Voice users are less patient with announcements and pre-handoff questions.

Common pitfalls

SymptomLikely cause
Bot escalates too eagerlyDescription is too broad, or no Routing Logic rule defines the trigger. Tighten both.
Bot never escalatesLLM doesn't see the trigger. Add a Routing Logic rule and use words real users say ("human", "agent", "representative").
Human agent has no context on pickup"Require summary" not enabled, or no tags on the escalation. Fix both.
Wrong queue / groupAssignment strategy or queue ID is misconfigured. Test in non-prod first.
Voice transfer drops the callSIP headers / forward number formatting issue. Test against your PBX before going live.

Legacy reference

The legacy Transfer to live agent doc covers v2 escalation. v3's Escalate to Agent tool is the equivalent and adds richer config.