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

# How chats get assigned to agents

> Who receives a new conversation, why a customer keeps the same agent, the per-agent customer limit, and the seven settings that change it.

Two rules run in order, and seven settings under **Settings → Inbox** adjust them.

<Steps>
  <Step title="Does this person already have an agent?">
    If the customer has an owner, the chat goes to that owner — even if it arrives on a
    different channel from last time. This is called **sticky assignment**.
  </Step>

  <Step title="If not, whose turn is it?">
    The chat goes to the next eligible agent in the **distribution order** you chose:
    strict round-robin (the default) or whoever received the fewest chats in the last
    24 hours.
  </Step>
</Steps>

## Who is eligible in the first place

Before either rule runs, the pool is narrowed. An agent can only receive a chat if
**all** of these are true:

| Requirement                           | Where it comes from                                                                                                                                                                              |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Their role receives auto-distribution | **Roles → the role → Auto-distribution** is set to *Gets new chats*. Only roles with "own records" visibility can turn this on. Managers and admins oversee chats; they are not in the rotation. |
| Their role covers this channel        | **Roles → the role → Channels**. A chat on Channel A is only ever offered to roles granted Channel A.                                                                                            |
| Their role covers this *kind* of chat | A channel grant can cover only 1:1 chats, only group rooms, or both.                                                                                                                             |
| They are not marked Busy              | Always — see [Ready, Busy and Off](/help/routing/presence-ready-busy-off).                                                                                                                       |
| They are Ready                        | Only if **Only distribute to Ready agents** is on.                                                                                                                                               |
| They are under the customer limit     | Only if **Limit customers per agent** is set — see [below](#limit-customers-per-agent).                                                                                                          |

<Note>
  This is how you build teams without a "teams" feature. Duplicate a role into "Sales Team
  A" and "Sales Team B", grant each a different channel, and you have two independent
  rotations. Distribution never needs to know teams exist.
</Note>

<Note>
  **Idle is not Busy.** An agent who has gone quiet long enough to be marked idle is still in
  the rotation — idle exists for the Ready-time report, not to withdraw someone from work.
  The only way an agent steps out of the rotation by hand is **Busy**.
</Note>

If nobody qualifies, the chat is **not** dropped — it waits unassigned and is handed out
the moment someone becomes available. Each channel's queue is served on its own: a pile of
unassignable chats on an abandoned page no longer holds up a live number's chats behind it.

## Distribution order

**Settings → Inbox → Distribution order** decides who is next among everyone eligible.

| Order                           | How it picks                                                                                                                          |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Round-robin** (default)       | Strict turns — Ali, then Sara, then Omar, then back to Ali. Whether anyone has resolved their old chats has no effect on who is next. |
| **Fewest received in 24 hours** | The next chat goes to whoever was *handed* the fewest chats in the last 24 hours. Ties fall back to round-robin.                      |

Neither order looks at how many chats an agent currently has open. Earlier versions did,
and it backfired: the agent who tidied their inbox kept being "least loaded" and received
the whole stream, while anyone who never closed anything was shielded from new work. Open
counts measure resolve-button discipline, not workload.

If an agent is overwhelmed right now, **Busy** is the pressure valve — one click takes them
out of the rotation without touching anyone else's settings. If you want a hard stop
instead, use the customer limit.

## Limit customers per agent

**Settings → Inbox → Limit customers per agent** stops the rotation from handing an agent
new chats once they are already handling that many customers. `0` (the default) means no
limit.

<Steps>
  <Step title="What is counted">
    Each agent's **leads that are not Won, Lost, Follow-up or Spam**. It is a count of
    customers they are actively working, which is why it is usually smaller than the
    "open deals" number on the dashboard — and why leads that never came from a chat
    (a phone enquiry, a walk-in, a CSV import) still use up a slot.
  </Step>

  <Step title="What happens at the limit">
    The agent simply stops being offered new chats. Nothing they hold is taken away, and
    nothing about how they work changes. Closing a deal — Won, Lost, Follow-up or Spam —
    frees the slot within about 20 seconds.
  </Step>

  <Step title="What happens when everyone is at the limit">
    New chats wait in the queue, exactly as when nobody is Ready. They are handed out the
    moment any eligible agent drops below their limit.
  </Step>
</Steps>

The limit is a **filter, not a ranking**: everyone under it is treated identically and the
distribution order decides between them. It only removes people who are full.

### What the limit does *not* stop

* **Their own customers.** Sticky assignment ignores the limit. A customer who already
  belongs to an agent still reaches them on any channel, even when that agent is full —
  a second channel from the same person adds a thread, not a customer. Bouncing a known
  customer to a stranger is exactly what stickiness exists to prevent.
* **Manual assignment.** A manager can always hand a chat to anyone whose role grants
  inbox access and covers the channel, limit or not.
* **A customer asking for a human.** When the AI agent hands over, or an automation's
  *Assign to human* step runs, agents under the limit are preferred — but if every agent
  is full, the chat still goes to a human rather than leaving the customer with the bot.

<Warning>
  **Redistribute chats when the agent is offline** respects the limit. When every other
  agent is full, a chat stays with its offline owner rather than moving. That is the intended
  reading of "queue rather than overload", but it is a visible change for a workspace
  running near capacity.
</Warning>

<Note>
  Two things never consume a slot, by design: group rooms and unidentified website-chat
  visitors, because neither becomes a lead. And because a chat is assigned a moment before
  its lead is created, a sudden burst of brand-new enquiries can briefly push an agent one or
  two past the number. Both are accepted trade-offs — the limit is a ceiling, not a
  guarantee.
</Note>

## Why a customer keeps the same agent

Once someone owns a customer, that customer's conversations keep coming back to them —
including on a different channel. Somebody who spoke to Ali on WhatsApp and later writes
on Instagram reaches Ali, not the rotation.

Two settings can override that:

* **Redistribute returning won/lost customers** — when their last deal was marked Won or
  Lost, the relationship is finished, so their next conversation goes back to the team.
* **Redistribute chats when the agent is offline** — if the owner is not Ready, nobody is
  there to answer, so the chat is handed to someone who is.

With both off (the default) the owner keeps their customer even while offline. That is
what "their customer" means, and it stops people bouncing between agents.

<Warning>
  A **Busy** owner still counts as present. Their own customers still reach them — Busy only
  takes them out of the rotation for *new* people. Only Off counts as offline here.
</Warning>

There is one more override you cannot switch off: if the owner has since lost the role
that grants inbox access, or their role does not cover the channel this message arrived
on, the chat goes back to the queue. Assigning it to somebody who cannot open it would be
worse.

### A settled customer writes back

When a customer whose deal is already **Won or Lost** sends a new message, the finished
deal is frozen as history and a **new deal opens for them automatically**, starting at the
first stage of the pipeline. Who owns the new deal follows the routing decision above:

* **Same agent** (default) — the new deal opens for the agent who closed the last one.
* **Redistribute** — the new deal opens for whoever the rotation picked.

If the customer is talking on two channels, both conversations move onto the new deal
together. The new deal fires the usual *lead stage changed* event, so a welcome automation
greets a returning customer and a CSAT flow can run again when this deal closes.

## The seven settings

All under **Settings → Inbox**.

| Setting                                          | Default     | What changes                                                                                          |
| ------------------------------------------------ | ----------- | ----------------------------------------------------------------------------------------------------- |
| **Auto-assign new chats to sales**               | On          | Off means nothing is assigned automatically — every chat waits for someone to pick it up.             |
| **Limit customers per agent**                    | 0 (off)     | Agents handling this many customers stop receiving new chats. Up to 1000.                             |
| **Distribution order**                           | Round-robin | Round-robin takes strict turns; *Fewest received in 24 hours* balances by recent workload.            |
| **Pause AI when a chat is assigned**             | On          | Your AI agent stops replying once a human owns the conversation.                                      |
| **Only distribute to Ready agents**              | Off         | On: chats queue until someone is Ready. Off: they are handed out to any eligible agent, Ready or not. |
| **Redistribute returning won/lost customers**    | Same agent  | Redistribute: a customer whose last deal closed goes back to the team.                                |
| **Redistribute chats when the agent is offline** | Off         | On: an owner who is not Ready loses the chat to whoever is available and under the limit.             |

## Why didn't I get this chat?

<Note>
  **Fastest route: ask the help assistant.** "Why isn't Ahmed getting any chats?" — it reads
  the actual roles, channel grants and workspace settings and tells you which of them is the
  cause, instead of leaving you to work through the list below. See
  [Diagnosing a problem](/help/ai/assistant-actions#diagnosing-a-problem).
</Note>

Or work down the list — these are the causes in the order they usually turn out to be true.

<AccordionGroup>
  <Accordion title="Your role does not cover that channel">
    The most common cause by far. **Roles → your role → Channels**. If the channel is not
    granted, you will never be offered its chats. Check the chat vs group scope too — a
    role granted only 1:1 chats never receives group rooms.
  </Accordion>

  <Accordion title="Someone else already owns that customer">
    Sticky assignment sent it to them. Look at the customer record: if it has an owner,
    that is where their conversations go.
  </Accordion>

  <Accordion title="You are marked Busy">
    Busy removes you from the rotation in every workspace, regardless of other settings.
  </Accordion>

  <Accordion title="You are at the customer limit">
    If the workspace limits customers per agent, you stop receiving new chats once your
    leads that are not Won, Lost, Follow-up or Spam reach that number. Move a finished deal
    to one of those stages and you re-enter the rotation within seconds. Your own
    customers still reach you in the meantime.
  </Accordion>

  <Accordion title="You are not Ready and the workspace distributes to Ready agents only">
    Set yourself Ready and any queued chats you are eligible for will be handed out.
  </Accordion>

  <Accordion title="It was simply someone else's turn">
    Under round-robin every eligible agent gets the next chat in turn, and under *Fewest
    received in 24 hours* it goes to whoever has been handed the least recently. Neither
    looks at how many chats you have open, so having a tidy inbox does not put you first.
  </Accordion>

  <Accordion title="Your role does not receive auto-distribution">
    Oversight roles, and any role with **Auto-distribution** set to *No auto-assign* (like
    Account Manager), are deliberately excluded. You can still assign yourself a chat
    manually from the conversation header.
  </Accordion>
</AccordionGroup>

## Assigning by hand

Auto-assignment never blocks manual assignment. Open a conversation and use the assign
control in the header to move it to anyone whose role grants inbox access *and* covers
that channel. The customer limit does not apply to manual assignment.

If the assignment is rejected, the message tells you which of the two gates closed — "no
role granting inbox access" is a roles problem, "no access to this conversation channel"
is a channel-grants problem. They are fixed in different places.

## Related

<CardGroup cols={2}>
  <Card title="Ready, Busy and Off" icon="circle-dot" href="/help/routing/presence-ready-busy-off">
    What each presence state does to distribution.
  </Card>

  <Card title="Roles and permissions" icon="user-shield" href="/help/team/roles-and-permissions">
    Auto-distribution, data scope and channel grants per role.
  </Card>

  <Card title="Leads pipeline" icon="filter" href="/help/crm/leads-pipeline">
    The stages that count toward the customer limit.
  </Card>

  <Card title="Shifts and rotas" icon="calendar" href="/help/routing/shifts-and-rotas">
    Working hours, and how they are reported against.
  </Card>
</CardGroup>
