Trigger an outbound call
Places (or schedules) an outbound call from a voice agent to a phone number. The contact is created or updated from the identifying fields before dialing, so the agent’s {{contact}} placeholders resolve. Any additional body fields beyond the ones listed become dynamic variables available to the agent’s prompt templates.
A call requested outside the agent’s allowed calling hours is scheduled for the next allowed slot and returns rescheduled: true with runsAt (this scheduling happens before the guardrail checks below, which then apply when the scheduled call fires).
Guardrails: team call limits and plan limits (429); the outbound whitelist when enabled (400); numbers on the Do Not Call list are not dialed; a number with a call already processed in the last 12 hours is not re-dialed (both of the latter surface through the 500 response with an explanatory message).
Caller ID: uses the agent’s configured outbound number or pool. Override per call with fromPhoneNumber (must be an active team number with outbound calling provisioned) or numberPoolId — when both are sent, the pool wins.
Authorizations
Pass your team's API key as a Bearer token: Authorization: Bearer YOUR_API_KEY. Find your API key in the dashboard under Settings. The key must belong to the same team as the teamId in the request body.
Path Parameters
The voice agent ID.
Body
The number to call.
"+84775352590"
Contact full name (alias: name).
"Jane Doe"
IANA timezone for the contact; used for calling-hours evaluation.
"Asia/Ho_Chi_Minh"
Optional caller-ID override. Must be an active phone number belonging to your team with outbound calling provisioned.
Optional number pool to pick the caller ID from. Takes precedence over fromPhoneNumber and the agent's configured pool.
Any extra keys are passed to the agent as dynamic template variables.
Response
Call queued for dialing, or scheduled for the next allowed calling window (rescheduled: true with runsAt).