Integrations overview
How StatusOwl integrations work today: what fires, what's planned, and how to route alerts to the right channels.
StatusOwl integrations are channels — destinations you wire up once (Slack channel, on-call email, ntfy topic, custom webhook, etc.) and StatusOwl uses to notify your team. Every integration is a separate, independently-configured row in the dashboard; you can create as many as you need, route them at different audiences, and toggle each one on or off without touching the others.
Available integrations
- Email — plain-text alerts to one or more addresses. No OAuth or API key required.
- Discord — rich embeds posted to any Discord channel via an incoming webhook.
- Slack — formatted messages posted to any Slack channel via an incoming webhook.
- Microsoft Teams — adaptive message cards delivered via an Incoming Webhook connector (or the new Workflows model on Connectors-disabled tenants).
- ntfy — push notifications to ntfy.sh or a self-hosted ntfy server, with priority, tags, and optional auth token.
- Webhook — signed JSON payloads POSTed (or PUT) to any HTTPS endpoint you control. See Webhook payload signing.
Coming soon
SMS, phone-call escalation, and a native PagerDuty connector are on the roadmap. Until those ship, pipe StatusOwl through a webhook into your existing on-call tool.
What currently fires through an integration
Two event sources actually dispatch to your integrations today:
- Send Test (manual) — every integration has a Send Test button in the dashboard that immediately fires a real test notification. Use this to confirm routing, formatting, and delivery before relying on the integration in production.
- Watch Owl alert rules — when a host-metric rule (CPU, memory, disk, network, patches, offline detection) fires or resolves, StatusOwl dispatches to every integration the rule is routed to. This is the live alerting surface for Watch Owl and Dockman hosts today.
Monitor state-change dispatch is not yet wired
Each integration has notify_on_down, notify_on_up, and
notify_on_maintenance settings — and the dashboard exposes them in
the create / edit dialog — but no service currently dispatches
uptime-monitor state changes to integrations. Open monitors
(HTTP / TCP / ping / SSL / domain) record their state transitions
and drive auto-incidents on status pages, but the notification
fanout for those transitions is in development.
If you want to be alerted on uptime-monitor failures today, the recommended path is:
- Attach the monitor to a status page and enable auto-incidents so the public page reflects state transitions.
- For internal paging, install Watch Owl
on the same host and define a
host_offline_secondsalert rule — that path is live and routes to your configured integrations.
This page will be updated as soon as monitor state-change dispatch ships.
Configuring events on an integration
When you create an integration, you can pre-select which monitor events you want the integration to subscribe to:
- Monitor down — fired when a monitor crosses its failure threshold (dispatch in development; flag is persisted today).
- Monitor recovery — fired when a previously-down monitor passes again, with downtime duration (dispatch in development).
- Maintenance mode — fired when a monitor enters maintenance (dispatch in development).
These flags are wired end-to-end on the configuration side — the dashboard saves them, the API returns them, and they're ready for the dispatch service to consume the moment it ships. No data migration is needed when the dispatch path goes live.
Multiple integrations per type
There is no hard cap on integrations per type. Create one Discord webhook for the on-call channel and another for general engineering; create separate email integrations for internal alerts and customer-facing stakeholders. Each one has its own settings and on/off toggle.
For Watch Owl alert rules, each rule has an explicit integration list — pick one or more integrations per rule, route different metrics to different channels, and skip integrations that would just be noise.
Testing before you need them
Every integration has a Send Test button that fires a real delivery against the configured channel. Use it after every change: URL update, secret rotation, channel rename, on-call rotation handoff. A 30-second test today saves a missed page when an outage hits.
Permissions
Configuring integrations (create / edit / delete) requires the Owner, Admin, or Member role. The Billing and Viewer roles cannot modify integrations. See Roles & permissions for the full capability matrix.
See also
- Email, Discord, Slack, Microsoft Teams, ntfy, Webhook — per-channel setup.
- Webhook payload signing — HMAC-SHA256 signature reference and verification snippets.
- Watch Owl alert rules — the live rule engine that drives integration delivery today.