Create Phone Call
Create a new outbound phone call
Authorizations
Authentication header containing API key (find it in dashboard). The format is "Bearer YOUR_API_KEY"
Body
The number you own in E.164 format. Must be a number purchased from Retell or imported to Retell.
The number you want to call, in E.164 format. If using a number purchased from Retell, only US numbers are supported as destination.
An arbitrary object for storage purpose only. You can put anything here like your internal customer id associated with the call. Not used for processing. You can later get this field from the call object.
For this particular call, override the agent used with this agent id. This does not bind the agent to this number, this is for one time override.
Add optional dynamic variables in key value pairs of string that injects into your Retell LLM prompt and tool description. Only applicable for Retell LLM.
Response
Corresponding agent id of this call.
Unique id of the call. Used to identify in LLM websocket and used to authenticate in audio websocket.
Status of call.
-
registered
: Call id issued, starting to make a call using this id. -
ongoing
: Call connected and ongoing. -
ended
: The underlying websocket has ended for the call. Either user or agent hanged up, or call transferred. -
error
: Call encountered error.
registered
, ongoing
, ended
, error
Type of the call. Used to distinguish between web call and phone call.
phone_call
Direction of the phone call.
inbound
, outbound
The caller number.
The callee number.
Post call analysis that includes information such as sentiment, status, summary, and custom defined data to extract. Available after call ends. Subscribe to call_analyzed
webhook event type to receive it once ready.
Cost of the call, including all the products and their costs and discount.
The reason for the disconnection of the call. Read details desciption about reasons listed here at Disconnection Reason Doc.
user_hangup
, agent_hangup
, call_transfer
, voicemail_reached
, inactivity
, machine_detected
, max_duration_reached
, concurrency_limit_reached
, no_valid_payment
, scam_detected
, error_inbound_webhook
, dial_busy
, dial_failed
, dial_no_answer
, error_llm_websocket_open
, error_llm_websocket_lost_connection
, error_llm_websocket_runtime
, error_llm_websocket_corrupt_payload
, error_frontend_corrupted_payload
, error_twilio
, error_no_audio_received
, error_asr
, error_retell
, error_unknown
, error_user_not_joined
, registered_call_timeout
End timestamp (milliseconds since epoch) of the call. Available after call ends.
Latency tracking of the call, available after call ends. Not all fields here will be available, as it depends on the type of call and feature used.
An arbitrary object for storage purpose only. You can put anything here like your internal customer id associated with the call. Not used for processing. You can later get this field from the call object.
Whether this call opts out of sensitive data storage like transcript, recording, logging.
Public log of the call, containing details about all the requests and responses received in LLM WebSocket, latency tracking for each turntaking, helpful for debugging and tracing. Available after call ends.
Recording of the call. Available after call ends.
Add optional dynamic variables in key value pairs of string that injects into your Retell LLM prompt and tool description. Only applicable for Retell LLM.
Begin timestamp (milliseconds since epoch) of the call. Available after call starts.
Telephony identifier of the call, populated when available. Tracking purposes only.
Transcription of the call. Available after call ends.
Transcript of the call in the format of a list of utterance, with timestamp. Available after call ends.
Transcript of the call weaved with tool call invocation and results. It precisely captures when (at what utterance, which word) the tool was invoked and what was the result. Available after call ends.
Was this page helpful?