Publishing gates every channel: sessions always run the agent’s published
configuration, and creating a session against an agent that has never been
published fails. Publish before wiring
up any channel.
Choose a channel
In increasing order of integration effort and control:1. Embeddable widget
Drop a prebuilt call widget into your site — zero code.
2. Public agents
Browser-only: the SDK connects with just an
agentId, gated by an origin
allowlist and rate limits.3. Authenticated sessions
Your backend mints a session token; the Web or React SDK takes it from
there.
4. Phone
Bind a number and callers dial straight in — no client code at all.
How a browser session starts
For private agents, your backend creates the session — your API key never ships to the browser. The browser SDK takes the resulting session token and handles audio and transport from there.Going further
Versions & publishing
The publish step every channel depends on.
Authentication
API keys, session tokens, and which one belongs where.
Conversation history
List sessions and read full transcripts over REST.
Wire protocol
The wire-level session contract, for building your own client.

