Docs / Alerting / Webhooks

Webhooks

Overview

Webhooks let external systems subscribe to MonsterOps events. Every significant action publishes to an in-process event bus (user.created, user.disabled, nas.created, …), and a webhook subscription forwards matching events to an HTTP endpoint you control — with HMAC-signed payloads so the receiver can verify authenticity. There's also a live SSE event stream and Graylog GELF forwarding.

Where things are

  • Subscriptions — each webhook: target URL, the event pattern it matches (user.*, nas.created, or * for everything), and its signing secret.
  • Test — send a test delivery to confirm the endpoint receives and verifies payloads.
  • Event stream (SSE) — a live tab showing events as they fire, for debugging what's on the bus.
  • GELF forwarding — send events to Graylog over GELF/UDP (see Integrations).

Common tasks

  • Wire up an endpoint — add a subscription with the URL and event pattern, copy the signing secret to your receiver, then Test it.
  • Verify signatures — on your receiver, compute the HMAC over the raw body with the shared secret and compare it to the signature header before trusting the payload.
  • Watch events live — open the SSE stream tab and trigger an action (e.g. disable a user) to see it arrive.

Problems you may hit

Deliveries aren't arriving

Confirm the endpoint is reachable from the MonsterOps host, returns a 2xx, and the event pattern matches (try * to catch everything while debugging). Use Test to isolate the endpoint from the event-matching.

  • Signature check fails on the receiver — you're hashing a re-serialized body, not the raw bytes; sign the exact received body with the shared secret.
  • GELF messages don't reach Graylog — wrong host/port, or UDP blocked in the path; see Integrations.