---
title: "Human takeover - Chat Thing Documentation"
canonical_url: "https://chatthing.ai/docs/human-takeover"
last_updated: "2026-07-20T15:03:00.585Z"
meta:
  description: "Let your team step in and take over conversations from your bot in real-time when customers need a human touch."
  "og:description": "Let your team step in and take over conversations from your bot in real-time when customers need a human touch."
  "og:title": "Human takeover"
  "twitter:description": "Let your team step in and take over conversations from your bot in real-time when customers need a human touch."
  "twitter:title": "Human takeover"
---

**Bots**

# Human takeover

Human takeover allows your team members to step into a live conversation, take control from the bot, chat directly with the customer, and then hand the conversation back when they're done.

This feature works exclusively with the **web channel** (including embedded widgets and iframes).

## How it works

Human takeover follows a simple lifecycle:

1. **Escalation** - A customer triggers the [Talk to a Human](https://chatthing.ai/docs/talk-to-a-human) power-up during a conversation. The bot collects the customer's email address and sends a notification to your team. The conversation state changes to **Escalated**.
2. **Claiming** - A team member sees the escalated conversation in the **Conversations** dashboard and clicks **Claim**. The conversation state changes to **Active** and the customer sees a message that an agent has joined.
3. **Live chat** - The team member chats directly with the customer in real-time. Bot responses are paused while the conversation is claimed.
4. **Hand back** - When done, the team member clicks **Hand back to bot** to hand the conversation back to the bot. The conversation state changes to **Resolved** and the customer sees a message that the agent has left.

## Setting up human takeover

### 1. Enable human takeover on your bot

Navigate to your bot's settings page and enable the **Human takeover** toggle. This activates the feature for the bot's web channel.

If you haven't yet added the Talk to a Human power-up, a blue callout will appear below the toggle offering to add it for you - click **Add power-up** to add it without leaving settings.

![Human takeover toggle enabled with Add the Talk to a Human power-up callout](https://res.cloudinary.com/djyjvrw5u/image/upload/v1773411933/docs/human-takeover-toggle-callout.png)

### 2. Add the Talk to a Human power-up

Human takeover requires the **Talk to a Human** power-up to be configured on your bot. This power-up gives the bot the ability to escalate conversations when a customer requests human assistance.

1. Go to your bot's **Power-ups** tab.
2. Add the **Talk to a Human** power-up.
3. Configure the notification email address (defaults to the team owner's email).

For detailed setup instructions, see [Talk to a Human Power-up](https://chatthing.ai/docs/talk-to-a-human).

If human takeover is not yet enabled, the Talk to a Human power-up settings page will show a callout prompting you to enable it - click **Enable now** to activate it without leaving the power-up, or **Go to settings** to navigate to bot settings.

![Talk to a Human power-up settings showing the Enable Human takeover callout](https://res.cloudinary.com/djyjvrw5u/image/upload/v1773412201/docs/talk-to-human-enable-takeover-callout.png)

## Managing conversations

### The Conversations dashboard

All escalated and active conversations appear in the **Conversations** page, accessible from the left sidebar. You can filter conversations by their state:

- **Escalated** - Waiting for a team member to claim
- **Active** - Currently being handled by a team member
- **Resolved** - Handed back to the bot

![Conversations page with state filter dropdown open showing Escalated, Active, and Resolved options](https://res.cloudinary.com/djyjvrw5u/image/upload/v1773415107/docs/conversations-state-filter.png)

### Claiming a conversation

When a conversation is escalated, any team member with the appropriate role (owner, admin, or responder) can claim it:

1. Navigate to **Conversations** and filter by **Escalated** state.
2. Select the conversation you want to handle.
3. Click the **Claim** button.

The customer will see a system message that an agent has joined the conversation. If another team member has already claimed it, you'll see a notification telling you who claimed it.

![Escalated conversation selected with Claim button visible](https://res.cloudinary.com/djyjvrw5u/image/upload/v1773415152/docs/conversations-escalated-claim.png)

### Chatting with the customer

Once you've claimed a conversation, you can type messages directly to the customer using the message input at the bottom of the conversation view. Messages are delivered instantly.

While the conversation is claimed, the bot will not respond to the customer - all responses come from you.

![Active claimed conversation with agent message input at the bottom](https://res.cloudinary.com/djyjvrw5u/image/upload/v1773416024/docs/conversations-active-agent-input.png)

### Releasing a conversation

When you're done helping the customer, click the **Hand back to bot** button to hand the conversation back to the bot. The customer will see a system message that the agent has left, and the bot will resume responding.

![Active conversation with the hand back to bot button visible at the top](https://res.cloudinary.com/djyjvrw5u/image/upload/v1773416095/docs/conversations-active-release.png)

## Real-time updates

The Conversations dashboard updates automatically - no need to refresh. You'll see:

- New escalated conversations appear automatically
- State changes (escalated → active → resolved) update in real-time
- New messages from customers appear instantly when viewing a claimed conversation

On the customer's side, the chat widget also updates in real-time:

- A visual indicator shows when a human agent has joined
- The agent's name is displayed during the takeover
- Messages from the agent appear instantly

![Customer chat widget showing a human agent has joined the conversation](https://res.cloudinary.com/djyjvrw5u/image/upload/v1773416358/docs/conversations-widget-agent-joined.png)

## Webhooks

You can set up webhooks to be notified of conversation lifecycle events. This is useful for integrating with CRMs, ticketing systems, or monitoring tools.

The following conversation webhooks are available:

| Webhook | Fires when |
| --- | --- |
| **Conversation started** | A new conversation is created |
| **Conversation escalated** | A customer requests a human agent |
| **Conversation claimed** | A team member claims a conversation |
| **Conversation released** | A team member hands back a conversation |

For full payload details and setup instructions, see [Webhooks - Conversation webhooks](https://chatthing.ai/docs/webhooks#conversation-webhooks).

![Webhooks tab showing conversation lifecycle webhook cards](https://res.cloudinary.com/djyjvrw5u/image/upload/v1773416607/docs/webhooks-conversation-lifecycle.png)

## Requirements and limitations

- **Web channel only** - Human takeover is currently available for the web channel (direct bot URL, embedded widget, and iframe). Other channels (Slack, Discord, Telegram, etc.) are not supported.
- **Talk to a Human power-up required** - The escalation flow is triggered by the Talk to a Human power-up. Without it, there is no way for a customer to request a human agent.
- **One agent per conversation** - Only one team member can claim a conversation at a time. If another agent tries to claim an already-claimed conversation, they'll be notified.
- **Team roles** - Only team members with the owner, admin, or responder role can claim and respond to conversations.