Debugging voice agents

Learn to identify, diagnose, and fix common issues with your voice assistants

Overview

Voice agents involve multiple AI systems working together—speech recognition, language models, and voice synthesis. When something goes wrong, systematic debugging helps you quickly identify and fix the root cause.

Most common issues fall into these categories:

Speech & Understanding
  • Agent doesn’t understand user input correctly
  • Responses are inappropriate or inconsistent
  • Agent sounds robotic or unnatural
Technical & Integration
  • Call quality issues or audio problems
  • Tool integrations failing or returning errors
  • Unexpected behavior or configuration errors

Quick diagnostics

Start with these immediate checks before diving deeper:

1

Test in dashboard

Test your voice agent directly in the dashboard:

Assistants

Click “Talk to Assistant” to test

Benefits:

  • Eliminates phone network variables
  • Provides real-time transcript view
  • Shows tool execution results immediately
4

Verify provider status

Check if AI service providers are experiencing issues:

Core Services:

Provider Status Pages:

Dashboard debugging resources

The Vapi dashboard provides powerful debugging features to help you identify and fix issues quickly:

Call logs

Open Logs → Calls to:

  • Review available call transcripts
  • Check call duration and completion status
  • Identify where calls failed or ended unexpectedly
  • See tool execution results and errors
  • Analyze conversation flow

API request logs

Open Logs → API to:

  • Inspect logged API requests and responses
  • Review recorded 401 and 403 responses
  • Verify request payloads and response codes
  • Debug integrations that call the Vapi API

Webhook logs

Open Logs → Webhooks to:

  • Verify logged webhook deliveries to your server
  • Check server response codes and timing
  • Debug webhook authentication issues
  • Monitor event delivery failures

Use the Vapi CLI to forward webhooks to your local development server:

# Terminal 1: Create tunnel (e.g., with ngrok)
ngrok http 4242
# Terminal 2: Forward webhooks
vapi listen --forward-to localhost:3000/webhook

vapi listen is a local forwarder that requires a separate tunneling service. Update your webhook URLs in Vapi to use the tunnel’s public URL. Learn more →

Simulations and Evals

Use Simulations to reproduce a problem across a complete conversation and check the final outcome. Use Evals to isolate a specific decision, such as choosing a tool, asking for missing information, or escalating the call.

See testing voice agents for guidance on choosing a test and turning production failures into regression coverage.

Tool testing

The Dashboard can test API request, function, and Model Context Protocol (MCP) tools. To test one from Tools:

  • Select the tool.
  • Select Test.
  • Configure and run the test in the panel.
  • Review the response and any error details.

Speech and language issues

ProblemSymptomsSolution
Transcription accuracyIncorrect words in transcripts, missing words/phrases, poor performance with accentsSwitch to more accurate transcriber.
Intent recognitionAgent responds to wrong intent, fails to extract variablesMake the system prompt more specific; use clear enum values; adjust the temperature to ensure consistent outputs
Response qualityDifferent responses to identical inputs, agent forgets context, doesn’t follow instructionsReview system prompt specificity; check model configuration; adjust temperature to achieve consistency

Debug steps for response quality:

  1. Review system prompt - Navigate to your assistant in the dashboard and check the system prompt specificity
  2. Check model configuration - Scroll down to Model section and verify:
    • You’re using an appropriate model (e.g., gpt-4o)
    • Max Tokens is sufficient for response length
    • Necessary tools are enabled and configured correctly
Response IssueSolution
Responses too longAdd “Keep responses under X words” to system prompt
Robotic speechSwitch to a different voice provider
Forgetting contextUse models with larger context windows
Wrong informationCheck tool outputs and knowledge base accuracy in call logs

Tool and variable debugging

Problem TypeIssueSolution
Tool executionTools failing, HTTP errors, parameter issuesOpen Logs → Calls and check the Logs tab. For API request, function, and MCP tools, use Test, then validate the configuration.
Variable extractionVariables not extracted, wrong values, missing dataBe specific in variable descriptions, use distinct enum values, add validation prompts

Variable extraction details:

ProblemCauseSolution
Variables not extractedUnclear descriptionBe specific in variable descriptions: “Customer’s 10-digit phone number”
Wrong variable valuesAmbiguous enum optionsUse distinct enum values: “schedule”, “cancel”, “reschedule”
Missing required variablesUser didn’t provide infoAdd validation prompts to request missing data

Common error patterns

Error PatternLikely CauseQuick Fix
Agent misinterpreting speechSpeech recognition issueCheck transcriber model, add custom keyterms
Irrelevant responsesPoor prompt engineeringBe more specific in system prompt
Call drops immediatelyConfiguration errorCheck all required fields in assistant settings
Tool errorsAPI integration issueUse Test for API request, function, and MCP tools, then verify endpoint URLs.
Long silencesModel processing delayUse faster models or reduce response length

For a complete list of error codes and what they mean, see Call end reasons. To diagnose a failed call by symptom (e.g., “call dropped mid-conversation” or “assistant went silent”), see Troubleshoot call errors.

Getting help

When you’re stuck:

Before asking for help:

  • Include the call ID and timestamp from Logs → Calls
  • Describe expected vs. actual behavior
  • Share relevant configuration (without API keys)
  • Include error messages from dashboard logs