Skip to main content

Queues

Queues hold callers in a waiting line until an available agent answers. Unlike a ring group — which rings everyone at once for a single call — a queue keeps callers on hold (with music or announcements) and pulls them off the front of the line as agents become available. Use queues when you expect more concurrent calls than agents.

Viewing Queues

Navigate to Queues from the sidebar. The table shows each queue's name, extension, strategy, timeout, and current member count for the selected account.

Creating a Queue

  1. Click Add Queue.
  2. Enter a Name (e.g., "Sales", "Tier 1 Support").
  3. Optionally assign an extension number so the queue can be dialed directly.
  4. Click Add Queue.

Queue Settings

Open a queue to edit its settings. Settings are grouped into a short top-level set everyone tends to touch, plus an Advanced section (collapsed by default) for the rest.

Top-level:

  • Extension — Internal number for directly dialing the queue.
  • Strategy — How waiting callers are distributed to agents. See Strategies below.
  • Max wait (seconds) — How long a caller may wait at the front of the line before timeout behavior runs. New queues default to 300 (5 minutes) so a caller can't sit on hold forever if the last eligible agent goes offline. Set to 0 to opt out — callers then wait indefinitely until an agent answers or they hang up.
  • Timeout Behavior + Timeout Target — What happens to a caller whose Max wait elapses, and where they go. See Timeout behavior below.

Inside Advanced:

  • Max queue length — Maximum number of callers waiting at once. 0 means unlimited. When the queue is full, new callers are rejected and never enter.
  • Wrap-up time (seconds) — Cooldown applied to the agent who just took a call from this queue before they're eligible for another one. 0 disables wrap-up.
  • Position announcements — Periodically tells waiting callers their place in line ("You are caller number three"). See Position announcements below.
  • Press-1 Callback — Lets a waiting caller hang up and have an agent call them back when one becomes available. See Press-1 callbacks below.
  • Join Empty — Whether new callers may enter when no eligible agents are signed in. See Join / Leave Empty below.
  • Leave When Empty — Whether callers already waiting are dropped when the last eligible agent disappears.

Strategies

Strategies decide which member to ring next when a caller reaches the front of the queue.

  • Ring all — Rings every signed-in member at the same time; the first to answer takes the call. Best when each call needs the fastest possible pickup and team size is small.
  • Linear — Rings members in a fixed order based on their position value (lowest position first). Use when there is a clear primary, secondary, tertiary, etc.
  • Round robin (memory) — Rings members one at a time in position order, remembering where the rotation left off. The next call starts with the member after the previous one rung. Distributes work evenly over time. Weight is ignored.
  • Least recent — Rings the member who has been idle the longest (longest time since their last call ended).
  • Fewest calls — Rings the member who has handled the fewest calls so far today. The counter resets at midnight in your account timezone.
  • Random — Rings a member chosen uniformly at random.
  • Weighted random — Random with bias: members with lower weight are more likely to be chosen on any given call. A higher-weight member can still be picked first — just with proportionally lower probability (1 / (weight + 1)).

Join / Leave Empty

These two settings control what happens when no agents are available. "Eligible" here means agents who are members of this queue and could in principle take a call.

Join Empty — applies to a new caller arriving at the queue:

  • Strict — The caller is rejected if no agent is signed in.
  • No agents online — The caller is rejected only when zero agents are signed in. Anyone signed-in but on a call or paused still counts as online, so the caller may enter and wait.
  • No agents available — The caller is rejected only when zero agents are available right now (signed in, not on a call, not paused). This is the most lenient option for the caller.

Leave When Empty — applies to callers already waiting:

  • Strict — Existing callers are dropped from the queue the moment no agent is signed in.
  • No agents online — Same threshold as above, applied to people currently waiting.
  • No agents available — Same as above. Most lenient.

A common pairing: Strict / No agents online rejects new callers when no one is signed in but lets existing ones keep waiting through brief gaps in coverage.

Timeout Behavior

When Max wait is greater than zero and a caller has been at the front of the line that long without being answered, the timeout behavior runs.

  • None — The call hangs up.
  • Ring user — Forwards the caller to a specific user's extension. Use for an "always-on" fallback person.
  • Voicemail — Sends the caller to voicemail. The target can be either a user (their personal voicemail) or a shared voicemail box.
  • Queue — Overflows the caller into a different queue. Useful for tiered escalation (e.g., Tier 1 → Tier 2 after waiting too long). Cycles are detected and rejected — a queue can't overflow into itself directly or transitively.

The Timeout Target picker only appears once a behavior other than None is selected, and only shows targets compatible with that behavior.

Position announcements

Long, silent holds make callers anxious. With position announcements enabled, a waiting caller hears a short "You are caller number N" prompt at a configurable interval, interrupting hold music briefly each time.

  • Position announcements — Turns the announcement on for this queue. When off, callers hear uninterrupted hold music until an agent answers.
  • Announcement interval (seconds) — How often the announcement repeats. Defaults to 30 seconds. Minimum 10, maximum 600.

Behavior notes:

  • Positions above 30 are not announced (the prompt set only covers callers 1 through 30); a caller deeper in the queue keeps hearing hold music until they reach a position the system can read.
  • The announcement is cut short the moment an agent answers — callers do not hear "You are caller number two" over the start of a live conversation.

Press-1 Callbacks

Long hold times push callers to hang up. With press-1 callbacks enabled, a waiting caller is offered a prompt — "Press 1 to hang up and be called back when an agent is available" — and can keep their place in line without staying on the line. When an eligible agent becomes available, the system rings that agent first; once they accept, it rings the caller back and bridges them.

  • Enable callback option — Turns the press-1 prompt on for this queue. When off, callers always wait on the line.
  • Offer after (seconds) — How long a caller waits before the prompt is offered. Lower values give the option sooner; higher values reserve it for genuinely long waits. Defaults to 60 seconds.
  • Callback caller ID — Optional. The DID used as the outbound caller ID when the system rings the caller back. Must be an active, outbound-enabled DID owned by this account. When unset, the queue falls back to the inbound DID the caller dialed (or the account's default outbound DID).

Behavior notes:

  • Callbacks survive process restarts — pending requests are stored durably and re-evaluated on startup.
  • Each callback retries up to three more times on no-answer (1 minute, then 5 minutes, then 15 minutes later) before being dropped.
  • Callbacks are evaluated whenever an agent becomes available (including via the *45 login and *46 unpause star codes), so an agent coming back online wakes any waiting callbacks for queues they're a member of.
  • The agent who accepts the callback hears a short whisper ("Callback. Press 1 to accept, 2 to skip.") before the recipient leg is dialed, so they're never surprised mid-call.

Members

The Members card shows a banner at the top whenever no agents are currently eligible to take a call — every member is logged out, paused, or already on a call. In that state a fresh caller arriving at the queue would be rejected and skip past it in the dial plan, so the banner is a heads-up that you need to add members, have them log in, or unpause before traffic starts.

The banner reflects live state (refreshed every 15 seconds) and disappears as soon as at least one member is available.

Queue members are the users who answer queued calls. Each member has a Position, used by the linear and round robin (memory) strategies (lowest position rings first; positions start at 1). Other strategies ignore position — set it to anything.

When the queue uses the weighted random strategy, members also get a Weight column. Lower weight = higher pick probability (probability ∝ 1 / (weight + 1)). For every other strategy the column is hidden because it has no effect.

When you add a new member at a position that's already taken, existing members at that position and below shift down by one to make room — you never have to manually renumber.

Adding a Member

  1. Click Add Member.
  2. Pick a user from the picker. Users already in the queue are hidden.
  3. Set Position (defaults to one past the highest existing).
  4. When the queue strategy is weighted random, set Weight (defaults to 0). The field is hidden under all other strategies.
  5. Click Add.

The new member is automatically logged in for queue dispatch, so they start receiving calls right away — you don't need to ask them to dial *45 first. Already-logged-in members are unaffected, and paused members stay paused (their break isn't ended by being added to another queue). Members can still log themselves out with *45.

Removing a Member

Hover over a member row and click the trash icon. Other members keep their positions; gaps are fine and don't affect ringing order.

Renaming a Queue

Click the queue name at the top of the detail page to edit it inline. Press Enter or click away to save.

Deleting a Queue

Open the queue and use the delete action from the queue list page. Deleting a queue releases its extension number for reuse and removes all members. Existing call routing rules that point at this queue must be updated separately.