Set up generic webhook ingestion (Nagios, Zabbix, anything)
Push alerts into HowlOps from any tool that can send an HTTP POST — Nagios, Zabbix, Sensu, Uptime Kuma, custom scripts.
What you will configure
- Create a generic webhook integration in HowlOps and copy its URL
- POST a small JSON body when your tool fires (and again to resolve)
Time: ~5 minutes · Requires: any plan, including Free On-call — external alert ingestion is free. Works with any tool that can run a notification command or call a webhook.
Step 1 — Create the webhook integration
- In HowlOps go to Settings → Integrations.
- Add an integration of type Generic Webhook.
- Copy the URL:
https://api.howlops.com/api/v1/webhooks/incoming/<your-token>
Step 2 — POST an alert when something fires
curl -X POST https://api.howlops.com/api/v1/webhooks/incoming/<your-token> \
-H 'Content-Type: application/json' \
-d '{
"title": "Disk /var critical on db-prod-01",
"severity": "critical",
"state": "alerting",
"message": "DISK CRITICAL - /var 96% used",
"fingerprint": "db-prod-01-var"
}'
Recognised fields (all flexible, pick what your tool emits):
| Field | Purpose |
|---|---|
title / name / alert_name | incident title |
severity / priority / level | maps to critical / warning / info (synonyms like disaster, high, error, P1 are understood) |
state / status | alerting (default) or resolved / ok to close |
message / description / output | incident details |
fingerprint / alias / dedup_key | stable key for dedup + auto-resolve (defaults to the title) |
Step 3 — Resolve when it clears
Send the same fingerprint with a resolved state to auto-close the incident:
curl -X POST https://api.howlops.com/api/v1/webhooks/incoming/<your-token> \
-H 'Content-Type: application/json' \
-d '{"title":"Disk /var critical on db-prod-01","state":"resolved","fingerprint":"db-prod-01-var"}'
Wiring specific tools
- Nagios / Icinga — add a notification command that runs the
curlabove, passing$SERVICEOUTPUT$,$SERVICESTATE$(CRITICAL/OK → severity/state) and a stable$HOSTNAME$-$SERVICEDESC$fingerprint. - Zabbix — create a Webhook media type whose script POSTs this JSON, mapping
{TRIGGER.SEVERITY}(Disaster/High/Average/Warning/Information) toseverityand{EVENT.ID}tofingerprint. - Uptime Kuma / Sensu / custom scripts — point their webhook notifier at the URL with any of the fields above.
Troubleshooting
- 401 Unauthorized — the token in the URL is wrong; copy it again from Settings → Integrations.
- Duplicate incidents — send a stable
fingerprint; without one HowlOps dedups bytitle.
See also
Was this page helpful?