Send downpipes alerts to Grafana IRM
Grafana IRM is Grafana’s incident and on-call product, and the current home for what used to be Grafana OnCall. The OnCall OSS project entered maintenance and was archived in 2026, so a new setup should target Grafana IRM. There is no dedicated Grafana channel here; you add a generic webhook channel and map downpipes’ event JSON to Grafana IRM’s fields with a documented recipe.
What you need
- A Grafana IRM account where you can add a Formatted Webhook integration and copy its URL.
- Access to the downpipes console with the notify-config capability (Operator, Approver or Owner) to add and test the channel.
Set it up
- In Grafana IRM, add a Formatted Webhook integration and copy the URL it gives you.
- In the downpipes console, open Notifications, choose Add a channel and pick Webhook (generic HTTPS POST). Adding a channel needs the notify-config capability, so an Operator, Approver or Owner can add one.
- Paste the Grafana URL into the HTTPS URL field. It must be https and carry no embedded credentials. Name the channel and save it, then a rule routes events to it.
- In Grafana IRM’s Formatted Webhook template, map downpipes’
downpipe-event-v1body to Grafana’s fields: setalert_uidfrom a stable field such as the downpipe id,titleandmessagefrom the detail, andstatetoalertingorok. - Choose Test on the channel to confirm delivery without sending real alert content, then check the alert group appeared in Grafana IRM.
Good to know
- alert_uid groups and resolves. Grafana IRM resolves an alert group when it receives a
stateofokon the samealert_uid, so keepalert_uidstable per downpipe. Derivestatefrom the event and severity in your template, because a recovery arrives as an ordinary event on the generic webhook rather than a dedicated resolve. - Confirm the current recipe in Grafana. The Formatted Webhook fields are Grafana’s to define and can change between versions, so check the field names in your Grafana IRM console rather than assuming them. downpipes’ side is just the
downpipe-event-v1JSON; the translation is yours.
Last updated .