Offer Hold Queue
OffersWhat the Hold Queue Does
When a call arrives at an offer and no buyer is immediately
available, the offer can park the caller in a hold queue
rather than rejecting or voicemailing the call. The hold
queue plays hold audio, periodically re-checks buyer
availability, and delivers the caller to the first buyer
that opens up.
Hold Queue Configuration
The hold queue is a dedicated record tied to an offer and
a call router. It is not a stateless process -- it persists
configuration and enforces limits in real time.
Each hold queue is bound to one call router, and its
configuration settings (maximum callers, percentage-based
sizing, max hold seconds, and average-wait limit) all live
on the call router. The hold queue reads those settings and
enforces them at runtime.
Trigger: Add To Hold Queue
The "add to hold queue" router fires during the routing
decision when no buyer is immediately available. The system
parks the call, starts the hold audio, marks the call with
a status of "on-hold" and records when it entered the queue.
It then begins periodically re-running buyer selection to
find an available buyer.
Trigger: Hold Queue Max Seconds Exceeded
The "When the caller has been on hold for longer than max
hold seconds" router fires when a caller has been parked
longer than the configured maximum.
The system looks up the router, runs any configured webhook
actions, and redirects the caller to the configured call
flow. If no fallback router exists, the call is hung up
with a reason.
Trigger: Hold Queue Is Full
When placing a call on hold, the system checks the caller
limit first, then the percentage-based size (a percent of
the offer's total active concurrency cap), then the average
hold time across recent held calls. If any limit is exceeded,
the call is not added to the queue and the "hold queue is
full" router's action determines the next step.
Queue Size Calculation
The effective queue size cap is determined in priority order:
- The absolute caller limit if configured, otherwise
- A percentage of the offer's total active concurrency cap if a percentage size is configured, otherwise
- 20 percent of the offer's total active concurrency cap (default).