Skip to content

Conversation Assignment

Getting conversations to the right agent, fairly and without bottlenecks, is one of the most important parts of running a support team. ChannelX handles this with auto-assignment: when an inbox has available agents, incoming conversations are shared out among them automatically. This page covers the basic round-robin behaviour, the more advanced policy-based system, and how agent capacity keeps any single person from being overloaded.

Round-robin

By default, ChannelX assigns conversations in a round-robin fashion. If an inbox has agents available, the system divides incoming conversations evenly among them. If no agent is available, a conversation stays Unassigned until someone can take it. This behaviour is on by default.

Enabling or disabling auto-assignment on an inbox

  1. Go to Settings → Inboxes and open the settings for the inbox you want to change.
  2. Open the Collaborators tab and find the Conversation Assignment setting.
  3. Tick Enable auto assignment and click Update.

Untick the box to turn auto-assignment off for that inbox, in which case conversations arrive unassigned and are picked up manually.

Advanced assignment policies

For more control, ChannelX offers a policy-based assignment system. Instead of a single on/off switch per inbox, you define centralised assignment policies that govern how conversations are distributed, and link them to the inboxes they should manage.

Each assignment policy controls:

  • Assignment order — how agents are selected.
  • Conversation priority — which conversations are assigned first.
  • Fair distribution — rate limiting that prevents any agent being flooded.

Creating an assignment policy

  1. Go to Settings → Agent Assignment → Assignment policy.
  2. Click Create Assignment Policy.
  3. Configure the basics, a unique name, an optional description, and an enabled toggle.
  4. Set the assignment behaviour:

Assignment order

  • Round Robin — cycles through available agents in sequence.
  • Balanced — distributes based on each agent's current workload, aiming for equal load.

Conversation priority

  • Earliest Created — assigns the oldest conversations first.
  • Longest Waiting — prioritises conversations that have waited longest.

Fair distribution

  • Limit — the maximum conversations one agent can receive within the time window (default 100).
  • Window — the length of that window, in seconds (default 3600).

Linking a policy to an inbox

  1. Go to Settings → Agent Assignment.
  2. Edit the policy.
  3. Add the inbox you want it to govern.

A policy only takes effect on the inboxes you link it to, so you can run different distribution strategies on different inboxes.

Assignment algorithms at a glance

Algorithm How it works
Round Robin Cycles through available agents in order, evening out over time.
Balanced Looks at each agent's current open workload and steers new conversations toward whoever has the lightest load.

Agent capacity

An agent capacity policy caps how many open conversations a single agent can hold at once. It is how you stop one agent drowning while another sits idle, and how you keep distribution fair when volume spikes.

When auto-assignment looks for an eligible agent, it checks each candidate's capacity policy first. Agents at or over their cap are skipped, and the next eligible agent under cap gets the conversation.

A capacity policy contains:

  • A name (required) and an optional description.
  • Per-inbox capacity limits — a different cap per inbox if you want.
  • Optional exclusion rules — labels and conversation age that shouldn't count toward the cap.

Info

Only administrators can create, edit, or delete capacity policies, or attach them to agents.

Creating a capacity policy

  1. Go to Settings → Agent Capacity and click Create agent capacity policy.
  2. Fill in:
  3. Policy name — required.
  4. Description — optional.
  5. Inbox capacity limits — for each inbox you want to cap, set the maximum open conversations an agent under this policy may hold there.
  6. Exclusion rules (optional):
    • Excluded labels — conversations with these labels don't count toward the cap.
    • Exclude older than — conversations older than N hours don't count.
  7. Add the agents this policy should govern under Assigned agents.
  8. Save.

To edit a policy, reopen it and adjust the limits, exclusions, or assigned agents. Deleting a policy unassigns it from every agent, who then revert to having no cap.

How exclusion rules work

Exclusions make a cap measure real, active workload rather than every open conversation that happens to still exist.

  • Excluded labels — tag parked conversations with something like waiting-on-customer, and they stop counting toward the cap. If the cap is 10 and an agent has 7 active plus 5 waiting-on-customer, they still have room for 3 new ones.
  • Age exclusion — set "exclude older than 24 hours" and long-running conversations drop out of the count, so a multi-day ticket doesn't permanently occupy a capacity slot.

Tip

Start with a generous cap and no exclusions. Add an exclusion only once you can point to a specific kind of conversation that is distorting the count.

How auto-assignment uses capacity

When a new conversation arrives in an inbox with auto-assignment on:

  1. ChannelX finds eligible agents (inbox members who are available).
  2. For each candidate with a capacity policy, it counts their open conversations on that inbox, applying exclusion rules.
  3. Agents at or over their cap are filtered out.
  4. The next eligible agent is chosen using the configured strategy (Round Robin or Balanced).

If no agent is under cap, the conversation waits in the queue until someone's count drops.

Note

Capacity is per inbox. An agent can be at cap on Inbox A while still having room on Inbox B, they are skipped for A but eligible for B.

A practical example

A 12-agent team runs two inboxes: Website (high volume, short conversations) and Email (lower volume, longer conversations). You create two policies:

Policy Website cap Email cap
Standard agent 10 5
Senior agent 15 8

Junior agents go on Standard, senior agents on Senior. Add a waiting-on-customer label exclusion so parked conversations don't count, and a 48-hour age exclusion so week-old emails don't block a slot. Traffic spreads out without overwhelming anyone, and the senior team naturally takes a heavier share.

Common questions

What happens to a conversation already assigned when an agent hits their cap? Nothing. Caps only affect new auto-assignments, existing assignments stay put.

What if every agent is at cap? The conversation stays unassigned in the queue until someone's count drops, a conversation gets resolved, snoozed, or reassigned. Watch your unassigned-queue length, if it keeps growing, you need more headcount or a higher cap.

Can I set capacity per team? Capacity is configured per agent, not per team. To approximate a team cap, attach the same capacity policy to every agent on the team.

Why aren't conversations being assigned? Check that the assignment policy is enabled and linked to the inbox, that agents are available and online, that nobody has hit their capacity limit, and that exclusion rules aren't filtering everyone out.