Grafana's unified alerting can send alerts to Edesy OnCall through a webhook contact point. Firing alerts open an incident that calls your team; resolved alerts close it.
1. Create an alert webhook monitor#
In OnCall, go to Monitors → New, choose Alert webhook and pick an escalation policy. Copy the URL from the monitor page:
https://oncall.edesy.in/ingest/<token>
2. Add the contact point#
In Grafana: Alerting → Contact points → Add contact point. Set Integration to Webhook, paste the URL and keep the method POST. Save, then route your notification policy (or a nested policy for critical alerts) to this contact point.
Or provision it:
# Grafana provisioning (alerting/contact-points.yaml)
apiVersion: 1
contactPoints:
- orgId: 1
name: Edesy OnCall
receivers:
- uid: edesy-oncall
type: webhook
settings:
url: https://oncall.edesy.in/ingest/<token>
httpMethod: POST
Use the contact point's Test button to check delivery.
How alerts are mapped#
OnCall recognises Grafana's payload automatically (an alerts array together with orgId, dashboardURL or panelURL). Grafana's format extends Alertmanager's, so the mapping is the same:
| OnCall field | Taken from |
|---|---|
| Firing or resolved | Each alert's status |
| Dedup key | fingerprint, or else the alertname, instance and job labels |
| Title (read on the call) | annotations.summary, else the alertname label |
| Message | annotations.description, else annotations.message, else the instance label |
Add a Summary to each alert rule. It is what the on-call person hears on the phone, so keep it short: "Payments DB disk above 90%".
Responses and limits#
A good delivery returns 202 with {"data":{"accepted":N}}. A body that isn't JSON or has no alerts returns 400 invalid_payload, and an unknown URL returns 404. Bodies up to 1 MB and 120 requests a minute per IP are accepted. Add ?format=grafana to force the parser.
FAQ#
Does Grafana's test notification call my team? A test notification is a firing alert, so it opens an incident and runs the policy. Point the test at a policy with just yourself in it the first time.
Can I send only critical alerts to OnCall?
Yes. Use a nested notification policy that matches a label such as severity=critical and sends to the Edesy OnCall contact point.
Do resolved alerts close the incident? Yes. Grafana sends resolved notifications by default; keep them on.
See also: Prometheus Alertmanager, Escalation Policies and the Grafana phone call alerts page.