Skip to main content
After a call ends, OSVI can run the transcript through an LLM and turn the conversation into structured results: a summary, the specific data points you asked for, tags, and callback detection — then deliver all of it to your webhook or a Google Sheet. Everything here is configured per agent on the Call Analysis tab.
Analysis runs only for calls that were answered and produced a transcript (call_status: picked), and only when post-call analysis is enabled on the agent.

Analysis model and prompt

  • LLM model — choose the provider and model used for analysis (OpenAI, Azure OpenAI, or Claude). This is independent of the model the agent uses live on the call.
  • Analysis prompt — instructions for the analysis pass: what the summary should focus on, what counts as a successful call, anything domain-specific the model should pay attention to.

Data extraction

Define the fields you want pulled out of every conversation. For each field you set:
PropertyDescription
NameThe key it appears under in results (e.g. email, preferred_slot).
Typetext, number, boolean, or date.
HintA description telling the model what to look for.
RequiredWhether the field must be filled for the extraction to count as complete.
Extracted values appear on each call’s Analysis tab in Conversations, in webhook payloads under data_capture, and in CSV exports.

Output schema

Beyond flat fields, you can define a custom output schema — a JSON shape the analysis must produce. Use simple mode for a fixed structure, or conditional mode when the shape depends on how the call went (e.g. an appointment object only when one was booked). The result is delivered as structured_output in webhooks.

Call tags

Define tags (e.g. interested, wrong-number, escalation) and the analysis pass applies the matching ones to each call. Tags show up as a filter in Conversations, so they’re the fastest way to slice call outcomes without reading transcripts.

Callbacks

Enable callback detection and the analysis pass watches for moments where the caller asked to be called back (“call me after 6pm”). You tune the detection prompt; when a callback is detected, OSVI schedules the follow-up call accordingly.

Do Not Disturb

Maintain a per-agent DND list of numbers that must not be called. Numbers on the list are skipped automatically by campaigns, and you can review the list from this tab. Callers who opt out during a conversation can be added so they’re never dialled again.

Integrations — getting results out

Webhooks

Send analysis results to any HTTP endpoint you control. Each agent can have multiple webhook integrations; each fires independently after every analysed call. You control the method, URL (with {{placeholder}} support), headers, and body — either auto mode (toggle data sections on/off) or a fully custom JSON template. The complete payload contract, template expression reference, and delivery semantics are documented in the post-call webhook reference.

Google Sheets

Append a row to a spreadsheet after every analysed call — connect your Google account, pick the spreadsheet and sheet, and map analysis fields to columns. Useful when the destination is a human reviewing outcomes rather than a system.

Integration logs

Every delivery attempt — payload, response status, response body — is recorded in Integration Logs on this tab. Failed deliveries can be retried from here, individually or in bulk, and a Test button sends a sample payload so you can verify your endpoint before going live.
Start with the webhook in auto mode and log what arrives. Once you’ve seen a few real payloads, tighten it to a custom template with exactly the fields your system needs.