> For the complete documentation index, see [llms.txt](https://docs.klink.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.klink.cloud/advanced-setup/queues.md).

# Queues

A queue is a team in klink.cloud: managers and agents who handle a set of conversations, with optional auto-assign to balance load.

{% hint style="info" %}
Mental model: A queue defines who handles the work and how load is balanced. A workflow decides which chats enter that queue. You need both for automatic routing and assignment. Creating a queue alone does not put new chats into that team.
{% endhint %}

## Create a queue

1. Go to Settings, then Queues.
2. Click New queue (or Create Queue).
3. Pick an emoji, enter a name, and optionally a short description.
4. Add Queue managers (oversee the queue, assign and reassign).
5. Add Assigned agents (handle conversations in this queue).
6. Optionally turn on Auto-assign and choose a strategy (see below).
7. Set Max cases per agent, or rely on each member's Global agent capacity.
8. Click Create queue.

{% hint style="success" %}
You can create several queues (for example Support, Sales, Thai). Each is its own team with its own members and auto-assign settings.
{% endhint %}

## Turn on Auto-assign

Inside the queue, enable Auto-assign so chats that land in the queue are distributed to agents automatically.

| Strategy           | What it does                                     |
| ------------------ | ------------------------------------------------ |
| Round robin        | Hands out cases evenly, one agent after another. |
| Fewest assignments | Prefers the agent with the fewest active cases.  |
| Random             | Picks an available agent at random.              |

Use Max cases per agent (or member Global agent capacity) so agents are not overloaded.

{% hint style="warning" %}
Auto-assign only distributes chats already in the queue. It does not decide which new chats join the queue. That is the workflow's job.
{% endhint %}

## Required next step: route new chats with a workflow

To put new chats into a queue automatically:

1. Create a workflow under Workflow (page title Workflow Automation).
2. Use trigger **When new chat room is open**.
3. Add conditions if you need them (channel, language, keywords, AI Condition, and so on).
4. Action: **Assign Human Agent**, then **Queues**, then pick this queue.
5. Save and enable the workflow.

{% hint style="danger" %}
Queue assignment (**Assign Human Agent**, then **Queues**) only works with the **When new chat room is open** trigger.
{% endhint %}

Create one workflow per queue, with conditions that match that team's chats. Put the most specific rules highest in the list (drag or use Hierarchy).

Full step-by-step: [Recipe: Route new chats to a queue](/advanced-setup/workflow-automation/recipe-route-new-chats-to-a-queue.md). Overview: [Workflow Automation](/advanced-setup/workflow-automation.md).

## Short example

| Queue   | Who is on it                    | Workflow idea                                |
| ------- | ------------------------------- | -------------------------------------------- |
| Support | Support managers + agents       | Channel is Messenger, or keywords about help |
| Sales   | Sales managers + agents         | Pricing, demo, or Sales channel              |
| Thai    | Thai-speaking managers + agents | Language is Thai, or Thai channel            |

Each queue has its own auto-assign settings. Each has its own workflow that assigns new chat rooms to that queue.

## Related

* [Visibility](/advanced-setup/queues/visibility.md)
* [End-to-end setup](/advanced-setup/queues/end-to-end-setup.md)
* [Recipe: Route new chats to a queue](/advanced-setup/workflow-automation/recipe-route-new-chats-to-a-queue.md)
* [SLA Targets](/advanced-setup/sla-targets.md)
* [Members, roles, and permissions](/settings/members-roles-and-permissions.md)
