Grafana's alerting is great — until the part where "text me when something's on fire" means signing up for Twilio, paying per message, and letting a third party see every alert. Here's how to get Grafana alerts as SMS from your own phone and number instead. Works on any Grafana version, including Grafana Cloud, and needs no plugin.
What you need
- An Android phone with a SIM (this is what sends the texts).
- The SMSTunnel app on that phone, paired once.
- A Webhook contact point in Grafana.
The texts go out from your own number, so recipients see you, not a shortcode — and there's no per-message fee (the free tier is 25 texts/day, plenty for alerting).
1. Make a webhook address
In the SMSTunnel app/dashboard, create a webhook address and pick Grafana. The address holds the phone number(s) you want alerted (it can text up to 10). That's the URL you'll paste into Grafana.
2. Add the contact point in Grafana
Alerting → Contact points → + Add contact point, Integration Webhook (Grafana 12+: Alerts & IRM → Alerting → Notification configuration → Contact points). Paste the SMSTunnel address as the URL. No extra headers, default payload — SMSTunnel reads Grafana's own alert JSON. Hit Test (sends a real test alert), then Save and select it in your alert rules or notification policies.
That's it. A firing alert now looks like this on your phone:
[FIRING] DiskFull - Disk 95% full: /volume1 [RESOLVED] DiskFull - Disk 95% full: /volume1 Optional: full control over the message (Grafana 12+)
If you'd rather shape the text yourself, use an API key instead of the webhook address:
- URL:
https://smstunnel.io/api/v1/sms/send - Webhook settings → Extra Headers:
X-API-Key = <your SMSTunnel key> - Custom Payload → Payload Template, building the
to/messagefields from the alert.
Keep texts sane
Let Grafana's notification policies do the throttling: group wait, group interval, and repeat interval (a firing alert re-texts every repeat interval — 4h by default). Turn on "Disable resolved message" if you only want the firing ones.
Full guide (webhook + API key, with the exact payload template): https://smstunnel.io/integrations/grafana