<Enqueue>
Place the caller into a named waiting queue.
Element body
The queue name (required). The queue is created on demand if it does not already exist.
Example
<Response>
<Say>Placing you in the support queue.</Say>
<Enqueue waitUrl="https://app.example.com/queue-hold"
action="https://app.example.com/queue-exit">support</Enqueue>
</Response>
Attributes
| Attribute | Default | Behaviour |
|---|---|---|
action |
unset |
URL posted once when the call exits the queue — dequeued to an agent, left via <Leave>, or the caller hung up. The returned VoiceML replaces the rest of the original document. When empty, execution continues with the next verb after <Enqueue>. |
method |
POST |
HTTP method for the action request: POST or GET. |
waitUrl |
unset |
A VoiceML URL fetched in a loop while the caller waits, re-fetched every 30 seconds with fresh queue-position parameters so position announcements work. When empty, default hold music plays. |
waitUrlMethod |
POST |
HTTP method used to fetch the wait URL: POST or GET. |
maxSize |
0 (unlimited) |
VoiceML extension. Caps the queue size at creation time; when the cap is reached, <Enqueue> is rejected with a 503. Negative values are rejected. |
Callbacks
action request
| Field | Description |
|---|---|
CallSid |
Unique identifier of the queued call. |
QueueSid |
Unique identifier of the queue. |
FriendlyName |
The queue's friendly name. |
QueueResult |
Why the call left the queue: bridged, hangup, leave, redirected, error, or system-error. |
QueueTime |
How long the caller waited. |
waitUrl request
| Field | Description |
|---|---|
CallSid |
Unique identifier of the waiting call. |
QueueSid |
Unique identifier of the queue. |
FriendlyName |
The queue's friendly name. |
QueuePosition |
The caller's current 1-based position; 1 is the front. |
QueueTime |
How long this caller has been waiting. |
AvgQueueTime |
Average wait over dequeue exits in the trailing 5-minute window; 0 when there are no recent exits. |
CurrentQueueSize |
Number of callers currently waiting. |
Every callback also carries the standard call parameters (CallSid, AccountSid, From, To, CallStatus) and is signed with your account's API key.
Notes
- The wait URL's returned document executes on the waiting caller's leg each iteration; a <Leave> inside it exits the queue.
- workflowSid is not supported — setting it returns an error.
- Queues are isolated per account: two accounts using the same queue name get independent queues, and cross-account access returns 404.
- Queues live in process memory: a platform restart drops waiting members, whose action URLs fire with QueueResult=system-error.