Overview
Every agent in Tuner can have a webhook URL, regardless of which provider. Configure it once in Agent Settings → Webhooks, and Tuner will deliver events to it as they happen. Tuner sends up to three types of events:| Event | When it’s sent | Available for |
|---|---|---|
call.analyzed | Tuner finishes analyzing a call | All providers |
alert.fired | A real-time alert triggers (with the Webhook channel enabled) | All providers |
call.ended | The original call payload from your provider, forwarded as-is | Vapi & Retell only |
Setup
Open your agent in Tuner
Select the agent from the sidebar, then open Agent Settings and go to the Webhooks tab.
Paste your webhook URL
Enter the endpoint that should receive events (for example, your n8n, Zapier, or custom server endpoint).

Event envelope
All events share the same envelope, so a single handler can process everything:event: the event type (call.analyzed,alert.fired, orcall.ended).event_id: a unique ID for this delivery. Use it to deduplicate if your endpoint receives a retry.created_at: ISO 8601 timestamp of when the event was emitted.payload: the event-specific data.
Event types
call.analyzed: call analysis complete
Sent for all providers once Tuner has finished analyzing a call. It includes a direct link to the call in Tuner, so you can route it into ticketing systems, QA queues, or internal dashboards.
alert.fired: a real-time alert triggered
Sent for all providers when a real-time alert with the Webhook notification channel enabled fires. The payload includes the alert definition, the threshold and time window that were breached, and the call that tipped it over: everything you need to page an on-call engineer or kick off an automated workflow.
call.ended: provider payload forwarding (Vapi & Retell only)
Vapi and Retell only support a single webhook URL per agent. When you connect one of these agents to Tuner, Tuner takes that webhook slot, which would normally break any automation you already had wired to it (an n8n workflow, a Zapier trigger, a custom server).
The call.ended event solves this: Tuner forwards the complete, unmodified payload your provider sends, wrapped in the standard envelope. Your existing automations keep working exactly as before, and you simply gain Tuner’s analysis on top.
Payload is unchanged. The
payload field contains the exact event structure Vapi or Retell sends, so existing handlers only need to read payload instead of the request body root.call.analyzed and alert.fired only.
Next steps
Configure Real-Time Alerts
Create alerts and route them to email and your webhook.
Connecting to Vapi
Connect your Vapi assistant to Tuner in minutes.
Connecting to Retell
Connect your Retell agent to Tuner in minutes.
Custom Integration
Integrate your custom voice AI stack with the Tuner API.