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.

When agents should hand off
| Trigger | Example |
|---|---|
| Explicit request | User says "I want to talk to a human" or "let me speak with support" |
| Confidence too low | Agent isn't confident in its response (below threshold) |
| Sensitive topic | Billing disputes, account deletion, legal questions |
| Loop detection | Agent repeated the same response 3+ times |
| Sentiment drop | User frustration detected (caps, negative language, repeated questions) |
| Custom rules | Specific keywords, user segments, or topic categories |
Configuring handoff
- Open your agent → Settings → Handoff
- Enable handoff
- Configure triggers and routing
Trigger settings
| Setting | Options |
|---|---|
| Explicit phrases | List of phrases that trigger immediate handoff (e.g., "talk to human", "connect me to support") |
| Confidence threshold | Hand off when agent confidence drops below this (0-100). Default: 30 |
| Max turns | Hand off after N conversation turns without resolution |
| Sentiment threshold | Hand off when detected sentiment drops below a threshold |
| Topic blocklist | Topics that always hand off (e.g., "billing", "refund", "legal") |
Before handoff message
Customize what the agent says when handing off:
| Setting | Default |
|---|---|
| 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:
| System | How |
|---|---|
| Intercom | Handoff creates an Intercom conversation with the transcript |
| Zendesk | Handoff creates a Zendesk ticket |
| Slack | Handoff posts to a Slack channel for pickup |
| Handoff sends an email with the conversation history | |
| Custom webhook | Handoff 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:
| Context | Description |
|---|---|
| Full transcript | Every message in the conversation |
| User info | Name, email, and any data passed via setUser() |
| AI summary | One-paragraph summary of the issue generated by the agent |
| Topic | Auto-detected conversation topic |
| Sentiment | User's current sentiment (frustrated, neutral, positive) |
| Attempted solutions | What the agent already tried or suggested |
| Handoff reason | Why the agent handed off (explicit request, low confidence, etc.) |
Offline hours
Configure what happens when no human is available:
| Setting | Behavior |
|---|---|
| Business hours | Set your team's working hours and timezone |
| During hours | Hand off to live agent (default behavior) |
| Outside hours | Auto-create a support ticket, ask for email, and promise follow-up |
| Queue position | Show estimated wait time based on current queue |
Testing handoff
- Open the agent Testing panel
- Trigger a handoff by typing one of your configured phrases
- 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
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.
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.