end-of-call-report payload and turns its transcript into a conversation with events for each caller and assistant exchange. Vapi already provides the transcript, so Agnost AI does not run speech-to-text again. Internal Vapi function calls are also captured as nested tool events.
Configure the webhook
Configure the Vapi assistant or phone number server with:Required data
The report must contain:message.typeequal toend-of-call-report.- A stable call ID in
message.call.id. - The caller number in
message.call.customer.numberormessage.customer.number. - Structured turns in
message.artifact.messages, or a transcript inmessage.artifact.transcriptormessage.transcript.
AI, Assistant, and Bot transcript labels map to the agent; User, Customer, and Caller map to the user.
Repeated deliveries map to the same conversation but can duplicate its events. Avoid manually replaying a successful report; retry only reports that received a non-2xx response.
Internal tool calls
Whenmessage.artifact.messages or message.artifact.messagesOpenAIFormatted contains a Vapi function call, Agnost AI keeps the existing synthetic TOOL CALL: <name> agent event and stores the exact function call beneath it as a child tool event. The child records the Vapi tool name, arguments, result, success state, source call ID and type, timestamp, and measured call-to-result latency. Calls from the two Vapi message representations are correlated by tool-call ID rather than captured twice.
Tool arguments and results can contain sensitive application data. Only return fields that are appropriate to retain in your Agnost AI organization; redact credentials and secrets in the Vapi tool implementation before they enter the end-of-call report.
Response
startedAt value.
Troubleshooting
422for a missing header: addX-Org-Idto the Vapi server configuration or forwarded request.400for the organization ID: confirmX-Org-Idis a valid UUID.400for the event type: enableend-of-call-reportin Vapi’s server messages.400for identity: ensuremessage.call.idand the caller number are present.422for an empty transcript: ensure Vapi transcript artifacts are enabled for the call.
Next steps
- Conversations: review complete Vapi calls.
- Events: inspect each caller and assistant exchange.
- Intents: understand why callers contacted the agent.