Docs menu

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 Authorization header 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:

  1. It can send an HTTP POST to a URL you choose.
  2. It can attach a custom header (for the Bearer key).
  3. 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.