Documentation Index
Fetch the complete documentation index at: https://docs.avoca.ai/llms.txt
Use this file to discover all available pages before exploring further.
Trigger an immediate AI-powered voice call to a specific customer. Perfect for callbacks, follow-ups, or urgent communications.
Request
Customer phone number in E.164 format or standard US format
ID of the AI assistant to use for the call
Customer information for context
How the customer prefers to be addressed
Purpose of the call:
callback - Returning customer’s call
follow_up - Service follow-up
appointment_reminder - Remind about upcoming appointment
estimate_follow_up - Follow up on provided estimate
collections - Payment reminder
urgent_notification - Urgent updates
custom - Custom purpose
Additional context for the AI assistant
Summary of last interaction
Upcoming appointment information
Quote/estimate information
Specific information to convey
Why customer requested callback
Available appointment slots if booking is needed
List of available time slots
Expected service duration in minutes
Earliest available appointment
Maximum call duration in seconds (10 minutes default)
Whether to record the call
URL to receive call status updates
Response
Unique identifier for the call
Initial call status: queued, dialing, failed
Estimated seconds before call is placed
ID of the assistant handling the call
URL to monitor call progress
curl -X POST https://api.avoca.ai/v1/outbound/voice/call \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Workspace-ID: YOUR_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+13105551234",
"assistant_id": "asst_callback_001",
"customer_info": {
"name": "John Smith",
"customer_id": "cust_789",
"preferred_name": "John"
},
"call_purpose": "callback",
"context": {
"callback_reason": "Questions about AC maintenance pricing",
"previous_interaction": "Customer called at 2pm, we were closed",
"custom_message": "Apologize for missing their call and offer our $149 AC tune-up special"
},
"max_duration": 300,
"record_call": true,
"webhook_url": "https://yourapp.com/webhooks/call-status"
}'
{
"data": {
"call_id": "call_xyz789",
"status": "dialing",
"estimated_wait": 2,
"assistant_id": "asst_callback_001",
"tracking_url": "https://track.avoca.ai/calls/call_xyz789"
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2024-01-20T15:45:00Z"
}
}
Call Status Webhook
{
"event": "voice_call.completed",
"call_id": "call_xyz789",
"timestamp": "2024-01-20T15:48:32Z",
"data": {
"duration": 187,
"status": "completed",
"answered_by": "human",
"recording_url": "https://recordings.avoca.ai/call_xyz789.mp3",
"transcript_url": "https://transcripts.avoca.ai/call_xyz789.json",
"outcome": {
"type": "appointment_scheduled",
"appointment_id": "appt_123",
"notes": "Customer scheduled AC maintenance for Tuesday 2pm"
},
"ai_summary": "Customer confirmed they want AC maintenance. Scheduled for Tuesday Jan 23 at 2pm. Mentioned concern about unusual noise from unit."
}
}
Call Outcomes
Possible outcome types:
appointment_scheduled - Successfully booked appointment
callback_requested - Customer wants another callback
voicemail_left - Left message on voicemail
not_interested - Customer declined service
do_not_call - Customer requested removal from calls
information_provided - Answered questions, no action needed
payment_promised - Customer agreed to make payment
escalation_needed - Requires human follow-up