Overview
Agent Stream is a WebSocket endpoint that lets a telephony provider point its media stream at a single URL and drive a Asisso agent run. The agent UUID in the URL selects the agent; provider-specific identifiers in the query string (for Cloudonix:Domain) tell Asisso which stored telephony configuration to use for that call. The bearer token and other credentials are never passed in the URL — they live in the stored configuration and are used by Asisso to validate the session and to issue provider API calls (hangup, transfer) during the call.
This is useful when:
- You’re integrating Asisso into a SIP gateway or in-house dialer that already speaks a supported provider’s streaming protocol
- You want one stable endpoint per agent rather than wiring up an inbound webhook per phone number
Endpoint
{agent_uuid} is the agent’s stable UUID (see Get the Agent UUID below).
Prerequisites
- A Asisso agent (workflow) — published or in draft is fine
- A Cloudonix telephony configuration in your Asisso organization whose
domain_idmatches theDomainyou pass on the URL. Asisso uses the bearer token from this configuration to validate the call session and to issue provider API calls (hangup, transfer).
Get the Agent UUID
The Agent UUID is the workflow’s stable identifier — it doesn’t change when versions are published. You can copy it from two places in the dashboard: From the workflow editor- Open your agent in the workflow editor
- Click the ⋮ (more options) menu in the top-right of the header
- Click Copy Agent UUID — the toast confirms the copy
- Open the agent and go to Settings
- Scroll to the Agent UUID section (also linked in the right-side nav)
- Click the UUID code block, or use the Copy UUID button
Connect to the WebSocket
URL parameters
Cloudonix example
<Stream> your Cloudonix Voice Application returns when the call needs to be bridged to the Asisso agent:
connected and start events (Twilio-compatible framing). Asisso extracts streamSid and callSid from the start event payload, validates the session against Cloudonix using the bearer token from the stored telephony configuration matched by Domain, and then begins streaming audio.
Workflow run lifecycle
When the WebSocket is accepted, Asisso:- Looks up the workflow by
agent_uuid - Runs a quota check against the workflow’s owning user
- Creates a new
WorkflowRun(call_type=inbound,mode=cloudonix, nameWR-AGS-XXXXXXXX) with thefrom/tonumbers stamped oninitial_context, thecallId/CallSidstored ascall_idongathered_context, andDomainrecorded under the run’sinbound_webhooklog - Transitions the run to
runningand starts the agent pipeline
Close codes
Security notes
- Treat the URL as a secret — the agent UUID itself authorizes the connection. Store and transmit it only over TLS, and avoid logging the raw URL in places where access is broader than your operations team.
- No bearer tokens or provider secrets are passed in the URL. Provider credentials live in the stored telephony configuration (matched by
Domainfor Cloudonix) and are used server-side by Asisso to validate the session and issue provider API calls.