Generic webhook
Pinglet doesn’t need a plugin on the other side. Any tool that can send an HTTP POST — CI pipelines, cron jobs, Home Assistant, n8n, Node-RED, a shell script — can publish a push notification directly. This is the integration that always works, and it’s the one to reach for before looking for anything tool-specific.
The recipe
Point the tool’s webhook at your topic URL with three things:
| Setting | Value |
|---|---|
| URL | https://app.pinglet.co.uk/acme/alerts |
| Header | Authorization: Bearer pinglet_<your key> |
| Body | JSON, e.g. {"title":"Backup finished","message":"nightly OK"} |
Replace acme/alerts with your namespace and preferred topic name — the topic is created on the first publish. Subscribe to it in the Pinglet app via the share link from your dashboard (or from the publish response).
As a curl one-liner — the shape every webhook-capable tool reproduces with its own URL/headers/body fields:
curl -X POST https://app.pinglet.co.uk/acme/alerts \
-H "Authorization: Bearer $PINGLET_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Disk warning","message":"/dev/sda1 at 91%","level":"warning"}'
Only message is required. Add level (info, success, warning, error) to colour the card and priority: "urgent" to break through Do Not Disturb — the full set of fields is in Message anatomy.
When the tool controls its own payload
Some tools can call a URL but can’t customise the JSON body they send. For those, Pinglet translates the tool’s native payload server-side: add ?rewrite=<source> to the publish URL and no glue service is needed. Tool-specific guides:
| Tool | Rewrite | Status |
|---|---|---|
| Uptime Kuma | ?rewrite=uptimekuma |
Available |
| Prometheus Alertmanager | ?rewrite=alertmanager |
Available |
| Komodo | ?rewrite=komodo |
Coming soon — needs an upstream Komodo change |
A guide shows Coming soon when the tool itself can’t yet attach the Authorization header a publish needs, and getting there requires a change (a PR) on the tool’s side rather than on Pinglet’s. Pinglet’s server-side translation for those tools is already live.
If the tool can’t send headers
The Authorization header is the one hard requirement. If a tool can neither shape its body nor set a request header, you have two options until it gains header support:
- A reverse proxy you control (Caddy, nginx) that injects the
Authorizationheader and forwards to Pinglet — point the tool at the proxy. - A tiny relay — a few lines of serverless function or script that receives the tool’s webhook and re-posts it with the header.
What counts as “webhook-capable”
Checklist for whether any given tool can integrate with no work on Pinglet’s side:
- It can send an HTTP
POSTto a URL you choose. - It can attach a custom header (for the Bearer key).
- Either it lets you write the JSON body, or Pinglet has a
?rewrite=translator for its fixed payload.
If 1 and 2 hold but there’s no rewrite for its payload yet, get in touch — adding a translator is a small, self-contained change on Pinglet’s side.