Repository navigation
docs(voice): add call queues guide - #780
Merged
Merged
Conversation
Contributor
Manny-r31
added a commit
that referenced
this pull request
Oct 7, 2026
Follow the layout and phrasing of the call queues guide (#780): shared comparison table, prepare, how it works, and coaching server sections, then one section per approach. SWML attaches the sidecar when the call starts; REST stops it and attaches a new one by call ID. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
hey-august
self-requested a review
October 8, 2026 15:46
Restore the Queue calls title, drop the unverified max_size sentence, clarify the test-call and Relay hold-music wording, add JSON to Track a queue via SWML, swap the REST field tables for response snippets, and link the Python SDK enter_queue schema issue.
Unverified facts now stay out of the page and go in the PR's notes for reviewers, and PR bodies no longer cite internal repositories.
hey-august
previously approved these changes
Oct 9, 2026
hey-august
left a comment
Collaborator
There was a problem hiding this comment.
Looks great, all notes have been addressed!
…s guide Scope SignalWire-played hold audio to SWML, drop max_size from the update task and samples, page through every queue member and sort by position, and stop treating a member's call_id as the caller's call ID: queue events and calling.end use a different ID.
…von/call-queues-guide
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/docs/platform/voice/call-queues), modeled on Detect machines (approach-first). Bayview Taxi'sdispatchqueue is the running example.enter_queuewithwait_timeand a busy fallback), connect an agent (RESTdialwith inline SWMLconnecttoqueue:dispatch), take a caller out (queue_resultoutcomes,calling.end), and track the queue (status_urlevents and the variablesenter_queuesets).queue_leave(), and connects the agent withconnect()and aqueuedevice.position1 as the next caller, and get one member.nameis required on every update, and a queue must be empty to delete.fern/llms.txt"Call queues" bullet from the Relayqueue_enterreference to the new guide, titled "Queue calls".[NEEDS SOURCE]placeholder, and PR bodies don't cite internal repositories.Notes for reviewers
Queue behavior the guide relies on, traced in the platform source:
queue.enterplays no hold audio and ignoreswait_time; both apply only to SWMLenter_queue. That's why the Relay sample loops its own music and runs its own timer.queue.enteralso doesn't answer the call.calling.connectaccepts a{type: "queue"}device. On an empty queue, it reportsconnect_state: failed, and SWMLconnectsetsconnect_result: failedand continues to the next instruction. Neither waits for a caller. Callers are taken in FIFO order.Upstream issues worked around or left out:
signalwire-sdk3.4.1, and still 3.6.0, validatesenter_queueagainst a stale schema that requirestransfer_after_bridge, so every validenter_queueis rejected. Filed as enter_queue fails schema validation: bundled schema requires transfer_after_bridge signalwire-python#112. The Python sample setsschema_validation=Falseon itsSWMLService, with a comment linking the issue. The TypeScript builder is fine.GET /api/relay/rest/queues/{queue_id}/members/nextisn't served; the request is treated as Get queue member with an ID ofnextand fails. The guide finds the next caller from the member list instead (position1). The spec needs a fix, or the API needs the route.nameon every request.filter_name(partial match). The guide doesn't use it.max_sizeleft undescribed: nothing appears to enforce it, so the guide doesn't say what happens to a caller who enters a full queue.update: untested.whisper_urlparameter.enter_queuereference listsqueue_resultvalues that can't occur (entering,connecting,leaving).queue_enterreference mentions "position updates", but none are sent.Verification
py_compileandpyflakesclean; TypeScripttsc --strictagainst@signalwire/sdk@2.0.5; YAML and JSON parse.SWMLServicesamples were served locally, and the fetched document matched.calling.end, and agentdialwith inline SWML.yarn fern-md-checkpasses.yarn fern-checkfails only on the FDR redirects check, which couldn't reach the network (403).Preview
/docs/platform/voice/call-queues/docs/platform/voice(new card)