Introduction
The every conversation is associated with:
status
: Conversation realtime status
error_message
: An explanatory error message in case of errors or failed calls.
Anatomy of a Bolna Voice AI call
Following diagram illustrates a basic flow of the call as it progresses from beginning to end.
The completed
status is the final and end status of the conversation.
List of successful call status
The following successful events are listed in chronological order.
Event name Description queued
The call is received by Bolna and is now queued initiated
The call has been initiated from Bolna’s servers ringing
The call is now ringing in-progress
The call has been answered and is now in progress call-disconnected
The call is now disconnected completed
Processing of the call, recordings, etc has been completed post call disconnection. There might be some lag (~2-3 minutes) for receiving completed
event since processing of call data and the recordings might take some time)
List of unanswered call status
Event name Description balance-low
The call cannot be initiated since your Bolna balance is low busy
The callee was busy no-answer
The phone was ringing but the callee did not answer the call
List of unsuccessful call status
Event name Description canceled
The call was canceled failed
The call failed stopped
The call was stopped by the user or due to no response from the telephony provider error
An error occured while placing the call
The payloads for all the above events will follow the same structure as that of Agent Execution response.
Example payload for a completed call with "status" and "error_message"
{
"id" : 7432382142914 ,
"agent_id" : "3c90c3cc-0d44-4b50-8888-8dd25736052a" ,
"batch_id" : "d12abbbe-d16d-4c51-b18c-c7d5c3807962" ,
"conversation_time" : 123 ,
"total_cost" : 123 ,
"status" : "completed" ,
"error_message" : null ,
"answered_by_voice_mail" : true ,
"transcript" : "<string>" ,
"created_at" : "2024-01-23T01:14:37Z" ,
"updated_at" : "2024-01-29T18:31:22Z" ,
"usage_breakdown" : {
"synthesizer_characters" : 123 ,
"synthesizer_model" : "polly" ,
"transcriber_duration" : 123 ,
"transcriber_model" : "deepgram" ,
"llm_tokens" : 123 ,
"llm_model" : {
"gpt-3.5-turbo-16k" : {
"output" : 28 ,
"input" : 1826
},
"gpt-3.5-standard-8k" : {
"output" : 20 ,
"input" : 1234
}
}
},
"telephony_data" : {
"duration" : 42 ,
"to_number" : "+10123456789" ,
"from_number" : "+1987654007" ,
"recording_url" : "https://bolna-call-recordings.s3.us-east-1.amazonaws.com/AC1f3285e7c353c7d4036544f8dac36b98/REb1c182ccde4ddf7969a511a267d3c669" ,
"hosted_telephony" : true ,
"provider_call_id" : "CA42fb13614bfcfeccd94cf33befe14s2f" ,
"call_type" : "outbound" ,
"provider" : "twilio"
},
"transfer_call_data" : {
"provider_call_id" : "CA42fb13614bfcfeccd94cf33befe14s2f" ,
"status" : "completed" ,
"duration" : 42 ,
"cost" : 123 ,
"to_number" : "+10123456789" ,
"from_number" : "+1987654007" ,
"recording_url" : "https://bolna-call-recordings.s3.us-east-1.amazonaws.com/AC1f3285e7c353c7d4036544f8dac36b98/REb1c182ccde4ddf7969a511a267d3c669" ,
"hangup_by" : "Caller" ,
"hangup_reason" : "Normal Hangup"
},
"batch_run_details" : {
"status" : "completed" ,
"created_at" : "2024-01-23T01:14:37Z" ,
"updated_at" : "2024-01-29T18:31:22Z" ,
"retried" : 0
},
"extracted_data" : {
"user_interested" : true ,
"callback_user" : false ,
"address" : "42 world lane" ,
"salary_expected" : "42 bitcoins"
},
"context_details" : {},
"extraction_webhook_status" : true
}