Example of webhook formats in Cekura
{
"event_type": "result.completed",
"data": {
"id": 101,
"name": "string",
"agent": 42,
"status": "completed",
"met_expected_outcome_count": 0,
"total_expected_outcome_count": 0,
"success_rate": 100,
"run_as_text": false,
"is_cronjob": false,
"runs": {
"1": {
"id": 301,
"scenario": {
"id": 205,
"name": "Customer's Specific Preference Confirmation",
"personality_name": "Direct Communicator ",
"expected_outcome_prompt": ""
},
"expected_outcome": {},
"success": true,
"evaluation": {
"metrics": []
},
"transcript_object": [
{
"role": "Testing Agent",
"time": "00:02",
"content": "Hello.",
"end_time": 2.82,
"start_time": 2.32
}
],
"voice_recording": "https://example.com/audio/recording.wav",
"timestamp": "2025-07-31T10:37:40Z",
"executed_at": "2025-07-31T10:37:41Z",
"error_message": ""
}
},
"created_at": "2025-07-31T10:37:40Z"
}
}
{
"event_type": "result.completed",
"data": {
"id": 6,
"name": "string",
"agent": 1,
"status": "completed",
"met_expected_outcome_count": 0,
"total_expected_outcome_count": 0,
"success_rate": 0.0,
"run_as_text": false,
"is_cronjob": true,
"runs": {
"6": {
"id": 6,
"scenario": {
"id": 13,
"name": "Secure Cell Activation Workflow",
"personality_name": "Direct Communicator ",
"expected_outcome_prompt": ""
},
"expected_outcome": {},
"success": false,
"evaluation": {
"metrics": [
{
"id": 7,
"name": "workflow-adherence-check",
"type": "binary_workflow_adherence",
"score": 0,
"explanation": [
"This metric explicitly requires a false outcome for validation."
],
"vocera_defined_metric_code": "string"
},
]
},
"transcript_object": [
{
"role": "Testing Agent",
"time": "00:01",
"content": "Hello.",
"end_time": 1.78,
"start_time": 1.28
},
{
"role": "Main Agent",
"time": "00:02",
"content": "World",
"end_time": 2.9,
"start_time": 2.32
}
],
"voice_recording": "https://example.com/audio/recording.wav",
"timestamp": "2025-07-31T10:53:16Z",
"executed_at": "2025-07-31T10:53:16Z",
"error_message": ""
}
},
"created_at": "2025-07-31T10:53:16Z"
}
}
{
"event_type": "call_log.completed",
"data": {
"id": 95,
"duration": "01:10",
"voice_recording_url": "https://example.com/audio/recording.mp3",
"critical_categories": [],
"status": "success",
"agent_id": "1",
"timestamp": "2025-07-31T11:13:42Z",
"success": true,
"is_reviewed": false,
"feedback": "",
"evaluation": {
"metrics": [
{
"id": 5,
"name": "workflow-adherence-check",
"type": "binary_workflow_adherence",
"vocera_defined_metric_code": "string",
"score": 5,
"explanation": [
"This metric is defined to always return true.",
"The AI agent, by definition of the metric, meets the criteria."
]
}
]
},
"transcript": "[0:00] Testing Agent: Hello. This is ExampleCorp.\n[0:01] Main Agent: Hello. You've reached Professional Services",
"transcript_object": [
{
"role": "Testing Agent",
"time": "0:00",
"content": "Hello. This is ExampleCorp.",
"end_time": 1.7,
"start_time": 0.24
},
{
"role": "Main Agent",
"time": "0:01",
"content": "Hello. You've reached Professional Services.",
"end_time": 7.3,
"start_time": 1.2
},
{
"role": "Testing Agent",
"time": "0:02",
"content": "Please stay on the line while we connect you. This call may be monitored.",
"end_time": 8.42,
"start_time": 2.0
},
{
"role": "Main Agent",
"time": "0:07",
"content": "How can I help you today?",
"end_time": 8.58,
"start_time": 7.36
},
{
"role": "Testing Agent",
"time": "0:19",
"content": "Hello. Hi.",
"end_time": 20.32,
"start_time": 19.18
},
{
"role": "Main Agent",
"time": "0:21",
"content": "Hi there. How can I assist you today?",
"end_time": 23.77,
"start_time": 21.35
},
{
"role": "Testing Agent",
"time": "0:25",
"content": "I'm calling regarding an order. Are you working on one now?",
"end_time": 35.26,
"start_time": 25.49
},
{
"role": "Main Agent",
"time": "0:36",
"content": "Thanks for reaching out.",
"end_time": 38.45,
"start_time": 36.45
},
{
"role": "Testing Agent",
"time": "0:38",
"content": "Hi.",
"end_time": 38.7,
"start_time": 38.2
},
{
"role": "Main Agent",
"time": "0:38",
"content": "This is a consulting firm. Would you like help with anything related to that?",
"end_time": 52.59,
"start_time": 38.45
},
{
"role": "Testing Agent",
"time": "0:53",
"content": "No.",
"end_time": 54.18,
"start_time": 53.68
},
{
"role": "Main Agent",
"time": "0:55",
"content": "Understood. Is there anything else I can help you with?",
"end_time": 59.18,
"start_time": 55.32
},
{
"role": "Testing Agent",
"time": "0:59",
"content": "No.",
"end_time": 60.41,
"start_time": 59.91
},
{
"role": "Main Agent",
"time": "1:01",
"content": "Thanks for calling. Goodbye.",
"end_time": 70.2,
"start_time": 61.8
}
],
"call_ended_reason": "",
"dropoff_point": "end of conversation as no queries remaining",
"topic": "{}",
"customer_number": "",
"user_generated_transcript": null,
"metadata": {},
"dynamic_variables": {},
"created_at": "2025-07-31T11:13:42Z",
"updated_at": "2025-07-31T11:14:04Z",
"call_id": "stereo_audio",
"agent": 1
}
}
{
"message":{
"timestamp":1728862846068,
"type":"end-of-call-report",
"analysis":{
"summary":"The call is between a mortgage representative named Tush and a customer named Alex...",
"successEvaluation":"true"
},
"artifact":{
"messages":[
{
"role":"system",
"message":"<Personality>\nYou are a middle aged man from New York with a strong French accent</Personality>",
"time":1728862774417,
"secondsFromStart":0
},
{
"role":"user",
"message":"Hello. This is Tush calling from.",
"time":1728862776876,
"endTime":1728862778816,
"secondsFromStart":2.32,
"duration":1940
},
{
"role":"bot",
"message":"Yeah. What do you want?",
"time":1728862782375.9998,
"endTime":1728862784086,
"secondsFromStart":7.8199997,
"duration":1390.001220703125,
"source":""
},
{
"role":"user",
"message":"Hi. So I wanted to verify if I'm speaking to Alex too.",
"time":1728862785216,
"endTime":1728862789286,
"secondsFromStart":10.66,
"duration":4070
},
{
"role":"bot",
"message":"Yeah. It's Alex. What do you need?",
"time":1728862789756,
"endTime":1728862791396,
"secondsFromStart":15.2,
"duration":1640,
"source":""
},
{
"role":"user",
"message":"So that's great. Welcome to any mortgage. I'm happy to say that your loan has been approved....",
"time":1728862792936,
"endTime":1728862811816,
"secondsFromStart":18.38,
"duration":15119.998046875
},
{
"role":"bot",
"message":"Alex Dieuet.",
"time":1728862813506,
"endTime":1728862814246.002,
"secondsFromStart":38.95,
"duration":740.001953125,
"source":""
},
{
"role":"user",
"message":"And the email address, please?",
"time":1728862815716,
"endTime":1728862818346,
"secondsFromStart":41.16,
"duration":2229.9970703125
},
{
"role":"bot",
"message":"Um, why do you need that?",
"time":1728862819406,
"endTime":1728862820846,
"secondsFromStart":44.85,
"duration":1440,
"source":""
},
{
"role":"user",
"message":"I just need it for verification.",
"time":1728862821776,
"endTime":1728862823586,
"secondsFromStart":47.22,
"duration":1810
},
{
"role":"bot",
"message":"Fine. It's alex dot outlook dot com.",
"time":1728862824396,
"endTime":1728862826736,
"secondsFromStart":49.84,
"duration":2340,
"source":""
},
{
"role":"user",
"message":"Okay. Great. And your",
"time":1728862828056,
"endTime":1728862829836,
"secondsFromStart":53.5,
"duration":1780
},
{
"role":"bot",
"message":"Yeah.",
"time":1728862829276,
"endTime":1728862829776,
"secondsFromStart":54.72,
"duration":500,
"source":""
},
{
"role":"user",
"message":"physical mailing address as well, please?",
"time":1728862830406.002,
"endTime":1728862832186,
"secondsFromStart":55.850002,
"duration":1779.998046875
},
{
"role":"bot",
"message":"600 North McClure Court, Chicago,",
"time":1728862833036,
"endTime":1728862835056,
"secondsFromStart":58.48,
"duration":2020,
"source":""
},
{
"role":"user",
"message":"Great. That's it. Okay.",
"time":1728862836466,
"endTime":1728862838346,
"secondsFromStart":61.91,
"duration":1780
},
{
"toolCalls":[
{
"id":"call_8VwgR084TgFhoIFScCy",
"type":"function",
"function":{
"name":"endCall",
"arguments":"{}"
}
}
],
"role":"tool_calls",
"message":"",
"time":1728862838338,
"secondsFromStart":62.614
},
{
"role":"tool_call_result",
"time":1728862839057,
"secondsFromStart":63.333,
"name":"endCall",
"result":"Success.",
"toolCallId":"call_8VlD2084TgFhoIFScCy"
}
],
"messagesOpenAIFormatted":[
{
"role":"system",
"content":"<Personality>\nYou are a middle aged man from New York with a strong French accent</Personality>"
},
{
"role":"user",
"content":"Hello. This is Tush calling from."
},
{
"role":"assistant",
"content":"Yeah. What do you want?"
},
{
"role":"user",
"content":"Hi. So I wanted to verify if I'm speaking to Alex too."
},
{
"role":"assistant",
"content":"Yeah. It's Alex. What do you need?"
},
{
"role":"user",
"content":"So that's great. Welcome to any mortgage. I'm happy to say that your loan has been approved..."
},
{
"role":"assistant",
"content":"Alex Dieuet."
},
{
"role":"user",
"content":"And the email address, please?"
},
{
"role":"assistant",
"content":"Um, why do you need that?"
},
{
"role":"user",
"content":"I just need it for verification."
},
{
"role":"assistant",
"content":"Fine. It's alex dot outlook dot com."
},
{
"role":"user",
"content":"Okay. Great. And your"
},
{
"role":"assistant",
"content":"Yeah."
},
{
"role":"user",
"content":"physical mailing address as well, please?"
},
{
"role":"assistant",
"content":"600 North McClure Court, Chicago,"
},
{
"role":"user",
"content":"Great. That's it. Okay."
},
{
"role":"assistant",
"tool_calls":[
{
"id":"call_8VlD2084TgFhoIFScCy",
"type":"function",
"function":{
"name":"endCall",
"arguments":"{}"
}
}
]
},
{
"role":"tool",
"tool_call_id":"call_8TlD2084TgFhoIFScCy",
"content":"Success."
}
],
"transcript":"User: Hello. This is Tush calling from.\nAI: Yeah. What do you want?\nUser: Hi. So I wanted to verify..",
"recordingUrl":"https://example.com/audio/recording.wav",
"stereoRecordingUrl":"https://example.com/audio/recording.wav"
},
"startedAt":"2024-10-13T23:39:35.724Z",
"endedAt":"2024-10-13T23:40:39.072Z",
"endedReason":"assistant-ended-call",
"cost":0.112,
"costBreakdown":{
"stt":0.0115,
"llm":0.0319,
"tts":0.012,
"vapi":0.0528,
"total":0.112,
"llmPromptTokens":6159,
"llmCompletionTokens":73,
"ttsCharacters":239,
"analysisCostBreakdown":{
"summary":0.0018,
"summaryPromptTokens":279,
"summaryCompletionTokens":63,
"structuredData":0,
"structuredDataPromptTokens":0,
"structuredDataCompletionTokens":0,
"successEvaluation":0.0021,
"successEvaluationPromptTokens":672,
"successEvaluationCompletionTokens":4
}
},
"costs":[
{
"type":"transcriber",
"transcriber":{
"provider":"deepgram",
"model":"nova-2"
},
"minutes":1.1590666666666667,
"cost":0.01154963
},
{
"type":"model",
"model":{
"provider":"openai",
"model":"gpt-4o"
},
"promptTokens":6159,
"completionTokens":73,
"cost":0.03189
},
{
"type":"voice",
"voice":{
"provider":"11labs",
"voiceId":"MZHabtAqfFWWdxrbZ9iS"
},
"characters":239,
"cost":0.01195
},
{
"type":"vapi",
"subType":"normal",
"minutes":1.0558,
"cost":0.05279
},
{
"type":"analysis",
"analysisType":"summary",
"model":{
"provider":"anthropic",
"model":"claude-3-5-sonnet-20240620"
},
"promptTokens":279,
"completionTokens":63,
"cost":0.001782
},
{
"type":"analysis",
"analysisType":"successEvaluation",
"model":{
"provider":"anthropic",
"model":"claude-3-5-sonnet-20240620"
},
"promptTokens":672,
"completionTokens":4,
"cost":0.002076
}
],
"durationMs":63348,
"durationSeconds":63.348,
"durationMinutes":1.0558,
"summary":"The call is between a mortgage representative named Tush and a customer named Alex...",
"transcript":"User: Hello. This is Tush calling from.\nAI: Yeah. What do you want?...",
"messages":[
{
"role":"system",
"message":"<Personality>\nYou are a middle aged man from New York with a strong French accent</Personality>",
"time":1728862774417,
"secondsFromStart":0
},
{
"role":"user",
"message":"Hello. This is Tush calling from.",
"time":1728862776876,
"endTime":1728862778816,
"secondsFromStart":2.32,
"duration":1940
},
{
"role":"bot",
"message":"Yeah. What do you want?",
"time":1728862782375.9998,
"endTime":1728862784086,
"secondsFromStart":7.8199997,
"duration":1390.001220703125,
"source":""
},
{
"role":"user",
"message":"Hi. So I wanted to verify if I'm speaking to Alex too.",
"time":1728862785216,
"endTime":1728862789286,
"secondsFromStart":10.66,
"duration":4070
},
{
"role":"bot",
"message":"Yeah. It's Alex. What do you need?",
"time":1728862789756,
"endTime":1728862791396,
"secondsFromStart":15.2,
"duration":1640,
"source":""
},
{
"role":"user",
"message":"So that's great. Welcome to any mortgage. I'm happy to say that your loan has been approved...",
"time":1728862792936,
"endTime":1728862811816,
"secondsFromStart":18.38,
"duration":15119.998046875
},
{
"role":"bot",
"message":"Alex Dieuet.",
"time":1728862813506,
"endTime":1728862814246.002,
"secondsFromStart":38.95,
"duration":740.001953125,
"source":""
},
{
"role":"user",
"message":"And the email address, please?",
"time":1728862815716,
"endTime":1728862818346,
"secondsFromStart":41.16,
"duration":2229.9970703125
},
{
"role":"bot",
"message":"Um, why do you need that?",
"time":1728862819406,
"endTime":1728862820846,
"secondsFromStart":44.85,
"duration":1440,
"source":""
},
{
"role":"user",
"message":"I just need it for verification.",
"time":1728862821776,
"endTime":1728862823586,
"secondsFromStart":47.22,
"duration":1810
},
{
"role":"bot",
"message":"Fine. It's alex dot outlook dot com.",
"time":1728862824396,
"endTime":1728862826736,
"secondsFromStart":49.84,
"duration":2340,
"source":""
},
{
"role":"user",
"message":"Okay. Great. And your",
"time":1728862828056,
"endTime":1728862829836,
"secondsFromStart":53.5,
"duration":1780
},
{
"role":"bot",
"message":"Yeah.",
"time":1728862829276,
"endTime":1728862829776,
"secondsFromStart":54.72,
"duration":500,
"source":""
},
{
"role":"user",
"message":"physical mailing address as well, please?",
"time":1728862830406.002,
"endTime":1728862832186,
"secondsFromStart":55.850002,
"duration":1779.998046875
},
{
"role":"bot",
"message":"600 North McClure Court, Chicago,",
"time":1728862833036,
"endTime":1728862835056,
"secondsFromStart":58.48,
"duration":2020,
"source":""
},
{
"role":"user",
"message":"Great. That's it. Okay.",
"time":1728862836466,
"endTime":1728862838346,
"secondsFromStart":61.91,
"duration":1780
},
{
"toolCalls":[
{
"id":"call_8VwgRTTlTgFhoIFScCy",
"type":"function",
"function":{
"name":"endCall",
"arguments":"{}"
}
}
],
"role":"tool_calls",
"message":"",
"time":1728862838338,
"secondsFromStart":62.614
},
{
"role":"tool_call_result",
"time":1728862839057,
"secondsFromStart":63.333,
"name":"endCall",
"result":"Success.",
"toolCallId":"call_8VwgRTTlD2084TgFhoIFScCy"
}
],
"recordingUrl":"https://example.com/audio/recording.wav",
"stereoRecordingUrl":"https://example.com/audio/stereo-recording.wav",
"call":{
"id":"df5832e8-2ea6-4ae4-8dcd-7771b69de4c8",
"orgId":"08f74a93-34a1-4734-ad0d-009eea71d139",
"createdAt":"2024-10-13T23:39:34.017Z",
"updatedAt":"2024-10-13T23:39:34.017Z",
"type":"webCall",
"monitor":{
"listenUrl":"wss://aws-us-west-2-production3-phone-call-websocket.vapi.ai/2ea6-4ae4-8dcd-7771b69de4c8/listen",
"controlUrl":"https://aws-us-west-2-production3-phone-call-websocket.vapi.ai/2ea6-4ae4-8dcd-7771b69de4c8/control"
},
"webCallUrl":"https://vapi.daily.co/iBpUS5C5b0",
"status":"queued",
"assistant":{
"name":"Kastle - Frustrated Dutch",
"transcriber":{
"provider":"deepgram",
"model":"nova-2",
"language":"en"
},
"model":{
"model":"gpt-4o",
"temperature":0,
"messages":[
{
"content":"<Personality>\nYou are a middle aged man from New York with a strong French accent</Personality>",
"role":"system"
}
],
"emotionRecognitionEnabled":true,
"provider":"openai"
},
"voice":{
"fillerInjectionEnabled":false,
"inputMinCharacters":5,
"provider":"11labs",
"voiceId":"MZHabtAqfFbZ9iS",
"stability":0.5,
"similarityBoost":0.75
},
"endCallFunctionEnabled":true,
"clientMessages":[
"transcript",
"hang",
"function-call",
"speech-update",
"metadata",
"transfer-update",
"conversation-update"
],
"serverMessages":[
"end-of-call-report",
"status-update",
"hang",
"function-call"
],
"silenceTimeoutSeconds":99,
"maxDurationSeconds":600,
"parentId":"8a68-4e20-bd0e-d042ca56f9cc",
"serverUrl":"https://example.com/process",
"backgroundSound":"office",
"backchannelingEnabled":true,
"backgroundDenoisingEnabled":false,
"startSpeakingPlan":{
"smartEndpointingEnabled":true
},
"stopSpeakingPlan":{
"numWords":2
}
},
"assistantOverrides":{
"clientMessages":[
"transfer-update"
]
}
},
"assistant":{
"name":"Kastle - Frustrated Dutch",
"transcriber":{
"provider":"deepgram",
"model":"nova-2",
"language":"en"
},
"model":{
"model":"gpt-4o",
"temperature":0,
"messages":[
{
"content":"<Personality>\nYou are a middle aged man from New York with a strong French accent</Personality>",
"role":"system"
}
],
"emotionRecognitionEnabled":true,
"provider":"openai"
},
"voice":{
"fillerInjectionEnabled":false,
"inputMinCharacters":5,
"provider":"11labs",
"voiceId":"MZHabtAqfFWWdxrbZ9iS",
"stability":0.5,
"similarityBoost":0.75
},
"endCallFunctionEnabled":true,
"clientMessages":[
"transcript",
"hang",
"function-call",
"speech-update",
"metadata",
"transfer-update",
"conversation-update"
],
"serverMessages":[
"end-of-call-report",
"status-update",
"hang",
"function-call"
],
"silenceTimeoutSeconds":99,
"maxDurationSeconds":600,
"parentId":"8a68-4e20-bd0e-d042ca56f9cc",
"serverUrl":"https://example.com/process/",
"backgroundSound":"office",
"backchannelingEnabled":true,
"backgroundDenoisingEnabled":false,
"startSpeakingPlan":{
"smartEndpointingEnabled":true
},
"stopSpeakingPlan":{
"numWords":2
}
}
}
}