Inbox & Human Handoff
When your AI agent can’t fully resolve a conversation, it can transfer the user to a human team member. This is called Human Handoff — it connects your AI-powered support with real people when they’re needed most.
Overview
Human Handoff provides:
- Seamless transfer from AI agent to a human team member
- Real-time chat with end users on any connected channel
- Queue management with status tracking
- In-app and email notifications when users request help
- Automatic expiry if no agent is available within the configured time
Prerequisites
- An active AI agent with Human Handoff enabled
- At least one connected channel (or the Website Widget)
- A team member available to respond in the admin panel
Enabling Human Handoff
Human Handoff is configured per agent.
- Go to Agents and click your agent to edit
- In the Configuration tab, scroll to the Human Handoff section
- Toggle Enable Human Handoff on
- Configure the settings:
| Setting | Description | Default |
|---|---|---|
| Handoff Message | Shown to the user when the transfer starts | ”I’m connecting you with a human agent. Please hold on.” |
| Accept Message | Auto-sent when a team member accepts the chat | ”Hi! I’m {agent_name} from {org_name}. How can I help you?” |
| Resolve Message | Shown to the user when the chat ends | ”You’re now back with the AI assistant. How can I help?” |
| Max Wait Time | Auto-expire if no one accepts (5, 15, 30, 60, or 120 minutes) | 30 minutes |
- Click Save Changes
Messages support {'{agent_name}'} and {'{org_name}'} placeholders that are automatically replaced with real values.
For more details on agent settings, see Configuration Options.
How It Works
User asks to speak with a human
→ AI agent detects the request
→ Handoff message shown to the user
→ Session appears in the Inbox queue (status: Queued)
→ Team members receive in-app notification
→ If no response in 3 min, email reminder sent
→ Team member opens Inbox and clicks Accept
→ Accept message sent to the user
→ Real-time chat between user and team member
→ Team member clicks Resolve when done
→ Resolve message sent to the user
→ AI agent resumes the conversationDuring a handoff, the AI agent pauses. All messages from the user are routed directly to the human team member. When resolved, the AI agent automatically resumes handling the conversation.
Using the Inbox Page
Navigate to Inbox in the sidebar to see the handoff queue.
Queue Stats
At the top of the page you’ll see:
- Queued — Number of users waiting for a team member
- Active — Number of chats currently being handled
- Agents online — How many team members have the Inbox page open
Your online status is tracked automatically while you have the Inbox page open. No manual “go online” action is needed.
Filtering
Use the status filter dropdown to view specific sessions:
| Filter | Shows |
|---|---|
| Queued & Active | Conversations that need attention (default) |
| Queued Only | Users waiting for someone to accept |
| Active Only | Conversations currently being handled |
| Resolved | Completed conversations |
| Expired | Sessions that timed out |
| All | Everything |
Queue Table
Each row shows the AI agent that escalated, the user’s channel, session status, escalation reason, wait time, and which team member is assigned (if any).
Click any row to open the chat detail page.
Accepting and Chatting
When you click a queued session, the chat detail page opens.
Accepting a Session
Click the green Accept button in the header. This:
- Changes the session status from Queued to Active
- Sends the accept message to the user on their channel
- Opens the message input so you can start chatting
Only one team member can accept a session. Once accepted, it’s assigned to you.
Chat Interface
The chat detail page has two sections:
Chat Panel (left):
- Messages are grouped by sender with distinct styling:
- User messages (dark) — on the left
- AI bot messages (light) — on the right
- Human agent messages (blue) — on the right, labeled with your name
- Type in the text area at the bottom and press Enter to send
- Messages are delivered in real-time to the user’s channel
Context Sidebar (right, desktop only):
- Timeline — Created, Accepted, Resolved timestamps with live wait timer
- Session — Status, channel, message count, assigned agent
- Participants — End user, AI agent, and human agent
- Escalation Reason — Why the AI decided to hand off (if provided)
Resolving Sessions
When you’ve addressed the user’s issue:
- Click the Resolve button in the header
- A confirmation dialog appears
- Optionally add an internal note (not shown to the user — for your team’s records)
- Click Resolve to confirm
After resolving:
- The resolve message is sent to the user
- The conversation returns to the AI agent
- The session moves to Resolved status
What Happens When No One Is Available
If no team member accepts within the configured Max Wait Time:
- The session status changes to Expired
- The user receives a message that no agent is available
- The conversation returns to the AI agent automatically
Set the Max Wait Time based on your team’s availability. If you have limited staff, a shorter time (5–10 minutes) is better than leaving users waiting.
Notifications
In-App Notifications
When a user requests a human agent, all team members in your organization receive an in-app notification via the notification bell in the admin panel header.
Email Reminders
If a handoff session remains queued for 3 minutes without being accepted, an email reminder is sent to all team members in your organization. This ensures someone is notified even if they’re not currently in the admin panel.
Supported Channels
Human Handoff works with all connected channels:
| Channel | Delivery Method |
|---|---|
| Telegram | Messages sent via bot |
| Discord | Messages sent to channel |
| Slack | Messages sent to channel |
| Messages sent via API | |
| Meta (Facebook Messenger) | Messages sent via page |
| Google Chat | Messages sent to space |
| Website Widget | Messages appear in chat widget |
On the Website Widget, messages are delivered via real-time streaming. On all other channels, messages are pushed directly through the channel’s API.
FAQ
Which plans include Human Handoff?
Human Handoff is available on all plans, including Trial. Enable it per agent in the Configuration tab.
Can multiple team members handle handoffs?
Yes. Any team member in your organization can accept queued sessions. The “Agents online” counter shows how many team members currently have the Inbox page open.
What if I close my browser during an active chat?
The session remains Active. When you return to the Inbox page, you can continue the conversation where you left off.
Can the user tell they’re talking to a human?
The user receives the configured accept message when you join. Beyond that, the experience depends on how you write the handoff messages and your conversation style.
Does the AI see the human agent’s messages?
Human agent messages are stored in the conversation history. When the AI resumes after resolution, it has context from the handoff exchange.
Can I review past handoff sessions?
Yes. Use the status filter on the Inbox page to view Resolved or Expired sessions. Click any session to review the full conversation.
What triggers the AI to hand off?
The AI agent decides to escalate when a user explicitly asks to speak with a human (e.g., “Can I talk to a real person?”). The AI uses a classification check to verify the user genuinely wants a human before creating the handoff.