Overview
To speak with an agent directly in a browser without dialing a phone number, see WebRTC browser calls. The Voice Calls API lets you place an AI voice call to any lead immediately, without creating or launching a campaign. This is ideal for:- GHL workflow actions, a workflow step that fires a call when a contact hits a stage
- One-off outreach, dialing a single lead from an external system
- Post-event triggers, calling someone who just filled in a form
Place a call
status: "dialing". The actual call result (transcript, recording, outcome) is available via GET /voice/calls/{id} once the call ends, typically within 30 to 90 seconds.
Prompt personalization
Override the agent’s system prompt for a single call with{{lead.*}} tokens resolved at dial time:
Voice override
Use a different managed voice for a specific call. Retrieve available voice IDs fromGET /public/voices.
List call history
disposition values: answered, voicemail, no-answer, busy, failed.
Get transcript and recording
Webhooks
Subscribe tocall.completed to be notified when any call ends:
Idempotency
Passidempotency_key to safely retry on network failure without placing a duplicate call. Repeating a request with the same key returns the original call; no new call is placed and nothing is charged again: