---
title: "Handing the chat to a live operator"
description: "Connect to operator node: subject, success and failure branches, when to move the dialog into Operator Panel."
---

# Handing the chat to a live operator

The **Connect to operator** node (`action_operator_panel__connect_to_operator_with_msg`) creates an **Operator Panel** chat and connects the client to an operator (subject, queue, capacity rules). It is the standard way to **give the conversation to a human** from the scenario.

---

## Branches after the action runs

The action returns **one event** — each has its **own output** on the canvas:

| Event | What it means for you |
|-------|------------------------|
| **success** | Chat created; connection OK |
| **banned** | User is banned |
| **limit** | No operators available |
| **error** | Chat creation failed or runtime error |

Wire each branch to follow-up nodes — e.g. after **limit**, send a «try again later» message.

**Note:** **add_button** / **add_return_button** in the form refer to **operator-chat UI**, not these four **canvas events**. Details: [Connect to operator parameters](/en/scenariobuilder/reference/operator-panel-connect-parameters.md).

**Resetting variables nearby:** constants (**Set** / **Clear constant** nodes) that later steps depend on **after** this node (counters, iterators, flags) should be set **after** the connect-to-operator node, not before it — otherwise the changes may not persist for the following nodes. See [Storing values for later steps](/en/scenariobuilder/explanation/set-node.md).

---

## What happens to the scenario after the handoff

**Treat this node as the exit point from the scenario for that chat.** As soon as the chat moves into the operator panel, the scenario stops advancing the client any further — deliberately, so the bot does not talk over a live operator.

The practical consequence: **anything you place on the canvas «some time after» this node never runs.** The most common mistake is a waiting timer with an auto-close branch:

> ❌ Connect to operator node → «30 minutes of silence» interval node → close chat
>
> This looks workable in the editor and saves without errors, but the close branch **never fires** — and you get no warning at all.

What to do instead:

| What you need | Where to configure it |
|---|---|
| Close an inactive chat after N minutes | [Operator panel timers](/en/settings/how-to/configure-timers.md) — the «Dialog timeout in minutes» field |
| Remove the AI assistant from the chat | Takeover button in Fast Line Pro monitoring — see [Operator and Fast Line in one chat](/en/fastlinepro/explanation/operator-and-fastline-in-one-chat.md) |
| Return the chat to the scenario | Not supported: once handed to an operator, the chat stays in the operator panel until it is closed |

If your scenario already has a timeout branch after the connect-to-operator node, remove it: it does not work and only adds load to the system.

---

## When it fits

- The bot menu has an option like «Talk to an operator».
- You need a ticket/chat with a **subject** and **tags**.
- You want to pass **context** to the operator via the «text to operator» field.

---

## Setup in a few steps

1. Add **Connect to operator** from the template list.
2. Set **subject** (subject_alias) — it must exist in the project.
3. Optionally enable **auto-connect**, tags, text to operator.
4. On the canvas, wire **success**, **banned**, **limit**, **error**.
5. Configure **aliases** for chat close / return if needed — see the reference.

Full fields: [Connect to operator parameters](/en/scenariobuilder/reference/operator-panel-connect-parameters.md).

---

## See also

- [Parameter reference](/en/scenariobuilder/reference/operator-panel-connect-parameters.md)
- [Connect chat to operator](/en/operatorline/explanation/connect-chat-to-operator.md)
- [Auto-connect free operator](/en/operatorline/explanation/auto-connect-free-operator.md)
- [Use action in scenario](/en/scenariobuilder/how-to/use-action-in-scenario.md)
