> ## Documentation Index
> Fetch the complete documentation index at: https://www.bolna.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Check Bolna voice AI webhook delivery health

> See how many Bolna Voice AI webhook deliveries reached your server in the last 14 days, per agent or across all agents, and download the failed ones as a CSV.

Every time Bolna posts a call update to your [webhook URL](https://www.bolna.ai/docs/post-call/polling-call-status-webhooks), it records whether the delivery got through. Delivery health shows those results for the last 14 days, so you can tell whether your endpoint has been dropping events without digging through your own server logs.

A delivery counts as **delivered** when your endpoint answers with a `2xx` status. Anything else counts as **failed**: any other status code, a timeout, or a connection that couldn't be made.

## All agents: Analytics

Open **Analytics** under **Monitor** in the sidebar, then switch the view picker at the top from **Conversation data** to **Webhook delivery**.

![Analytics page with the view picker set to Webhook delivery, an All agents selector, a summary reading 99.3% delivered, 117 of 17,987 failed in the last 14 days, a stacked bar chart of daily deliveries with failures in red, a tooltip for 17 Oct showing 1,464 delivered and 38 failed (2.5%), and a Download failures button](https://mintcdn.com/bolna-54a2d4fe/IkG9AJWqq09o7ChH/images/webhooks/webhooks-page.png?fit=max\&auto=format\&n=IkG9AJWqq09o7ChH\&q=85\&s=99b3eac5d839a6511ab7e6328321f295)

The Webhook delivery view in Analytics across all agents, with the tooltip for one day

* **Agent selector:** leave it on **All agents** for your whole account, or pick one agent. The page URL changes to `/analytics/webhooks/<agent_id>`, so you can bookmark or share the view for one agent.
* **Summary:** the share of deliveries that got through, and how many failed out of the total.
* **Daily chart:** one bar per day, with failed deliveries in red on top. Hover a bar to see that day's delivered and failed counts.

If you've switched to a [sub-account](https://www.bolna.ai/docs/enterprise/sub-accounts.md), the page shows that sub-account's deliveries only.

## One agent: Delivery health

To check a single agent while you're editing it, open the agent, go to the [Extractions tab](https://www.bolna.ai/docs/agent-setup/analytics-tab.md) and click **Delivery health** on the **Webhook Configuration** card.

![Webhook Configuration card with a Delivery health button in the top-right corner, above the Webhook URL, Add headers, Trigger on statuses and Send test controls](https://mintcdn.com/bolna-54a2d4fe/IkG9AJWqq09o7ChH/images/webhooks/delivery-health-button.png?fit=max\&auto=format\&n=IkG9AJWqq09o7ChH\&q=85\&s=bc0838c5cfafad2f9b1657e85e059267)

Delivery health on the Webhook Configuration card

A panel opens with the same summary and chart for that agent.

![Webhook delivery health panel reading 99.4% delivered, 49 of 7,555 failed in the last 14 days, with a daily bar chart and a Download failures button](https://mintcdn.com/bolna-54a2d4fe/IkG9AJWqq09o7ChH/images/webhooks/delivery-health-sheet.png?fit=max\&auto=format\&n=IkG9AJWqq09o7ChH\&q=85\&s=72613819c5b6b297ea3b68c86fdb01b0)

The Delivery health panel for one agent

The button appears once the agent is saved.

## Download failed deliveries

When there are failures in the window, click **Download failures** to get them as a CSV. It covers whatever the view shows: all agents, or the one agent you picked.

| Column | What it holds |
| - | - |
| `created_at` | When the delivery was attempted, in UTC |
| `execution_id` | The call the update was for |
| `agent_id` | The agent that sent it |
| `webhook_event` | The event that was sent |
| `http_status` | The status code your endpoint returned. Empty when no response came back, for example on a timeout |
| `error` | Why the delivery failed, when Bolna has a reason |
| `webhook_url` | The URL the update was posted to |
| `total_latency_ms` | How long the delivery took, in milliseconds |

The file holds up to the 10,000 most recent failures. Header values you set under **Add headers** are never included.

To look at one failed call in detail, fetch its `execution_id` with the [debug bundle API](https://www.bolna.ai/docs/api-reference/executions/get_execution_debug.md). Its `logs` end with the call's webhook deliveries.

## What the numbers cover

* **The last 14 days, by UTC day.** Today is a partial day, and days with no deliveries show as empty bars.
* **Each delivery, not each call.** Bolna posts once per status change, so one call usually produces several deliveries. Use **Trigger on statuses** on the Webhook Configuration card to send fewer.
* **Only agents with a webhook URL.** An agent with no URL set sends nothing and has nothing to show.

## Fix failing deliveries

If failures keep coming, work through [My webhook never arrived](https://www.bolna.ai/docs/troubleshooting/webhook-not-received.md). The usual causes are a firewall that doesn't allow all three of Bolna's source IPs, an endpoint that isn't publicly reachable, and a handler that returns a non-`2xx` status or responds too slowly.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.