Call Analysis Undefined
# support
i
The system is not returning the call analysis (success evaluation or call summary), causing all calls to be perceived as a failed case. This is not the first time we are posting about this. Would appreciate any help. Thanks call id: 0199fde5-fd63-7bb5-968e-d371bd281879
c
Hi there, Thank you for your message. Our team is currently out of the office. We operate Monday through Friday, from 9:00 AM to 8:00 PM Pacific Standard Time (PST). We’ll get back to you as soon as possible during our normal business hours. If your message is urgent, please mark it accordingly or include “URGENT” in the subject line, and we’ll do our best to respond promptly. Warm regards, Vapi Customer Support Team
v
Suggestion: Check that your assistant is configured with an
analysisPlan
and that your webhook endpoint is set up to receive the
end-of-call-report
message. In your assistant configuration, ensure you have:
Copy code
js
server: {
  url: "https://your-server.com",
  timeoutSeconds: 20
},
serverMessages: ["end-of-call-report", "status-update"],
analysisPlan: { enabled: true, ... }
After updating, test a call and verify in the Vapi dashboard under Call Logs that the analysis summary and success evaluation are present. For more details, see the [call analysis documentation](https://docs.vapi.ai/assistants/call-analysis.mdx). Sources: - [Call Analysis](https://docs.vapi.ai/assistants/call-analysis.mdx) - [Debugging voice agents](https://docs.vapi.ai/debugging.mdx) - [Call queue management with Twilio](https://docs.vapi.ai/calls/call-queue-management.mdx)
m
I am facing the same issue. My summary does not appear. It used to be there, but today it's empty and I haven't changed anything.
g
@Marcello @Ian Follow this instruction to have your issues fixed..
m
Where to enable analysisPlan?
@GIDEON
g
@Marcello Alright for the server messages try enabling “Transcript(final)” also and disable every single thing on the client messages and test to see if that works, after activating these features don’t reload the tab.. Test it again first lets see..
m
Okay so after turning off all client messages, and turning on Transcript (final) and end of call report (which was already there) it works! Thanks @GIDEON
Can you tell me what are the client messages responsible for?
And what essentially is the difference between summary in Structured Outputs and Call Analysis?
I'm not asking about structured data in call.analysis. I'm asking about the new feature Structured Outputs which are in 'Observe' Section. What is the difference between creating summary regularly in Analysis Segment in Assistant Configuration Panel vs. creating summary in Structured Outputs in 'Observe' Section? @GIDEON
s
@Marcello Can you paste here how you enabled transcript(final)? or @GIDEON How would i do that in the server sdk i am getting this suggestion from the types 'transcript[transcriptType="final"]' is that correct?
c
Hi Ian, To automatically summarize and evaluate calls, you may want to ensure the call analysis feature is properly set up. Here's how you can customize and verify it: 1. **Default Settings**: Call analysis automatically starts after a call ends, using the default prompts and schemas. 2. **Customization**: You can customize: - **Summary Prompt**: Override with your own text using
{"summaryPrompt": "Your custom text"}
. - **Structured Data Prompt/Schema**: Customize if specific data extraction is needed. - **Success Evaluation Prompt/Rubric**: Define call success criteria using scales like
NumericScale
or
Checklist
. For details, see [Call Analysis Documentation](https://docs.vapi.ai/assistants/call-analysis). 3. **Check Documentation**: Make sure your assistant’s
analysisPlan
is correctly configured. Incorrect configuration could prevent call analysis from being generated. If calls are completing without analysis data, checking your API requests for proper setup or any errors might provide further insights.
g
@Steyt Check the messaging sevtion on you vapi dashboard, click then scroll right to server messages, disable all variables aside end-of-call report then also enable transcript(final) from the search tag. https://cdn.discordapp.com/attachments/1429550733111459900/1430276156703379486/vapi6.png?ex=68f92ff9&is=68f7de79&hm=85b8b5b80c876ba26c96d28594932f29f3987f4996c8906805b67b6ff382be20&
s
I know it can be done via the dashboard but i meant from the server sdk in code
c
Hi Steyt, To update your assistant configuration directly through the Server SDK, you can follow this example:
Copy code
import { VapiClient } from '@vapi-ai/server-sdk';

const client = new VapiClient({
  token: process.env.VAPI_API_KEY!,
});

async function updateToMinimalMessages(assistantId: string) {
  try {
    console.log('Updating assistant to minimal server messages...');
    
    const assistant = await client.assistants.update(assistantId, {
      serverMessages: [
        'end-of-call-report',
        'transcript[transcriptType="final"]',
      ],
    });
    
    console.log('✓ Success! Server messages are now:');
    console.log('  - end-of-call-report (sent when call ends)');
    console.log('  - transcript[transcriptType="final"] (only final transcripts)');
    console.log('\nAll other server messages are disabled.');
    
    return assistant;
  } catch (error: any) {
    console.error('✗ Error updating assistant:', error.message);
    throw error;
  }
}

// Usage
const assistantId = 'your-assistant-id-here';
updateToMinimalMessages(assistantId);
Explanation This script: - Uses the Vapi Server SDK to update an existing assistant. - Restricts
serverMessages
to only: -
end-of-call-report
– triggered when a call completes. -
transcript[transcriptType="final"]
– sends only the finalized transcript, not partials. - Disables all other server messages to ensure minimal and stable webhook traffic. You can replace
"your-assistant-id-here"
with your assistant’s actual ID and run it once to apply the configuration.
s
Thank you!
How can i make sure the assistant i create via the sdk does not include client messages. It only worked after i removed those and published the changes manually. I have tried doing clientMessages: undefined and clientMessages: [] and both still set the 9+ client messages
This is still a problem for me. Only after publishing again an agent it then works
c
Just add the clientMessages array on the end of the const
Copy code
const assistant = await client.assistants.update(assistantId, {
      serverMessages: [
        'end-of-call-report',
        'transcript[transcriptType="final"]',
      ],  // dont forget the comma
      clientMessages: [], // add this thing too
    });
This will clear out the default client messages. Separately, our team is investigating the issue where assistants only work properly after a manual re-publish. We’ll update you as soon as we have more information on that.
s
Perfect thanks, looking forward to a solution
c
We’ll share an update as soon as more information becomes available. We appreciate your understanding and patience as we continue our investigation.
4 Views