Expanded inbound catalog
Connect popular monitoring, error-tracking, CI/CD, and status-page products to HowlOps.
HowlOps has dedicated inbound presets for sixteen additional monitoring, CI/CD, and
status-page products. Each preset creates a private URL under
/api/v1/webhooks/incoming/<token>, understands that product's alert format,
and keeps the same fingerprint across failure and recovery so the recovery
closes the incident it opened.
Setup matrix
| Product | Setup in the source | Recovery behavior |
|---|---|---|
| Better Stack | Outgoing webhook, incident_change, default body | resolved closes started/reopened by incident ID |
| New Relic | Workflow webhook using the template shown in the HowlOps drawer | Closed issue closes activated issue by issueId |
| Checkly | Webhook alert channel using the drawer template | ALERT_RECOVERY closes failure/degraded by CHECK_ID |
| Splunk | Native webhook alert action | Optional recovery search uses the same correlation_key and status=resolved |
| Sumo Logic | Webhook connection using the drawer template | Resolved states close by monitor Id |
| Zabbix | Webhook media type using the parameters and script in the drawer | {EVENT.VALUE} 0 closes value 1 by {EVENT.ID} |
| GitHub Actions | Repository webhook subscribed to Workflow runs | Next successful run closes a failed run for the same repository/workflow/branch |
| GitLab CI | Project webhook subscribed to Pipeline events | Next successful pipeline closes failure for the same project/pipeline/ref |
| updown.io | Add the generated URL under Settings → Webhooks | UP/valid/renewed events close matching availability and TLS incidents |
| Atlassian Statuspage | Subscribe to a public page using Webhook | Resolved incidents and operational components close their matching events |
| Cronitor | Add the generated URL under Integrations → Webhooks | Native RECOVERY closes ALERT by monitor key |
| Healthchecks.io | Use the JSON body copied from the HowlOps drawer for Down and Up | up closes down by check UUID |
| Rollbar | Project webhook rules for new/reopened/reactivated/resolved items | resolved_item closes by item ID |
| Bugsnag | Project webhook for new/reopened errors and state changes | A fixed/ignored/snoozed error closes by errorId |
| CircleCI | Project webhook subscribed to Workflow Completed | Next successful workflow closes failure for the same project/workflow |
| Vercel | Team webhook for deployment error/cancelled/succeeded | Success closes failure for the same project/target |
The setup drawer is the source of truth for the exact current payload template. Copy it as a whole: changing or omitting the ID field can prevent deduplication and auto-resolution.
Test without deploying
From a checkout of the branch:
bash scripts/test-integration-contracts.sh
This replays checked-in failure and recovery fixtures for every preset, including updown.io's array-shaped batch payload, without a database, Docker, network calls, or vendor credentials. For a real-account smoke test, expose a disposable local stack through a short-lived HTTPS tunnel, send one failure and one recovery, then remove the tunnel and rotate the generated integration token.
Payload validation
HowlOps rejects empty, malformed, oversized, and provider-incompatible payloads instead of creating a placeholder incident. JSON bodies are limited to 1 MiB. UptimeRobot form data and query-string payloads remain supported; JSON arrays are accepted for providers such as updown.io that batch events.
Was this page helpful?