Place an outbound call
place_callPlace an outbound call to a phone number and connect an AI voice agent. Requires an existing agent and SIP trunk; confirm first because the call charges the account.
Instructions
Dial a real phone number over the account's SIP trunk and connect the agent. THIS SPENDS MONEY AND MAKES A PHONE RING: confirm with the user before calling it. Credit is reserved up front; an underfunded account is refused with insufficient_credits and nothing is dialled. Returns the call record immediately with status queued or ringing; poll get_call for progress, transcript and cost. Needs an agent (create_agent), a SIP trunk (create_sip_trunk) and a phone number on it (create_phone_number), either as from_number_id or as the agent's outbound_phone_number_id.
Requires scope calls:write.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Destination in E.164 form, e.g. "+14155551234". | |
| lead_id | No | Existing lead to attribute the call to. One is created if omitted. | |
| agent_id | Yes | The agent that will hold the conversation. | |
| metadata | No | Echoed back on the call and in webhooks. Not shown to the model. | |
| lead_name | No | Name for the auto-created lead; available as {{name}} in the opening message. | |
| from_number_id | No | Phone number id to call from. Defaults to the agent's outbound_phone_number_id. | |
| idempotency_key | No | Idempotency-Key for safe retries. Generated automatically when omitted. Reuse the SAME value when retrying the SAME logical request; never reuse it for a different one. |