VoxaLinkSupport
03Chapter 3 of 7

Call queues (ACD)

Hold callers in a queue and distribute them to agents — the most configurable call-handling object. Agents, selection rules, caller experience, callback, reporting, and more.

Read time~ 16 min
Sections9
Figures6
UpdatedAugust 23, 2026

A call queue — also called an ACD (automatic call distribution) — answers a call, holds the caller in line with music and announcements, and hands them to the next suitable agent. Use it when calls should wait to be answered rather than ring out: a support line, a sales team, a hotel reception. It is the most configurable object in Call flow, so this page is long — skim the headings and read the parts you need.

Agents are just extensions An agent is an extension (a person) that belongs to the queue. Agents log in and out through the day, and the queue only rings agents who are logged in. Logging out of a queue does not stop someone's normal direct calls — it only takes them out of the queue rotation.

How a queue works

When a call arrives:

  1. The caller is greeted and put on hold with music and announcements.
  2. The queue rings agents a stage at a time, using the rule you choose, until someone answers.
  3. If nobody answers in time — or the caller waits too long — the call is redirected (to voicemail, a manager, another queue, and so on).

Two mechanics are worth knowing up front, because several settings refer to them:

  • Waiting callers hear a repeating cycle: an entry greeting (played once as they join), then music, then your other greetings in rotation with a music gap between each.
  • Only one caller rings an agent at a time per queue by default; everyone else keeps waiting. If an agent is logged in but away from their desk, that ringback can hold things up — the agent pools and ring-stage settings below exist partly to work around that.

Creating a queue

From Call flow → Call queues → + New, give the queue an account number (the internal number that reaches it) and a name. Then point an external number at it from Phone numbers, and open the queue to work through the tabs below.

The Edit tab

The main configuration, grouped into sections.

Identity

  • Account number(s) — the number(s) callers dial to reach the queue; separate several with semicolons.
  • Display name / Short name — the full name (admin lists, agent phones) and a short version for cramped phone labels.
  • Pronunciation — how text-to-speech should say the queue's name.
  • Caller ID — the external number shown when the queue redirects a call outside.
  • Caller ID for text messages — the number agents' SMS come from (often different from the voice caller ID).
  • Note / Account class name — admin-only notes, and an optional billing/reporting tag.

Agent setup

Who answers, and how the queue treats them.

Agents must be Agent-type accounts. The pickers here list every extension, but only people created with the Agent account type (DirectoryLicense capacity and account types) can log in to the queue and take its calls — an account of any other type will sit in the list without serving the queue. Create the person as an Agent first.

  • Primary agents — the core extensions that always belong to the queue and are rung on every call.
  • Extensions that can add themselves — who may self-enrol as an agent (via the login star code); * allows any extension. Position for adding agent puts self-added agents at the front or back of the rotation.
  • Number of logged-in agents required to allow log out — a floor that stops the last agents logging out and leaving the queue unstaffed.
  • Agent recovery time — a wrap-up pause after each call before the agent is offered the next one (time to make notes).
  • Duration for flagging missed calls — calls that ring an agent for less than this aren't counted as "missed" (avoids brief blips).
  • Automatically log agent out after missing calls — pulls an agent out after they miss calls, so the queue keeps moving.
  • Duration for reporting an abandoned call / Patterns for not reporting an abandoned call — how quickly a hung-up call counts as "abandoned", and caller-ID patterns to exclude (e.g. test numbers).
  • Show missed call on phones when caller hangs up — whether the agent's phone shows a missed-call badge.
  • Allow additional calls on agent (even if in a call) — call-waiting for agents; rings agents who are already talking.
  • Allow agents to divert incoming calls — lets agents deflect a queue call elsewhere.
  • When an agent rejects the call — keep ringing them, skip to the next agent, or log them out.
  • Allow multiple calls to ring agents in parallel — lets several waiting calls ring different agents at once, instead of strictly one at a time.

Agent selection

How the queue decides which agent to ring next, and how quickly it widens the net.

  • Algorithm for selecting next agent:
    • Random — any available agent.
    • Ring longest idle first — balances the load by favouring whoever has been free longest.
    • Use the agent's order/preference — tries agent 1, then 2, and so on.
  • Ring stage duration — how long each stage rings before the queue widens to more agents (default 5 seconds).
  • Number of agents added per ring stage — how many extra agents start ringing at each stage (keep this low — 1–2 — for a big queue, so you don't ring everyone at once).
  • When entering the next stage — whether agents already ringing keep ringing, or are dropped as the next stage starts.
  • Use the login status for agents — only ring logged-in agents (on), or ring all primary agents regardless (off).
  • Automatic log out for agents — log an agent out automatically when their phone unregisters.

Agent pools (conditional agents)

Beyond the primary agents, you can add up to five extra pools that only join the hunt when a condition is met — for example after the caller has waited a while, when too many calls are waiting, when a service flag is active (or inactive), or when no primary agents are available. Each pool has a colour used on the wallboard, so you can see at a glance which calls needed escalating. This is how you set up "ring the core team first, then pull in overflow staff if it gets busy."

Caller in queue

What happens to the caller while they wait, and when to give up.

  • After hearing ringback for … → redirect to — if the caller has been listening to an agent's phone ring for this long, send them somewhere else instead.
  • If the caller already waited longer than … → redirect to — a hard cap on total wait time, with its own destination.
  • Automatically log agents out after redirecting a ringing call — assume an agent whose ringing call was taken away was unavailable, and log them out.
  • Suspected-spam handling — a redirect destination for suspected spam, a spam score for anonymous callers (those withholding their number), and a threshold above which calls are rejected rather than queued.

Miscellaneous

  • Ring melody for agents — a distinctive ringtone so agents can tell queue calls from direct calls.
  • Notify agents on DND — whether agents on do-not-disturb still get a brief notification.
  • Event for connecting the call — when the call counts as "connected": as it enters the queue, when music starts, only when an agent answers, or never. Most queues use entering the queue.
  • Priority of this queue — when an agent belongs to several queues, higher-priority queues are served first.
  • Maximum number of calls, After the maximum is reached, and Diversion destination — cap the concurrent calls, and choose whether to reject or divert the extras.
  • Caller-ID to show to agents / Change caller-ID when redirecting — what agents see, and whether that carries forward on a redirect.
  • Add to the address book and keep it for … — auto-save callers to the shared address book (needed for the "return to my last agent" option below).
  • Call routing based on — send returning callers to the next free agent, or back to the agent they last spoke to.
  • Dial plan for outbound calls — the rules used when the queue dials out (redirects, callbacks). See Phone numbers.
  • Page incoming calls — announce arriving calls over a paging group (handy in retail or a warehouse).
  • Log agents out at midnight — a daily reset that forces a fresh morning login.
  • Turn off cell-phone forking / Follow redirect-all setting — stop the queue also ringing agents' mobiles, or honour an agent's call-forward-all.

Monitoring

  • Record incoming calls to the queue — the recording / transcription policy for the queue (inherit the tenant default, record audio, transcribe, or both). See Call Analytics.
  • Send daily CDR report to / at / as — email a call-detail report to one or more addresses, at a set time, as a table or a graphical report.
  • CRM account — the CRM to attribute calls to when no agent-linked CRM applies.
  • Allow agent connect webhook / Enable call pickup from extension BLF — fire a webhook when an agent connects, and allow BLF-button pickup of queue calls.

Redirection

A service-flag-driven redirect (Service flags) — plus condition-based redirects for all agents logged out, no phone registered, all agents busy, and VIP callers in the address book. When the condition holds, calls skip the queue and go straight to the destination — the usual way to send after-hours calls to voicemail or an answering service.

The Caller Setup tab

Everything the caller hears and can do while waiting.

Audio

  • Ringback tone — play real ringback while an agent's phone rings, or keep the music going instead.
  • Music on hold source and Background music volume (music can keep playing softly under announcements).
  • Gap between announcements — 5–180 seconds of music between messages.
  • Position announcement — tell callers their place in the queue, once or as it changes, with a minimum queue size below which it stays quiet.
  • Announce automatic recording — play the "this call may be recorded" notice.
  • Announce estimated waiting time — give a rough wait estimate, based on recent callers.

Greetings (messages)

Up to nine recorded greetings play to waiting callers: an entry greeting (played once as they join) followed by the rest in rotation with the music gap between them. Each slot can use an uploaded audio file or text-to-speech, and can be gated by a service flag (for example a different message after hours). Record them from the portal, or from a phone using the queue's record code.

Callback

Instead of holding, a caller can ask the queue to call them back when their turn comes.

  • Offer a callback key, choose when it's announced (always, only after a wait, or never), and gate it by a service flag (e.g. peak hours only).
  • Callback method: leave a voicemail the agent calls back from; add the caller to the outbound call list; or virtual hold.
  • A dial plan is required so the callback number is validated and routed through a real trunk — this prevents misuse. You can also auto-add missed callers to the list and email a notification when someone joins it.

Post-call survey

After the agent hangs up, keep the caller on the line to rate the call — a built-in 1–5 star rating (stored on the call record), or a redirect to an external survey. A low rating can automatically route the caller to a manager for follow-up.

Caller options

Map keypad keys 0–9 to escape routes out of the queue — press a key to reach a specific extension, mailbox, or number. Your greetings need to tell callers which key does what (the options aren't announced automatically).

Outbound calling (dialler)

A queue can also make calls — auto-dial a list of numbers and feed answered callers to agents, or let agents dial from the list by hand. Settings cover the minimum free agents before dialling starts, the retries and wait between attempts, a cap on waiting callers that pauses dialling when the queue is busy, the ring timeout, and an optional confirmation key the called party must press to connect.

Agents logging in and out

Agents control whether the queue rings them:

  • Star codes: *64 logs in, *65 logs out. Add the queue number to target one queue; with no number it applies to all of the agent's queues.
  • Phone button (BLF): a button toggles login and shows status.
  • Portal: agents are prompted to log in / out when they sign in and out of the web front end, and can click the queue to toggle.
  • Hot desking: agents can log into a queue from any shared phone, so reporting follows the person, not the handset (see the hotel example below).

Logging out only removes the agent from the queue — their direct calls still ring. To stop everything, they use DND.

Live views and reporting

The remaining tabs on a queue are for running and reviewing it:

  • Calls — calls currently in, or recently through, the queue.
  • Agents — who is logged in right now, and their live status.
  • Call Log / Recorded Calls — history and recordings for this queue (see Call Analytics).
  • Numbers — the external numbers pointed at this queue.
  • Webhooks — queue-level event webhooks.

The email CDR reports you set under Monitoring summarise the day's numbers per queue (or consolidated across several). The live wallboard, agent monitoring, and the detailed queue metrics are part of the User Mode (WebRTC) client that agents and supervisors sign into — see Call queues in User Mode.

Categories

Calls in a queue can be sorted into categories — a simple way to see what your calls are about. Agents tag each call with a short wrap-up code, and you can then look back at calls by category.

Defining the categories

Set up your list of categories from the Call Queues list page's Queue settings button — each is a code and a label (for example "1 → Kitchen", "2 → Office"). Keep the codes numeric if agents will enter them from a desk phone. The list doesn't have to be continuous — 1, 2 and 4 is fine. This list is shared by every queue in the tenant.

Two more category settings live on each individual queue, under its own Edit → Miscellaneous section (not the shared Queue settings page): a default category (used if the agent picks nothing) and whether the system asks for a category after every call, or only when a call has none.

Tagging a call

Agents tag calls from User Mode (the browser phone client — see Call queues in User Mode):

  • During the call, open the keypad menu and pick a category.
  • After the call, if the queue asks for one, a wrap-up dialog appears to choose a category and add a free-text note.
  • The category can be changed later from the agent's call history.

From a desk phone (no client to hand), the agent enters the numeric code after the caller hangs up; the phone reads the category back, * clears a wrong entry, and # stores it even if it doesn't match a known code. You can't take a star-rating and a wrap-up code on the same call — the prompt only fires once the call ends.

Reviewing categories

Open Queue Management from the left-hand icon rail in User Mode, then the Wrap up tab for a breakdown of tagged calls by queue and agent over a date range, or the History tab for the per-call list. This is where you go to see how calls have actually been categorised — it isn't part of the main admin portal's Call Analytics or Call Log pages, which don't show category data.

A worked example — hotel reception

A hotel wants reception calls answered by whoever is on shift, managers as backup, and nothing lost after hours. Here is how the queue is built from the pieces above.

The players: the reception desk phones are extensions 40–42. The people who actually staff reception — and who should carry the stats — are 50–54; they hot-desk onto whichever desk phone they're at when a shift starts, so reporting follows the person, not the handset. Managers 60–62 are the overflow. The queue is account 71, with a shared mailbox at 70.

  1. Primary agents = 50–54. Add the reception staff as the queue's primary agents (Agent setup). Because they log in from wherever they're sitting, the queue's metrics attach to them, not to phones 40–42.
  2. Overflow to managers. Add an agent pool (Agent selection) with a condition like "no primary agents available" or "waited longer than…", containing managers 60–62 — so if reception is unstaffed or slammed, the managers start ringing.
  3. Fallback to the desk phones. If nobody is logged in at all, ring the physical desk phones 40–42 so a walk-up can still pick up.
  4. After hours / no answer → voicemail. Point a Redirection (or the caller-in-queue wait redirect) at the shared mailbox 70.
  5. Callback. In Caller Setup → Callback, offer a key that files a callback request as a voicemail in mailbox 70; an agent listening presses the callback key to return it, and the request clears itself so the caller isn't rung twice.
  6. Shared mailbox access. Point each agent's mailbox at the queue's mailbox (70) so everyone can pick up callback requests, and give them a busy-lamp button for 70 to see when requests are waiting.

The result: calls always land somewhere sensible, and the numbers reflect who actually did the work.

Everyday tasks

  • Stand up a support line → create the queue, add Primary agents, pick a selection algorithm, then set the Caller Setup music and announcements.
  • Cope with busy spells → add an agent pool with a "waited longer than…" or "calls waiting exceeds…" condition to pull in overflow staff.
  • Stop losing after-hours calls → set a Redirection to voicemail gated by your hours service flag.
  • Offer callback instead of holdingCaller Setup → Callback: set the key, method, and a dial plan.
  • See how the queue is doing → open the Agents and Calls tabs, put a wallboard on a screen, or read the daily CDR report.