DOCS

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

  1. In HowlOps go to Settings → Integrations.
  2. Add an integration of type Generic Webhook.
  3. 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):

FieldPurpose
title / name / alert_nameincident title
severity / priority / levelmaps to critical / warning / info (synonyms like disaster, high, error, P1 are understood)
state / statusalerting (default) or resolved / ok to close
message / description / outputincident details
fingerprint / alias / dedup_keystable 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 curl above, 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) to severity and {EVENT.ID} to fingerprint.
  • 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 by title.

See also

Was this page helpful?