Monitoring lets you automatically track quality and detect issues across your voice AI agents. Instead of manually reviewing calls, you define monitors that continuously evaluate your call data against thresholds and alert you when something goes wrong.
Monitoring is Vapi’s automated quality and effectiveness system for voice AI. You create monitors that periodically evaluate call data using analytics queries (Insights), compare results against thresholds you define, and generate issues when those thresholds are exceeded. Your team receives alerts through notifiers, which are alert channels such as email, Slack, or webhooks, so you can investigate and resolve problems quickly.
In this quickstart, you will create a monitor that tracks error rates across your assistants and alerts you when the number of errors exceeds a threshold. You will then view an issue, analyze its root cause, and resolve it.
Define a monitor targeting specific assistants or all assistants. Choose a category and set the monitor to active.
Configure triggers with schedules or intervals, thresholds, and severity levels. Each trigger references an Insight that defines the analytics query to run.
On each scheduled interval, the trigger runs its Insight query against your call data and compares the result to the threshold you defined.
When a threshold is exceeded and a trigger fires, an issue is created with details about the affected calls, the trigger that fired, and the evaluation window.
Sign up at dashboard.vapi.ai
Get your API key from API Keys in the sidebar
You need existing assistants with call data for monitoring to detect issues. Monitors evaluate historical call data, so triggers will not fire until your assistants have processed calls.
Notifiers are alert channels (email, Slack, or webhook) that send notifications when issues are detected. You configure them as credentials in the Dashboard.
You can create multiple notifiers to send alerts to different channels depending on the severity of the issue.
Define a monitor that tracks error rates and alerts you when errors exceed a threshold.
The insightId references an Insight, which is an analytics query that defines
what data to evaluate. When you configure a monitor’s escalation thresholds in the
Dashboard, the Insight is created automatically. When using the API, you need to
create the Insight first and reference its ID here.
View, edit, and delete all your monitors from the Monitors page in the Dashboard sidebar (under Observe).
Via the API:
GET /monitoring/monitor — list all monitorsPATCH /monitoring/monitor/:id — update a monitor’s targets, triggers, or thresholdsDELETE /monitoring/monitor/:id — remove a monitorSetting "targets": "*" monitors all current and future assistants in your organization. Any assistant created after the monitor is set up is automatically included.
To monitor only specific assistants, pass an array of assistant IDs using the targets array. The id field is the assistant ID — the UUID you see in the Dashboard or get from GET /assistant.
Instead of an interval, you can use a calendar schedule for more precise control:
This trigger evaluates at 9:00 AM and 5:00 PM on weekdays.
When a threshold is exceeded and a trigger fires, an issue is created. You can view and manage issues in the Dashboard or via the API.
Use AI-powered root cause analysis to understand why an issue occurred and get actionable suggestions for fixing it.
Analysis results are cached for 1 hour. Subsequent requests within that window return the cached result immediately.
Use the callId values from the issue’s calls array to review specific call
logs and recordings for deeper investigation. Each call ID links directly to the
call details in your Dashboard.
After investigating and fixing the underlying problem, acknowledge and resolve the issue to track your team’s response. Resolve an issue once you’ve deployed a fix and confirmed the problem no longer recurs — this signals to your team that the root cause has been addressed. Acknowledgment and resolution timestamps help measure your team’s incident response times.
Issues are a single shared resource. Status changes made in the Dashboard are immediately reflected in API responses, and vice versa. Your team can freely use both without conflicts.
Track acknowledgment and resolution times to measure your team’s incident response performance over time.
If an alert shows a "failure" status in the issue’s alerts array, the
notification delivery failed. Check your notifier configuration and ensure the
destination (email, Slack webhook, URL) is reachable.
Configure schedule-based triggers, multi-threshold monitors, and compliance monitoring
Use structured outputs with effectiveness and compliance monitors
Visualize monitoring data and call metrics on dashboards
Test your assistants before deployment with automated evaluations
Need assistance? We’re here to help: