Uptime Kuma → WhatsApp, two fields, no plugin
Kuma's stock Webhook notification can already speak pingwa: a custom body and one header. Works on Uptime Kuma ≥ 1.23 (custom body shipped in 1.23; extra headers in 1.19). Text join to get a key first.
The recipe
Settings → Notifications → Webhook:
Post URL: https://pingwa.dev/v1/notify
Request Body: Custom Body
Body: {"text": "{{ msg }}"}
Additional Headers:
{"Authorization": "Bearer pw_YOUR_KEY",
"Content-Type": "application/json"}
That's it. {{ msg }} is Kuma's own alert line
("[MyServer] [🔴 Down] …"). Hit Test and your phone buzzes. Want more
detail? The template context also has {{ monitorJSON.name }} and
{{ heartbeatJSON.status }} (Liquid syntax). Verified 2026-07-23
live against Uptime Kuma 1.23.17 (docker): message delivered end-to-end.
The Content-Type header is not optional: without
it Kuma 1.x double-encodes the custom body and the API rejects it with
a 422.
Don't page yourself into the quota
The free plan carries 30 paid messages a month, and a
monitor that flaps can eat that in an hour. Keep Resend Notification if
Down X times at 0 (one ping per incident), set a sane Retries
count before a monitor counts as down, and attach the notification only to
monitors you'd get out of bed for. A 402 from pingwa tells you
exactly what ran out; a 429 means slow down (60/min).
Two-way, and the Apprise route
These alerts are one-way. When a script should act
(restart the box, rollback, scale), switch the send to POST /v1/ask
with buttons and approve from your phone. See the API docs.
Kuma also ships an Apprise notification type. If you already
run Apprise, use the pingwa Apprise recipe URL there
instead.
FAQ
Which Uptime Kuma version do I need?
Custom request body arrived in 1.23.0, additional headers in 1.19.0. Any 2.x works too. On older versions upgrade, or use the Apprise notification type with the Apprise recipe.
Why not a native Kuma provider?
The stock webhook already carries everything pingwa needs. A native provider would only save you pasting two fields. If you'd use one anyway, tell us and we'll weigh the PR.
Up AND down messages?
Kuma sends the webhook for both transitions; {{ msg }}
carries the 🔴/✅ marker. Each is one message, so pick monitors accordingly.
Scan the code and get instant access. It opens WhatsApp with “join” ready to send, and your API key comes straight back.
pingwa carries the ping over the official Meta Cloud API. Your own number stays out of it (why that matters). Alerts landing outside your 24h reply window are paid template sends; the free plan's 30/month covers a well-tended homelab.