For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
cXMLREST API
cXMLREST API
  • Core
    • Compatibility API
    • cXML Specification
  • Guides
    • Compatibility API Webhooks
    • Receive SMS
    • Send SMS
    • Inbound Fax Callback
    • Add mustache template parameters to cXML responses
    • Gathering user input
  • Voice
    • Overview
    • Conference
    • Connect
    • Denoise
    • Dial
    • Echo
    • Enqueue
    • Gather
    • Hangup
    • Leave
    • Number
    • Pause
    • Pay
    • Play
    • Queue
    • Record
    • Redirect
    • Refer
    • Reject
    • Room
    • Say
    • Sip
    • Sms
    • Stream
    • Verto
    • VirtualAgent
  • Messaging
    • Overview
    • Message
    • Redirect
  • Fax
    • Overview
    • Receive
    • Reject
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • Verb attributes
  • Nouns
  • Nesting
  • Examples
  • A simple enqueue
  • Playing wait music
Voice

Enqueue

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

Gather

Next
Built with

The <Enqueue> verb places a call in a specified call queue. If the specified queue does not exist, a new queue will be created and the call will be placed into that new queue. Calls can be dequeued through the <Dial> verb or removed from the queue through the <Leave> verb.

Verb attributes

action
string

The action attribute takes an absolute URL. When a call leaves the queue, a request to this URL is made. If a call is dequeued through the <Leave> verb, the URL is immediately requested. If the call has been bridged to another party via the <Dial> verb, then the HTTP request is made only after both parties have disconnected. If action is not provided, SignalWire will continue reading the next verb in the document. See below for specified request parameters.

method
stringDefaults to POST

Specifies whether the redirect is a GET or a POST.

waitUrl
string

URL of the document to execute while the caller is in the queue. Default points to a playlist with classical music. waitUrl supports the following verbs: <Play>, <Say>, <Pause>, <Hangup>, <Redirect>, <Leave>, and <Gather>. See below for specified request parameters.

waitUrlMethod
stringDefaults to POST

Specifies whether the request to waitUrl is a GET or a POST.

Request parameters for the action URL

The action request contains the Standard Request Parameters as well as:

QueueResult
string

The result of the queued call. See below for all possible values.

QueueSid
string

The unique ID of the queue. Only available if a call is successfully placed into a queue.

QueueTime
string

The time a call was waiting in a queue. Only available if a call is successfully placed into a queue.

Values for parameter QueueResult

The parameter QueueResult has the following values:

ValueDescription
bridgedThe call was bridged and removed from the queue.
bridging-in-progressSignalWire is instructed to bridge the call.
errorAn error occurred either through the <Enqueue> verb or through the document retrieved from the waitUrl.
hangupThe caller hung up while still in the queue.
leaveThe caller left the queue through the <Leave> verb.
redirectedThe call was redirected out of the queue, through a REST API request, while the caller was in the queue.
redirected-from-bridgedThe queued and bridged session was transferred out.
queue-fullThe queue was full, so the placement into the queue was not accepted.
system-errorSignalWire had a malfunction while placing a call into a queue.

Request parameters for waitUrl

The waitUrl request contains the Standard Request Parameters as well as:

AvgQueueTime
integer

The average time, in seconds, that callers have been waiting in a queue.

CurrentQueueSize
integer

The current number of callers in a queue.

QueuePosition
integer

The current position in the queue.

QueueSid
string

The unique ID of the queue a caller is in.

QueueTime
integer

The time a call was waiting in a queue.

Nouns

The noun of an XML verb is nested within the verb upon which the verb acts. <Enqueue> has the following nouns:

NounDescription
plain textThe name of a specific queue.

Nesting

No other verbs can be nested within <Enqueue> and you cannot nest
<Enqueue> within any other verbs.

Examples

A simple enqueue

1<?xml version="1.0" encoding="UTF-8"?>
2<Response>
3 <Enqueue waitUrl="https://example.com/hold-music.xml">support</Enqueue>
4</Response>

While a caller is in the queue, SignalWire retrieves the XML document ‘hold-music.xml’ and executes it.

Playing wait music

1<?xml version="1.0" encoding="UTF-8"?>
2<Response>
3 <Play>http://your-application.com/classical.mp3</Play>
4</Response>

While callers in a queue are waiting, classical music is played.


*Twilio and TwiML are trademarks of Twilio, Inc. SignalWire, Inc. and its products are not affiliated with or endorsed by Twilio, Inc.