Monitoring
Grafana Cloud Webhooks
Observability and alerting platform. Receive events for alert state changes, annotations, and dashboard updates.
Connecting Grafana Cloud to Hookbase
Create a source in Hookbase first — it gives you an ingest URL to paste into Grafana Cloud. Then:
- 1In Grafana go to Alerting → Contact points and click "+ Add contact point"
- 2Choose Webhook as the Integration and paste your Hookbase ingest URL
- 3Open Optional Webhook settings, paste the Authentication Header Credentials Hookbase generated for this source, and leave Authentication Header Scheme as "Bearer". Don't also set a Basic Authentication username or password
- 4To use HMAC instead: leave the Authentication Header fields empty, put the Hookbase secret in HMAC Signature Secret (keep HMAC Signature Header at its default), and switch this source to "grafana-hmac". If you also fill in HMAC Signature Timestamp Header, name it X-Grafana-Alerting-Signature-Timestamp and use "grafana-hmac-timestamped"
- 5Save the contact point and assign it to a notification policy
Signature verification
Set the source's provider to grafana and paste the signing secret. Every request is checked before the event is stored, and anything that fails is rejected rather than quietly recorded.
- Algorithm
- Bearer token by default (provider id "grafana"); optionally HMAC-SHA256 instead ("grafana-hmac" or "grafana-hmac-timestamped" — pick the one matching your webhook notifier's "include timestamp" toggle)
- Header
- Authorization
- Where to find the secret
- Grafana → Alerting → Contact points → Webhook → Optional Webhook settings → Authentication Header Credentials (Scheme: Bearer). Grafana turns on no auth by default. For HMAC instead, use HMAC Signature Secret and switch the source to grafana-hmac. If you also fill in the HMAC Signature Timestamp Header field with X-Grafana-Alerting-Signature-Timestamp, use grafana-hmac-timestamped instead.
Grafana Cloud event types
4 of the events people route most often. Hookbase accepts every event Grafana Cloud sends, whether or not it is listed here.
alerting
An alert transitioned to alerting state
ok
An alert returned to OK state
pending
An alert is pending evaluation
no_data
An alert received no data
What a Grafana Cloud webhook looks like
A alerting payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"receiver": "hookbase",
"status": "firing",
"alerts": [
{
"status": "firing",
"labels": {
"alertname": "HighErrorRate",
"severity": "critical",
"service": "api"
},
"annotations": {
"summary": "Error rate above 5%",
"description": "API error rate is 7.2% for the last 5 minutes"
},
"startsAt": "2024-01-15T10:30:00Z",
"endsAt": "0001-01-01T00:00:00Z",
"generatorURL": "https://grafana.example.com/alerting/grafana/abc123/view",
"fingerprint": "abc123def456",
"values": {
"A": 7.2
}
}
],
"groupLabels": {
"alertname": "HighErrorRate"
},
"commonLabels": {
"alertname": "HighErrorRate",
"severity": "critical"
},
"externalURL": "https://grafana.example.com/",
"version": "1",
"groupKey": "abc123",
"truncatedAlerts": 0,
"title": "[FIRING:1] HighErrorRate critical api",
"message": "Error rate above 5%"
}Start receiving Grafana Cloud webhooks
Create a source, paste the URL into Grafana Cloud, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free