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

# Alerts

> Threshold rules on your call metrics — delivered to email, Slack, or your webhooks the moment something slips.

Alert rules watch your organization's call metrics and notify you when
a threshold is crossed — success rate below 80% over the last day,
more than 500 calls in an hour, a test suite regression. Manage them
under **Settings → Organization → Alerts**
(`/dashboard/organization?tab=alerts`). Managing alert rules requires
an **admin** or **owner** role.

## Create a rule

Click **Create rule** and fill in:

| Field                             | Options                                                                       |
| --------------------------------- | ----------------------------------------------------------------------------- |
| **Metric**                        | Success rate · Failure rate · Average score · Call volume · Suite regressions |
| **Condition**                     | is less than · is at most · is greater than · is at least                     |
| **Threshold**                     | The number to compare against                                                 |
| **Window (hours)**                | How far back the metric is computed — 1 to 720 hours                          |
| **Email recipients**              | Comma-separated, up to 10 addresses                                           |
| **Slack incoming webhook URL**    | Optional — posts the alert message to a channel                               |
| **Cooldown (minutes)**            | Minimum quiet time between firings (default 60)                               |
| **Deliver to developer webhooks** | Also send an `alert.triggered` event to your webhook endpoints                |
| **Enable alert rule**             | Rules can be saved disabled and switched on later                             |

Example: *"Success rate **is less than** 80 over the last 24 hours"*
fires when graded calls in the trailing 24-hour window dip below an 80%
success rate.

<Note>
  **Failure rate counts more than "Unsuccessful" calls.** The alert metric
  treats every call that didn't reach a successful outcome — including calls
  with no conversation at all (immediate hang-ups, failed connections) — as a
  failure. The dashboard's **Unsuccessful** tile counts only calls graded
  `unsuccessful`. A failure-rate alert can therefore fire even when the
  dashboard tile shows a low number; that's expected, not a discrepancy.
</Note>

## How firing works

Rules are evaluated against the trailing window you configured. When
the condition is met, the rule fires **once** and then stays quiet for
its cooldown period, even if the metric remains in breach — so a bad
hour produces one page, not a page per evaluation. Each firing records
the metric value, threshold, and time.

## Delivery channels

A single rule can notify on all three channels at once:

* **Email** — a message to every listed recipient naming the rule,
  metric, value, threshold, and window.
* **Slack** — the same message posted via your Slack incoming webhook
  URL.
* **Developer webhooks** — an `alert.triggered` event delivered to your
  organization's [webhook endpoints](/webhooks/overview), for wiring
  alerts into PagerDuty, on-call tooling, or your own systems.

One channel failing never blocks the others.

## Manage rules

The Alerts tab lists every rule with its enabled/disabled state and
when it last triggered. Toggle rules on and off in place, **Edit** to
change any field, or delete rules you no longer need. Recent alert
activity is shown alongside so you can confirm a rule actually fires
the way you expect.

## Next steps

<CardGroup cols={2}>
  <Card title="Observability" icon="chart-line" href="/guides/observability">
    The dashboards behind the same metrics.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/webhooks/overview">
    Receive alert.triggered (and every other event) in your own systems.
  </Card>
</CardGroup>
