Skip to main content

Queues & ACD

Customer AdminSupervisor

A queue is a waiting room for calls. Callers wait there until an agent is free; the ACD (Automatic Call Distributor) decides which waiting caller goes to which agent. This chapter covers creating queues and how distribution works.

One kind of queue

Orbit has standard queues — a waiting area that callers enter and agents are matched from. There's no separate "agent queue" object (a per-agent personal queue); to send a call straight to one person you use the Transfer to Agent block in a flow, not a dedicated queue. So everywhere this guide says "queue," it means a standard queue.


1. Creating a queue

Menu path: Routing → Queues.

Prerequisite & permission

Creating a queue needs queues.create in your security profile. A new queue is active as soon as you save it — agents start receiving its calls once the queue is added to their routing profile.

The Queues screen listing ACD queues Each queue shows its max wait, max size, after-call-work (ACW) time, timeout action, and status.

To create a queue: Queues → Create Queue. This opens a full-page form (the create/edit forms are pages now, not pop-up dialogs) with everything below:

The Create Queue full-page form The queue form: name/description, timing & limits, the experience flows the caller and agent hear, and the Live Monitor attention filters.

The full recipe:

  1. Routing → Queues → Create Queue.
  2. Name the queue and set its timing & limits (below).
  3. Pick the experience flows (hold, whisper) callers and agents hear.
  4. Set the Timeout Action for callers who wait past max-wait.
  5. Create — the queue is active immediately.
  6. Add the queue to a Routing Profile so agents serve it.

Basics, timing & limits

SettingWhat it does
NameThe queue's name (e.g. "Sales Queue").
DescriptionA free-text note on what the queue is for.
Timeout ActionWhat happens when a caller waits past Max Wait: Disconnect, transfer, or voicemail.
Max Wait (seconds)How long a caller can wait before the timeout action fires (default 300).
Max SizeMaximum callers allowed in the queue (blank = unlimited).
RONA timeout (seconds)How long an agent's offer rings before it's missed and re-routed to the next agent (4–60s; blank = platform default 8s). (RONA = Redirect On No Answer.)
After-call work (seconds)Wrap-up time after a call from this queue before the agent goes available (blank = 30s; 0 = none).

Experience flows

SettingWhat it does
Hold Flow (music + announce)What the caller hears while waiting (music + position announcements).
Whisper Flow (to agent)What the agent hears just before connect ("Sales call").
Customer Whisper Flow (to caller)What the caller hears just before connect.
No skill-based routing (yet)

A queue does not carry a "required skills" list — Orbit matches callers to agents by routing profile + priority/delay + longest-idle, not by per-agent skill tags. If you need Sales calls to reach only Sales agents, model that with a dedicated queue + routing profile, not a skill filter.

Live Monitor Attention Filters

Turn on this section (the toggle in the form) to decide when a call on this queue appears under "Calls Needing Attention" on the supervisor Live Monitor. A call matching any criterion is flagged. This is unique to Orbit (a value-add over a classic ACD) and needs the real-time sentiment license plus the live_monitor.filters_edit permission:

SettingWhat it does
Abuse count Flag the call after this many abusive segments.
Duration (seconds)Flag calls longer than this.
Sentiment slope <Flag when sentiment is trending down past this rate.
Sentiment score <Flag when the absolute sentiment score drops below this.
Agents reach queues via routing profiles

You don't add agents to a queue here. You add this queue to a Routing Profile, and assign that profile to agents.

Other queue-scoped features

Two more things attach to a queue beyond the create form:

  • Service-level target — a per-queue SLA goal (e.g. 80 % answered within 20 s) that feeds the Queue Status SLA indicator and breach alerts (Reference §2). Configurable via the queue API today; a form field is on the roadmap.
  • Queued callbacks — a caller can be offered a call-back instead of waiting; when an agent frees up the callback is dialed and connected. See Developer §8 for the current wiring status.

2. How the ACD distributes calls

Orbit uses longest-idle distribution with per-profile delays. In plain terms:

When a call arrives

  1. The call joins the queue, ordered by arrival time (oldest first).
  2. Orbit finds agents whose routing profile includes this queue and for whom the caller has waited past that profile's delay for this queue (delay is set on the profile↔queue link, not on the queue itself).
  3. If an agent is available, the call is reserved for them and their phone rings.
  4. If nobody is free, the caller waits (hearing the hold flow) and Orbit retries every few seconds.

When an agent becomes available

  1. Orbit looks at the agent's routing profile and checks their queues in priority order.
  2. In each queue it picks the oldest eligible waiting caller.
  3. That call is reserved and offered to the agent.

Choosing between several free agents

When more than one agent could take a call, Orbit offers it to the agent who has been idle the longest. This spreads work fairly and avoids hammering the same person.

Where priority and delay come from

The priority order and delay the ACD uses above are configured on the Routing Profile, not on the queue. The queue is the waiting room; the profile decides which agents serve it, in what order, and after what delay. If two callers tie on priority and delay, the longest-waiting one wins (first-in, first-out).

Reserve → Commit → Release

StageMeaning
ReserveThe call is held for a ringing agent (still in the queue).
CommitThe agent accepts; the call leaves the queue and connects.
ReleaseThe agent declines/misses/times out; the call returns to the queue for the next agent.
AbandonThe caller hangs up while waiting; the call is removed.
What happens to the agent who missed

On a Release (no-answer), the caller is safe — they go back to the queue. But the agent is moved into a Missed state and stops receiving new offers until they're cleared/return themselves to Available. This is deliberate (don't keep ringing a phone nobody's answering), and it's the #1 "why did calls stop coming to me?" question — see Agent States.


3. Business Hours

Business Hours define when your queues/lines are open, including holidays and weekend overrides.

How Orbit binds hours (a deliberate difference)

In some platforms, hours of operation are a field on the queue. Orbit keeps them separate and reusable: you define a schedule here once, then reference it from a Check Hours block in any flow. One schedule can gate many flows, and the flow — not the queue — decides what an out-of-hours call hears (a "we're closed" message, voicemail, or a callback offer).

To set up: Business Hours → New:

The Create Business Hours page Name the schedule, set a time zone, and define each weekday's open/close times (or mark it closed). Add holiday/date exceptions that override the weekly pattern.

FieldWhat it does
NameThe schedule's name (e.g. "UK Office Hours").
Time zoneThe zone the open/close times are interpreted in.
Weekly hoursPer weekday: open and close times, or mark the day closed.
Holidays / exceptions (optional)Specific dates that override the weekly pattern (e.g. public holidays = closed).

Define the weekly times and any holiday exceptions, Save, then reference the schedule from a Check Hours block in your call flow.