Live Chat
Hands the conversation to a person on your team through the Inbox, and tells the customer what happens if nobody is free.
The Live Chat node hands a conversation from your bot to a person on your team. It picks an available agent from the group you choose, assigns the conversation to them in the Inbox, and sends the customer your transfer message. From then on, the customer's messages go to the agent instead of the bot. If nobody can take the chat, the customer gets your fallback message instead.
When to use it
- The customer asks for a person, for example from a
TalkToAgentIntent. - The bot can't resolve the request, such as after an AI answer the customer rejects, or on the failure path of a Form.
- The matter is sensitive enough that a person should handle it.
- To keep the conversation with the bot, answer with a Reply or AI node instead.


Before you start
Agents and agent groups are kept in two organization-wide system data stores, shared by every chatbot project. If they don't exist yet, the Agent Setup tab offers Create HITL Agent Groups System Data Store and Create HITL Human Agents System Data Store. You can then add groups and agents from the panel, or manage them from the Inbox; see Assignments and routing.
The bot reads the data stores you pick by their id, so it always reads the store you chose. A node that hasn't picked any, such as one the AI builder added, uses the two system data stores.
Settings
Agent Setup
Prop
Type
When a group is selected, Group Information shows its total and available agents, and Available Agents lists the agents in it.
Messages
Prop
Type
A Message Preview shows the transfer message and agent note as they will appear.
Fallback
Prop
Type
When the wait is too long decides what happens if a chat is still waiting after the max wait. It's checked about once a minute.
Prop
Type
Translations tab: translate the customer messages into each language the project serves. See Translating your messages.
A node made before built-in translations may show an Other languages table on the Fallback tab instead. It keeps working. Select Move to Translations to bring it into the Translations tab, where its variables are checked and it follows the conversation's language like every other message.
How an agent is chosen
- The node looks up agents in the selected group whose status is online, available or active and who have fewer active chats than their Max Concurrent Chats (3 if not set). Agents who already declined this conversation are left out.
- The Assignment Strategy picks one:
- Round Robin takes turns through the available agents, per Live Chat node.
- Availability Based picks the agent with the fewest active chats.
- The chat is assigned to that agent in the Inbox and the customer gets the Transfer Message.
If no agent is available, the chat waits in the queue (Waiting in the Inbox) and the customer gets the Fallback Message. If they write again while waiting, they get the Wait Reminder at most every 5 minutes.
Waiting chats are handed out when an agent frees up (by resolving, declining or handing a chat back to the bot) and when an agent sets themselves Available. The highest Priority level goes first, then the chat that has waited longest, and the agent is picked with the node's own Assignment Strategy.
After the max wait
| Action | What happens |
|---|---|
| Keep waiting | Nothing: the chat waits until an agent takes it. |
| Send a message and return to the bot | The customer gets the message, the chat leaves the queue, and the bot answers their next message. |
| Return to the bot | As above. A message is sent only if you wrote one. |
| Ask them to leave a message | The customer is asked to leave a message, and an Inbox case, Message left in a chat, opens for an agent to follow up. |
| Ask for a callback number | The customer is asked for the best number and time to call them, and an Inbox case, Callback requested in a chat, opens for an agent to call them back. |
With the last two, the chat stays in the queue, so it still goes to the next free agent, and the bot stays quiet while the customer writes. After 30 minutes without a message, the bot answers again. The case is linked to the conversation; see Cases.
Business hours
If the project has business hours set in project settings with Tell people when nobody is available turned on, a handoff outside those hours sends the closed message (What to say outside these hours) instead of the fallback message, and marks the conversation with {{state.outsideBusinessHours}} and {{state.nextAgentAvailability}}. The conversation is still queued. See Business hours.
Outputs
The node has no output handle: the conversation stays with the agent. When an agent is assigned, it writes:
| Variable | Value |
|---|---|
state.assignedAgentId | The assigned agent's id |
state.assignedAgentName | The assigned agent's name |
state.transferNote | The rendered Agent Note |
Example
A support bot hands billing questions to the billing team.
- A
TalkToAgentIntent connects to a Live Chat node. - Select Agent Group is Billing, Assignment Strategy is Availability Based.
- Transfer Message: "Connecting you to
{{agent.name}}from our billing team." - Agent Note: "Customer asked about invoice
{{state.invoiceNumber}}." - Fallback Message: "Everyone on the billing team is busy. You're in the queue and we'll reply here as soon as someone is free."
Tips and limits
- Returning to the bot. If a conversation assigned to an agent has no activity for 30 minutes, the customer's next message goes to the bot again. Agents can also hand a chat back from the Inbox.
- Can't feed an Intent. An Intent node can't be connected from a Live Chat node.
- Required fields. The node shows a warning until Select Agent Group (and Custom Agent Group, if chosen) and Transfer Message are set.
- Republish after changing these settings. A published bot uses the settings it was published with.
- Skill Based. A node saved with the retired Skill Based strategy assigns the first available agent. Choose Round Robin or Availability Based.
- Connection errors. If assignment fails unexpectedly, the customer gets "Sorry, we encountered an issue trying to connect you. Please try again later."
- Chatbot projects only. Live Chat isn't in the USSD, IVR or automation palettes. For voice, use Queue or Transfer.