Call analysis
Overview
Call analysis automatically summarizes and evaluates every call for insights and quality control. As soon as a call ends, analysis is triggered in the background and typically completes within a few seconds. The system uses a large language model to:
- Summarize the call
- Extract structured data
- Evaluate call success
Results are attached to the call record and can be viewed in the call instance dashboard or retrieved via the API. You can customize the analysis using prompts and schemas in your assistant’s analysisPlan.
Recommended: use structured outputs
We recommend structured outputs over the analysisPlan for extracting data, summaries, and evaluations from your calls. They are more flexible and are where new development happens.
The analysisPlan configuration described later on this page still works and remains available for existing setups. If you’re configuring call analysis for the first time, start with structured outputs.
Extracting structured outputs
A structured output is a reusable definition you create once and attach to an assistant. After each call, Vapi runs it against the conversation and stores the result in call.artifact.structuredOutputs.
To extract structured outputs:
- Create a structured output with a JSON schema describing what to extract.
- Link it to an assistant through
artifactPlan.structuredOutputIds. - Read the results from
call.artifact.structuredOutputsafter the call ends.
For the complete walkthrough, see the structured outputs quickstart. For every field and schema option, see the structured outputs reference.
Coming from analysisPlan?
Each part of the analysisPlan has a structured outputs equivalent:
Customization
You can customize the following properties in your assistant’s analysisPlan:
Summary prompt
- Used to create a concise summary of the call, stored in
call.analysis.summary. - Default prompt:
- Customize:
- Disable:
Structured data prompt
- Extracts specific data from the call, stored in
call.analysis.structuredData. - Default prompt:
- Customize:
Structured data schema
- Defines the format of extracted data using JSON Schema.
- Customize:
Success evaluation prompt
- Used to determine if the call was successful, stored in
call.analysis.successEvaluation. - Default prompt:
- Customize:
- Disable:
Success evaluation rubric
- Defines the criteria for evaluating call success. Options:
NumericScale: 1 to 10DescriptiveScale: Excellent, Good, Fair, PoorChecklist: List of criteriaMatrix: Grid of criteria and performancePercentageScale: 0% to 100%LikertScale: Strongly Agree to Strongly DisagreeAutomaticRubric: Auto breakdown by criteriaPassFail: true/false
- Customize:
Combine prompts and rubrics
- You can combine prompts and rubrics for detailed instructions:
Results
- Once analysis is complete, results are attached to the call record.
- View results in the call instance dashboard or retrieve them via the API.
- Results include:
- Call summary
- Structured data
- Success evaluation and rubric
By customizing these properties, you can tailor call analysis to your needs and gain valuable insights from every call.