docs

Discord

Post uptime, endpoint alert and exception notifications to a Discord channel through a channel webhook.

The Discord integration posts Unhandled notifications into a Discord text channel. It is a notification channel backed by a Discord channel webhook: Unhandled sends embeds, and there is no bot to invite and nothing to click back. Use it for monitor outages, endpoint alerts and summaries of new and regressed exceptions.

Create the webhook in Discord

In your Discord server's settings, open Integrations, create a webhook, pick the channel it posts to and copy its URL. It looks like https://discord.com/api/webhooks/....

Add the channel in Unhandled

You need to be an organization admin.

  1. Open the organization's Integrations settings (/o/:org/settings/integrations) and click Add channel under Notification channels.
  2. Choose Discord as the type and give it a name, up to 80 characters, such as #incidents.
  3. Paste the URL into Webhook URL.
  4. Optionally tick Uptime monitors, Exceptions and Only for production environments.
  5. Click Send test. A gray "Test notification" embed should appear in Discord, and Unhandled shows the HTTP result.
  6. Click Add channel.

The URL is stored encrypted and never shown again; the channel page shows only a short hint. Pasting a new URL on the channel page updates every alert, monitor and rule that uses the channel. The URL must be https, resolve to a public address, and contain no credentials or #fragment. Unhandled does not check that it points at Discord, so run Send test after every change.

Choose what posts here

NotificationHow to route it to this channel
Monitor down and recoveredTick Uptime monitors. Every uptime monitor in the organization then posts here
Exception summariesTick Exceptions for projects without a matching rule, or add a rule on the Exceptions tab of the project's Alerts page (/o/:org/projects/:project/alerts/exceptions)
Endpoint alertsSelect the channel in the alert itself; alerts never use defaults. See Alerts

Only for production environments limits the defaults to production monitors and exceptions. An exception rule that mutes Discord for a service or environment silences only Discord channels; Slack and webhook channels keep their routing. See Notifications for how rules match.

Messages

Each notification is one embed. Its title names the event, its description holds the details followed by Markdown links, and its color tells you the state at a glance.

EventTitleColorDetails
Monitor downMonitor Down: <monitor>redThe URL, the failure type (timeout, dns, connection, tls, http, ...), the environment, Open monitor link
Monitor recoveredMonitor Recovered: <monitor>greenThe URL, total downtime, Open monitor link
Alert firingAlert firing: <alert>redCurrent value and threshold, requests in the window, endpoint, service and environment, Endpoint, Slowest traces and Alert links
Alert resolvedAlert resolved: <alert>greenPeak value and threshold, resolve reason, firing duration, the same links
Alert reminderAlert still firing: <alert>redLatest value and threshold, when it started firing, endpoint, service and environment, Endpoint and Alert links
Alert errorAlert can't be evaluated: <alert>amberHow many evaluations failed, project and environment, Alert link
Exception summary<n> new or regressed issues in <organization>amberOne line per issue tagged [new] or [regressed] with project, environment and link
TestTest notificationgrayThe organization the channel belongs to

Titles are cut at 256 characters and descriptions at 4,096. Exception summaries collect issues for 60 seconds and list up to 10, with an "and N more" line for the rest. Monitor and alert messages that arrive within 20 seconds of each other are posted as one embed titled <n> notifications: <counts>, with one line and link per event, up to 25 per embed. It is red when anything in it fired or went down, green otherwise.

Delivery

Unhandled posts JSON to the webhook with a 10-second timeout, without following redirects, and treats any 2xx response as delivered. Timeouts, network errors, 408, 429 and 5xx are retried. Monitor and alert messages get up to 7 attempts over about 50 minutes. Exception summaries get up to 6 attempts, starting at 30 seconds and doubling up to 8 minutes. A Retry-After header is honoured up to twice the scheduled wait. After 10 failed attempts in a row Unhandled disables the channel and tells the organization admins. A successful Send test or a new URL turns it back on. See channel health.

The channel page (/o/:org/notification-channels/:channel) shows the last 100 deliveries with status, attempts, response code and last error. Repeated 4xx failures may mean the webhook was deleted in Discord; create a new one and paste its URL.

Removing the channel

Deleting the channel stops monitors from posting to it, and alerts keep being evaluated without it. Exception rules that post to it are removed, so the next matching rule takes over.