> ## Documentation Index
> Fetch the complete documentation index at: https://docs.haloagents.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Who Answers Conversations

> Choose whether the AI, your team, or the AI with your team as backup replies in the chat widget, for everyone or for specific customers.

## The three modes

Every agent answers chat conversations in one of three ways:

| Mode | What the visitor gets |
| - | - |
| **AI first** | The AI answers first and hands off to your team when it can't help or the visitor asks for a person. This is the default. |
| **AI only** | The AI answers everything. The conversation is never handed off to your team. |
| **Team only** | No AI. Every conversation goes straight to your team's inbox, and the visitor is told a person will reply. |

Set it at **AI Agents > \[Your Agent] > Settings > Who answers conversations**.

Pick one mode as the default for everyone. If some customers should be handled differently, add an exception for them. Exceptions use the same three modes.

> [!NOTE]
>
> This setting covers the chat widget. AI replies to email are switched on or off per mailbox, under **Channels > Email**.

## Exceptions

An exception is a condition plus a mode: "when a customer matches this, handle them with that."

1. Click **Add exception** and give it a name your team will recognise. It appears in the notification for conversations the exception sends to your team.
2. Under **When a customer matches**, add one or more conditions. You can use contact and company fields, Stripe data, custom fields and [saved segments](https://docs.haloagents.ai/inbox/segment-conditions.md).
3. Under **Handle with**, pick the mode for those customers.

How exceptions are applied:

* They are checked top to bottom, and the first match wins. Use the arrows to reorder them.
* Customers who match no exception get the default.
* Exceptions need to know who the visitor is. Visitors who aren't identified always get the default.
* An exception with no conditions never applies to anyone. The editor warns you when one is empty.

### Common setups

| You want | Default | Exception |
| - | - | - |
| The AI for everyone, with your team as backup | AI first | None |
| VIPs skip the AI | AI first | *Plan is Enterprise*: Team only |
| Human support only on your Pro plan | AI only | *Plan is Pro*: AI first |
| Your team answers everyone, except free users | Team only | *Plan is Free*: AI only |
| No AI at all | Team only | None |

## Settings for each mode

**AI first** has no settings of its own. When the AI hands off, and who gets the ticket, is configured once for the agent under **Actions > Human handoff**. See [Escalation](https://docs.haloagents.ai/agents/escalation.md).

**AI only** has two optional settings:

* **Hand off anyway for these topics**: words or phrases, such as `billing` or `cancel my account`. A conversation that mentions one can still reach your team. Leave it empty and the AI never hands off.
* **Extra instructions for the AI**: added to the AI's instructions for these conversations.

**Team only** has two settings:

* **Send to**: leave conversations unassigned, or send them to a teammate or an inbox. Your [inbox routing rules](https://docs.haloagents.ai/settings/routing.md) still run on these conversations and can move them.
* **First reply**: the message the visitor sees as soon as they write in. Leave it blank to use the standard message.

With a Team only default the widget also shows your team's [office hours](https://docs.haloagents.ai/inbox/office-hours.md) status in its header.

## What visitors see

The mode changes more than who types the reply:

| | AI first | AI only | Team only |
| - | - | - | - |
| **Chat** | The AI answers | The AI answers | Your team answers; the visitor gets the first reply at once |
| **Talk to a human button** | Shown, if you added one | Hidden | Not needed |
| **Voice mode** | Available | Available; the voice does not offer a person | Not available |

* **Talk to a human.** A visitor handled as AI only is not shown the **Talk to a human** post-response buttons, since a handoff would be refused. If you listed handoff topics, the buttons come back once the conversation mentions one. Hiding them needs widget version 0.10.19 or later; earlier versions keep the button and tell the visitor that handoff isn't available.
* **Voice.** Voice mode is the AI talking, so a visitor your team answers cannot start a voice call and is asked to send a message instead. When every conversation goes to your team (Team only with no exception that gives anyone the AI), the Voice tab is not shown at all.

## Changing it without the dashboard

* **Setup assistant.** Ask it in plain words, for example "send our Enterprise customers straight to the team" or "turn the AI off in the chat". It tells you what will change for visitors before it switches an agent to Team only.
* **MCP.** A connected client such as Claude or Cursor can read the setting with `agent_list` and change it with `agent_set_who_answers`. See [Scopes and permissions](https://docs.haloagents.ai/mcp/scopes-and-permissions.md).
  * `agent_list` needs the `agents:read` scope, and the person who granted the token must be allowed to view agents.
  * `agent_set_who_answers` needs the `agents:write` scope, which also covers reading, and the person who granted the token must be allowed to view and edit agents.

## Good to know

* Changes reach live chats within about a minute. There is nothing to republish.
* The widget preview in the agent editor always answers with the AI, whatever mode is selected, so you can keep testing the agent. Only live visitors are routed.
* If your workspace runs out of Agent credits, or its subscription is paused, the widget behaves as Team only until that is fixed, so visitors can still reach you.
* If automatic handoff is switched off under **Actions > Human handoff**, AI first only hands off when a visitor clicks a **Talk to a human** button. The setting shows a warning when that is the case.

## Where to go next

> [card] [Escalation](https://docs.haloagents.ai/agents/escalation.md)
>
> Tune when the AI hands off and who on your team picks up the ticket.

> [card] [Segment conditions](https://docs.haloagents.ai/inbox/segment-conditions.md)
>
> Use a saved segment as the condition for an exception.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.