How to send AI call events to Volie
You will send real-time call events from your AI voice assistant to Volie so missed calls, warm transfers, AI-handled outcomes, and abandoned interactions appear in the correct dealership’s call history and agent workflows.
Before you start
Before you send AI call events to Volie:
Complete How to set up Volie AI Assistant integration (credentials and organization VIDs)
Send requests as
Content-Type: application/jsonwith HTTP Basic AuthenticationUse caller phone numbers in E.164 format (for example
+15551234567)
Definitions
These terms appear when you send AI call events to Volie:
Term | Meaning |
Event type | The |
call_id | Your platform’s unique identifier for the call session. Send the same value on retries for the same logical call. |
Warm transfer | A live handoff where your AI sends a |
Supported event types
Volie AI Assistant integration supports these primary event types:
Event type | When to send | What Volie does |
| The caller disconnects before a live agent answers (including connection failures during greeting) | Creates a missed call record and links call details for dealership follow-up |
| Your AI determines the caller needs a live agent | Pushes call context to the answering agent and links the transferred call |
| Your AI fully resolves the caller’s request without a human | Logs the completed AI interaction with disposition and summary data |
| The caller hangs up after requesting human help but before the transfer completes | Logs the abandoned interaction for visibility alongside agent-handled calls |
Steps
Follow these steps to send AI call events to Volie:
Build a JSON payload with three sections:
event_info(required),event_summary(recommended), andtranscript(optional).In
event_info, setevent_typetohangup,warm-transfer,ai-handled, orai-abandon.In
event_info, setvidto the organization VID from the Organization Discovery API. Volie also acceptssubscription_keyas an alias forvid.In
event_info, setcall_idto your unique call or session ID andcaller_origin_phoneto the customer phone in E.164 format.Add recommended caller fields when available:
event_time(ISO 8601 UTC),caller_first_name,caller_last_name, andcustomer_timezone(IANA timezone such asAmerica/Chicago).In
event_summary, include context that helps agents and reporting:caller_request,call_outcome,summary, optionalvehicle(year,make,model),tags,campaign_vid, andrecording_urlwhen you have a reachable recording link.Optionally add a
transcriptarray with objects containingline_type(aiorcustomer) andtextfor each spoken line.POST the payload to
POST https://api.volie.com/ai_listener/events. Alternate endpoint with the same handler:POST https://api.volie.com/auto_assistant_ai_listener/.Include HTTP Basic Authentication on every request. Set
Content-Type: application/json. Optionally sendX-Request-Id(unique per logical delivery),X-AI-Partner, andUser-Agentfor auditing.For
warm-transferevents, transfer the live call to the Volie phone number Volie provided for that organization immediately before or when you send the event so Volie can match the active call.Treat HTTP
200 OKwith response body{"Data":"ok"}as acceptance. Volie may continue processing asynchronously after the response.
Response codes
Volie AI Assistant integration returns these HTTP status codes:
Code | Meaning | Typical cause |
| Event accepted | Payload validated for your AI assistant and organization |
| Event rejected | Malformed JSON, invalid |
| Authentication failed | Missing or incorrect Basic Auth credentials |
| Organization not allowed |
|
| Duplicate delivery | Same |
| Server error | Contact [email protected] with |
Error responses use JSON with a Data string describing the issue (for example {"Data":"vid or subscription_key is required"}).
Optional: Receive webhooks from Volie
If Volie registered outbound webhook URLs on your AI assistant record, Volie can POST updates back to your platform:
New Call — Sent when a call transferred to Volie completes, or when Volie places a return call for a previously missed AI-handled call and that call completes. The payload includes call timing, disposition fields, customer and organization details, appointment fields when applicable, and partner_call_id / partner_orginating_call_id to correlate with your call_id.
New Pulse — Sent when a transferred or returned call is processed by Pulse. The payload includes AI disposition, customer sentiment, assessment items, call transcription, and flags when present.
Design your webhook handler to respond successfully even when processing continues asynchronously, and contact [email protected] to register or update webhook URLs.
What success looks like
When you send AI call events to Volie successfully, Volie returns HTTP 200 OK with {"Data":"ok"} and the interaction appears in the dealership’s Volie call workflow (missed call queue, live agent context on warm transfer, or completed AI call log for ai-handled). If warm-transfer context does not appear for an agent, confirm the live call reached the Volie transfer number and that the caller_origin_phone in the event matches the active inbound call.
Limitations
Volie AI Assistant integration has these verified limits when sending events:
Volie ignores unknown keys in the JSON body (including legacy fields such as
transport_typeandtransfer_typeinsideevent_summary).Duplicate
X-Request-Idvalues for the same AI assistant return409 Conflictand are not processed twice, though Volie still logs the attempt.recording_urlmust be reachable by Volie if you include it; broken links do not block event acceptance but recordings may be unavailable in Volie.
Common questions
Which endpoint should my AI platform use?
Send AI call events to POST https://api.volie.com/ai_listener/events. The POST https://api.volie.com/auto_assistant_ai_listener/ endpoint uses the same authentication, payload format, and processing.
What is the difference between hangup and ai-abandon?
Send hangup when the caller disconnects before your AI completes the interaction or before a transfer (for example they drop during the greeting). Send ai-abandon when the caller requested human assistance but hung up before the warm transfer to Volie finished.
How do I safely retry a failed event POST?
Reuse the same X-Request-Id header value only when retrying the same logical event. Use a new X-Request-Id for each new call or new event type. A duplicate id returns 409 Conflict without double-processing.
Related articles
How to set up Volie AI Assistant integration