If your team lives in Discord, your monitoring alerts should too. Plenty of dev teams, gaming communities, and open source projects already use Discord as their central hub for coordination. When your website or API goes down, the last thing you want is an alert buried in an email inbox that nobody checks on weekends.
CronAlert sends downtime alerts directly to any Discord channel via webhooks. It takes about two minutes to set up, works on every plan including free, and the notifications are clean Discord Embeds with color-coded status, error details, and timestamps. This post walks through the full setup from both the Discord side and the CronAlert side.
How it works
The integration uses Discord webhooks, which are the standard way for external services to post messages to a channel. You create a webhook URL in your Discord server settings, paste that URL into CronAlert as an alert channel, and you are done. When CronAlert detects that one of your monitors is down (or has recovered), it sends a POST request to the webhook URL with a formatted Discord Embed.
No bots to install, no OAuth flows, no permissions to manage. A webhook URL is all you need.
Step 1: Create a Discord webhook
First, set up the webhook in Discord. You will need the Manage Webhooks permission for the channel you want alerts in.
- Open your Discord server and navigate to the channel where you want downtime alerts to appear. A dedicated
#alertsor#monitoringchannel works well. - Click the gear icon next to the channel name to open Channel Settings.
- Go to Integrations in the left sidebar.
- Click Webhooks, then New Webhook.
- Give the webhook a name -- something like "CronAlert" so you know what is posting. You can also upload a custom avatar if you want.
- Click Copy Webhook URL. The URL will look something like
https://discord.com/api/webhooks/1234567890/abcdef...
Keep that URL handy. You will paste it into CronAlert in the next step.
Security note: Treat your webhook URL like a password. Anyone with the URL can post messages to your channel. If a webhook URL is ever compromised, delete it in Discord and create a new one.
Step 2: Add the webhook to CronAlert
Now connect that webhook to your CronAlert account.
- Log in to CronAlert and go to Alert Channels from the sidebar.
- Click New Alert Channel.
- Select Discord as the channel type.
- Paste your Discord webhook URL into the URL field.
- Give it a descriptive name -- for example, "Discord #alerts" or "Production Alerts - Discord".
- Click Save.
That is the entire setup. Any monitor that uses this alert channel will now send notifications to your Discord channel when it detects downtime or recovery.
Test the connection
After saving, use the Send Test button on your new alert channel. This fires a test notification to Discord so you can confirm the webhook is working before anything actually goes down. You should see a sample embed appear in your Discord channel within a few seconds.
What the alerts look like
CronAlert does not just dump plain text into your channel. It sends a properly formatted Discord Embed that is easy to scan at a glance. Here is the structure:
When a monitor goes down:
{
"embeds": [{
"title": "DOWN: Production API",
"color": 14427686, // red (0xdc2626)
"fields": [
{ "name": "URL", "value": "https://api.example.com/health" },
{ "name": "Status Code", "value": "503", "inline": true },
{ "name": "Error", "value": "Service Unavailable" },
{ "name": "Regions", "value": "Failing regions: us-east, eu-west" }
],
"footer": { "text": "CronAlert" },
"timestamp": "2026-03-10T14:32:00.000Z"
}]
} When a monitor recovers:
{
"embeds": [{
"title": "RECOVERED: Production API",
"color": 1484362, // green (0x16a34a)
"fields": [
{ "name": "URL", "value": "https://api.example.com/health" },
{ "name": "Downtime", "value": "12m 34s", "inline": true }
],
"footer": { "text": "CronAlert" },
"timestamp": "2026-03-10T14:44:34.000Z"
}]
} In Discord, the embed renders with a colored sidebar -- red for down alerts, green for recovery. The title immediately tells you the status and which monitor is affected. Fields provide the context you need: the URL that was checked, the HTTP status code, any error message, the downtime duration on recovery, and which regions detected the failure if you are using multi-region checks.
The footer and timestamp are set automatically, so you always know the alert came from CronAlert and exactly when it was sent.
Tips for getting the most out of Discord alerts
Use separate webhooks for different environments
Rather than funneling every alert into one channel, create separate webhooks for production, staging, and development. In Discord, you might have #prod-alerts and #staging-alerts. In CronAlert, create a separate alert channel for each webhook, then assign your monitors accordingly. This way, a flaky staging endpoint does not create noise in the channel your on-call team is watching.
Combine with a public status page
Discord alerts tell your team what is happening. A public status page tells your users. CronAlert includes a hosted status page on every plan, so you can have both: your team gets instant Discord notifications while your users check a branded status page for updates. When an incident is created, it appears on both channels automatically.
Set up channel notification overrides
Discord lets you configure notification settings per channel. For your alerts channel, consider setting it to All Messages so every alert triggers a notification, even if the rest of your server is set to mentions-only. You can also use Discord's Thread feature to automatically create a thread per incident for discussion.
Use the Send Test button
After creating an alert channel, always hit Send Test to verify the webhook is working. It is much better to discover a misconfigured URL now than during an actual outage. CronAlert sends a sample embed so you can see exactly how alerts will appear in your channel.
Keep webhook URLs out of version control
If you are using CronAlert's API to programmatically manage alert channels, store webhook URLs in environment variables or a secrets manager. A leaked webhook URL means anyone can post to your Discord channel.
Frequently asked questions
Are Discord alerts free on CronAlert?
Yes. Discord alerts are available on every CronAlert plan, including the free tier. The free plan gives you 25 monitors with 3-minute check intervals, email, Slack, Discord, and webhook alert channels, plus a status page. No credit card required.
Can I send alerts to multiple Discord channels?
Absolutely. Create a separate webhook in each Discord channel you want alerts in, then add each one as its own alert channel in CronAlert. You can assign different monitors to different alert channels, so production monitors go to #prod-alerts and staging monitors go to #staging-alerts.
What do the notifications look like on mobile?
Discord Embeds render well on mobile. You get the same color-coded sidebar, title, and fields. The notification preview shows the embed title, so you can tell at a glance whether something is down or recovered without even opening the app.
How quickly will I get a Discord alert when my site goes down?
CronAlert sends the Discord notification within seconds of detecting a failure. On the free plan, monitors check every 3 minutes, so the worst case is just under 3 minutes to detection. On paid plans, monitors check every minute. Single-region monitors on 1-minute intervals use a smart threshold of 2 consecutive failures to avoid false positives from transient network issues, so detection takes about 2 minutes in the worst case.
Wrapping up
Discord is already where your team talks about code, deployments, and incidents. Routing your downtime alerts there means one less tool to check and faster response times when something breaks. The setup is straightforward -- create a webhook in Discord, paste the URL into CronAlert, and your channel starts receiving color-coded embeds the moment a monitor fails.
If you do not have a CronAlert account yet, sign up for free -- 25 monitors, Discord alerts, and a status page, no credit card needed. You will be getting alerts in your Discord server in under two minutes.