Phone numbers
Get a number and manage its agent binding.
Conversation history
Review transcripts, tool calls, and recordings.
Webhooks
Get notified when calls end and analysis completes.
Set up inbound calling
1
Get a phone number
Add a number to your workspace — see Phone numbers. Numbers are stored and displayed in E.164 format (for example
+15551234567).2
Publish your agent
Calls connect to the agent’s published configuration, not the draft. Publish before pointing traffic at the number.
3
Bind the agent to the number
Bind in the console, or set
agent_id on the number via the API:Phone sessions in history
Every answered call becomes a session withsource: "phone" and two attribution fields:
List calls with the standard sessions endpoint. The
caller_number filter is an exact match; bare numbers are automatically prefixed with +, so 15551234567 matches +15551234567:
caller_number with the other list filters (agent_id, status, created_after, created_before) — see Conversation history for the full parameter list.
Phone sessions behave like any session
Nothing about a phone call needs special handling downstream:- Transcript and tool timeline —
GET /v1/agent/sessions/{session_id}returns the conversation, including tool calls and results, when the agent stores transcripts. See Conversation history. - Recording —
GET /v1/agent/sessions/{session_id}/recordingreturns signed URLs, one track per speaker, when the session was recorded. - Post-call analysis — summaries, data fields, and evaluation criteria run on phone sessions like any other. See Post-call analysis.
- Webhooks —
call.endedandcall.analyzedfire for phone sessions too. See Webhooks. - Hang up via API — end an in-progress call with
POST /v1/agent/sessions/{session_id}/end.
Going further
Phone numbers
Number management and agent bindings.
Versions & publishing
Control which configuration answers your calls.
Post-call analysis
Extract structured data from every call.
Webhooks
React to call lifecycle events from your backend.

