Skip to Content
DocsAPI ReferenceTrigger Call API

Trigger Call API

Agency plan required

The Trigger Call endpoint lets you programmatically initiate outbound calls. Use it to connect your CRM, internal tools, or automation workflows to BuildVoiceAI.

POST/api/v1/calls/trigger

Initiate an outbound call to the specified phone number using the given agent.

Request

Headers

HeaderValueRequired
AuthorizationBearer your_api_keyYes
Content-Typeapplication/jsonYes

Body Parameters

FieldTypeRequiredDescription
phone_numberstringYesPhone number in E.164 format (e.g., +15551234567)
agent_idstringNoUUID of the agent to use. Falls back to the default agent if omitted.
namestringNoCaller name, passed to the agent’s prompt as context
emailstringNoCaller email, passed to the agent’s prompt as context
metadataobjectNoArbitrary key-value pairs passed through to webhooks and call records

If you omit agent_id, the call uses the default agent configured in Integrations → API & Webhooks. Make sure a default agent is set if you plan to omit this field.

Example Request

curl -X POST https://app.buildvoiceai.com/api/v1/calls/trigger \ -H "Authorization: Bearer bvai_sk_1a2b3c4d5e6f7g8h9i0j" \ -H "Content-Type: application/json" \ -d '{ "phone_number": "+15551234567", "agent_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Jane Smith", "email": "jane@example.com", "metadata": { "source": "hubspot", "deal_id": "deal_12345" } }'

Response

Success (200)

{ "success": true, "call_id": "f9e8d7c6-b5a4-3210-fedc-ba9876543210", "status": "initiated" }
FieldTypeDescription
successbooleanAlways true for successful requests
call_idstringUnique identifier for the initiated call
statusstringInitial call status — always initiated

Error Responses

StatusErrorCause
400Invalid phone number formatPhone number is not in E.164 format
400Agent not foundThe specified agent_id does not exist
400No agent specified and no default agent configuredNo agent_id provided and no default agent is set
400Agent has no phone number assignedThe agent needs a phone number to make outbound calls
401Invalid API keyThe API key is missing or incorrect
403API access is disabledAPI access has been toggled off
429Rate limit exceededMore than 100 requests per minute

Phone Number Format

Phone numbers must be in E.164 format:

  • Start with + followed by the country code
  • No spaces, dashes, or parentheses
  • Examples: +15551234567 (US), +447911123456 (UK), +61412345678 (AU)
⚠️

Calls will fail if the phone number is not in E.164 format. The API does not attempt to normalize phone numbers.

Using Metadata

The metadata field accepts any JSON object. This data is:

  • Stored with the call record in the dashboard
  • Included in webhook payloads when the call completes
  • Available in the call detail view

Common use cases for metadata:

  • Tracking the source system (source: "hubspot")
  • Passing deal or ticket IDs for CRM linkback
  • Tagging calls for campaign tracking
  • Including custom context for reporting

Use Cases

Trigger from a CRM

When a lead enters a specific pipeline stage in HubSpot or GHL, use the API to automatically call them:

# Called from your CRM webhook handler curl -X POST https://app.buildvoiceai.com/api/v1/calls/trigger \ -H "Authorization: Bearer bvai_sk_..." \ -H "Content-Type: application/json" \ -d '{"phone_number": "+15551234567", "agent_id": "...", "metadata": {"pipeline": "new-leads"}}'

Trigger from Zapier or Make

Use an HTTP action in Zapier or Make to call this endpoint when a trigger fires (new form submission, new CRM contact, etc.).

💡

Include meaningful metadata with every API call. It makes debugging and reporting much easier when you can trace a call back to its source.

Calling Window

Calls respect the calling window configured on the agent. If you trigger a call outside the agent’s allowed calling hours, the call will be queued and executed when the window opens, or rejected depending on your agent settings.

Last updated on