Calls
Calls use a hybrid relay pipeline: the provider answers, plays the greeting, records caller speech, transcribes it (Deepgram), and your agent replies with text that is spoken back (TTS). The full transcript is saved automatically.Make an outbound call
from_number_id if
provided). Returns a call_id you use to control and inspect the call.
Control and inspect
Pushing context to a live call (relay mode)
If your backend (Hermes, OpenClaw, Claude Code, Codex, or another agent) needs to answer a live caller after acall.utterance event, use the persistent
Agent Relay or push context over HTTP. Every response is bound
to the exact turn_id from that event.
delivered=true with status: "live" or "duplicate". A 409 means
the turn is stale or cancelled; a 410 means the call has ended. Never reuse
context from one turn for another.
The response is spoken verbatim and then retained as the assistant turn in the
call conversation. Keep it caller-ready and concise. The hosted LLM is only a
fallback if direct TTS fails.
Transcripts are a list of
{role, text, timestamp} turns where
role is human (caller) or assistant (the AI agent).