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 queuedThe call is received by Bolna and is now queued initiatedThe call has been initiated from Bolna’s servers ringingThe call is now ringing in-progressThe call has been answered and is now in progress call-disconnectedThe call is now disconnected completedProcessing 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-lowThe call cannot be initiated since your Bolna balance is low busyThe callee was busy no-answerThe phone was ringing but the callee did not answer the call
List of unsuccessful call status
Event name Description canceledThe call was canceled failedThe call failed stoppedThe call was stopped by the user or due to no response from the telephony provider errorAn 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
}