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

# Prometheus Alertmanager alerts

> Send Alertmanager webhook v4 notifications to Squasher incidents.

The Prometheus Alertmanager connector accepts the standard webhook v4 payload. It
splits a batch into individual alert lifecycles and uses each alert's `fingerprint`
as its stable correlation key.

## Create the connector

Create a **Prometheus Alertmanager** source under **Settings → Integrations**. Save
the returned endpoint and secret; the secret is shown only at creation or rotation.

## Configure Alertmanager

Add a receiver and route to `alertmanager.yml`. Keep `send_resolved: true` so
Squasher can resolve incidents.

```yaml theme={null}
route:
  receiver: squasher

receivers:
  - name: squasher
    webhook_configs:
      - url: "<setup.endpoint>"
        send_resolved: true
        http_config:
          authorization:
            type: Bearer
            credentials: "<setup.secret>"
```

Validate and reload the configuration:

```bash theme={null}
amtool check-config alertmanager.yml
curl --fail-with-body -X POST http://localhost:9093/-/reload
```

Place the receiver on a narrower route instead when only selected alerts should
reach Squasher.

## Incident behavior

* Every item in `alerts` is handled independently, even when the webhook groups
  several alerts.
* `fingerprint` is the stable alert key. Repeated firing notifications update the
  existing incident.
* An alert-level `resolved` status resolves the matching incident.
* `labels.alertname` supplies the title when available. Labels, annotations,
  generator links, start time, and end time remain available for triage.
* `truncatedAlerts` indicates that Alertmanager omitted alerts from the batch. Set
  `max_alerts: 0` unless you intentionally limit webhook batches.

## Test and troubleshoot

Send a temporary Prometheus alert through the route and let it recover. Confirm that
one incident opens and the same incident resolves. If firing arrives but recovery
does not, check `send_resolved`. A `401` response means the bearer credential does
not match; rotate it and update `alertmanager.yml` together.

Related: [Inbound alert connectors](/integrations/alert-connectors),
[Alert Connectors API](/api-reference/alert-connectors).
