Handoff & Escalation

Not every conversation can be resolved by AI. Handoff configures when your agent recognizes it's out of its depth and transfers the conversation to a human, with full context.

Agent handoff
Configure escalation and handoff rules

When agents should hand off

TriggerExample
Explicit requestUser says "I want to talk to a human" or "let me speak with support"
Confidence too lowAgent isn't confident in its response (below threshold)
Sensitive topicBilling disputes, account deletion, legal questions
Loop detectionAgent repeated the same response 3+ times
Sentiment dropUser frustration detected (caps, negative language, repeated questions)
Custom rulesSpecific keywords, user segments, or topic categories

Configuring handoff

  1. Open your agent → SettingsHandoff
  2. Enable handoff
  3. Configure triggers and routing

Trigger settings

SettingOptions
Explicit phrasesList of phrases that trigger immediate handoff (e.g., "talk to human", "connect me to support")
Confidence thresholdHand off when agent confidence drops below this (0-100). Default: 30
Max turnsHand off after N conversation turns without resolution
Sentiment thresholdHand off when detected sentiment drops below a threshold
Topic blocklistTopics that always hand off (e.g., "billing", "refund", "legal")

Before handoff message

Customize what the agent says when handing off:

SettingDefault
Handoff message"I'm connecting you with a team member who can help. They'll have our full conversation for context."
Wait message"A team member will be with you shortly. Average wait time: under 5 minutes."
Offline message"Our team is currently offline. I've created a support ticket and someone will follow up via email."

Routing

Where does the handoff go?

Workflow handoff

Trigger a TinyWorkflow when handoff occurs:

Agent handoff → Workflow triggered →
  Slack (post to #support with conversation transcript) →
  Create Record (support ticket in database) →
  Send Email (confirmation to user)

Configure in Handoff → Route to → Workflow and select the target workflow.

External system handoff

Send the conversation to your existing support tool:

SystemHow
IntercomHandoff creates an Intercom conversation with the transcript
ZendeskHandoff creates a Zendesk ticket
SlackHandoff posts to a Slack channel for pickup
EmailHandoff sends an email with the conversation history
Custom webhookHandoff POSTs conversation data to your endpoint

Configure in Handoff → Route to → External and set up the integration.

Context transfer

When handoff occurs, the receiving human gets:

ContextDescription
Full transcriptEvery message in the conversation
User infoName, email, and any data passed via setUser()
AI summaryOne-paragraph summary of the issue generated by the agent
TopicAuto-detected conversation topic
SentimentUser's current sentiment (frustrated, neutral, positive)
Attempted solutionsWhat the agent already tried or suggested
Handoff reasonWhy the agent handed off (explicit request, low confidence, etc.)

Offline hours

Configure what happens when no human is available:

SettingBehavior
Business hoursSet your team's working hours and timezone
During hoursHand off to live agent (default behavior)
Outside hoursAuto-create a support ticket, ask for email, and promise follow-up
Queue positionShow estimated wait time based on current queue

Testing handoff

  1. Open the agent Testing panel
  2. Trigger a handoff by typing one of your configured phrases
  3. Verify:
    • The handoff message appears correctly
    • The workflow/webhook fires
    • The context transfer includes the full conversation
    • The offline message appears if outside business hours
Tip

Include "talk to human", "speak to someone", "agent", "representative", and "help" as handoff trigger phrases. Users express this need in many ways, so cover the common variations.

Warning

If no handoff route is configured, the agent will attempt to continue the conversation even when it should escalate. Always configure at least one handoff destination before deploying your agent.