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.
Related¶
- Notifications — higher-level alerts with thresholds
- Integrations — Graylog GELF
- Automation — the webhook action
MonsterOps