Documentation Slack, Discord & Mattermost
All three channels work over incoming webhooks: create a webhook
URL on the messenger side and paste it into the integration —
nothing else is required.
Slack
-
In Slack: api.slack.com/apps →
your app (or Create New App) → Incoming Webhooks →
enable and press Add New Webhook to Workspace, pick a channel.
Copy the URL like
https://hooks.slack.com/services/….
-
In the dashboard: Integrations → New integration → Slack,
paste the URL, pick the events — done.
Messages arrive as mrkdwn: a bold headline plus the details
(check, project, time, reason):
*🔴 nightly backup is DOWN*
Check 'nightly backup' went down (no ping arrived in time).
Project: Main
Time: 2026-07-21 03:30:00 (UTC)
Discord
-
In Discord: channel settings → Integrations → Webhooks →
New Webhook → Copy Webhook URL
(
https://discord.com/api/webhooks/…).
-
In the dashboard: Integrations → New integration → Discord,
paste the URL.
Same format; the headline is bold via Discord markdown (**…**).
Mattermost
-
In Mattermost: Integrations → Incoming Webhooks → Add
Incoming Webhook, pick a channel, copy the URL.
Self-hosted instances over http are supported too.
-
In the dashboard: Integrations → New integration → Mattermost,
paste the URL.
Shared behaviour
- events — any subset of down / up / late; SSL alerts of HTTPS checks go to all enabled integrations of the project;
- tag filter (empty — all project checks);
- quiet hours — delivery is postponed until the window ends;
- reminders while a check stays down — at the configured intervals (hours, 1–168);
- message language matches the account owner's language;
- delivery: any 2xx is a success; otherwise up to 3 retries (10 s → 1 min → 5 min), everything visible in the integration journal.
If messages don't arrive
- The webhook was deleted or revoked. The journal shows
failed with the messenger's response code (e.g. "Slack webhook
responded 404"). Create a new webhook URL and update the
integration.
- Event subscription. Subscribed to down only — up/late
won't arrive; check the tag filter too.
- The integration is disabled. Check the badge on its card
and enable it.
- Status suppressed in the journal — the service detected
an outage of its own workers and temporarily suppressed down
alerts; up alerts keep flowing.
- Quiet hours — the delivery stays pending until the window ends.
Need an arbitrary body format or your own receiving service —
use the webhook channel with templates.