You want Discord to alert your team the moment a website or service goes down. UptimeRobot monitors uptime and can send those alerts directly to a Discord channel using a webhook URL. Setting this up requires no coding—just a few steps in both Discord and UptimeRobot. This article explains how to create a Discord webhook, configure UptimeRobot to use it, and test the alert.
Discord webhooks are automated messages that post to a channel when triggered by an external service. UptimeRobot is a monitoring tool that checks your servers, websites, or APIs at regular intervals. When UptimeRobot detects downtime or recovery, it sends a POST request to the webhook URL you provide. The webhook then displays a formatted alert in your Discord channel.
By the end of this guide, you will have a working alert system that notifies your team in real time. You will also learn how to customize the alert message and avoid common setup mistakes.
Key Takeaways: Discord Webhook Setup for UptimeRobot Alerts
- Discord Channel Settings > Integrations > Webhooks > Create Webhook: Generates a unique URL that UptimeRobot sends alerts to.
- UptimeRobot > Add Monitor > Select Type > Select Alert Contacts > Add Webhook: Configures the webhook URL and alert conditions.
- Custom JSON Body in UptimeRobot Webhook Settings: Controls the alert message title, color, and content displayed in Discord.
How Discord Webhooks Work With UptimeRobot
A Discord webhook is an HTTP endpoint that accepts JSON payloads and posts them as messages in a specific channel. When UptimeRobot detects a status change—for example, a website becomes unreachable or comes back online—it sends a POST request to the webhook URL. The webhook then formats the payload into a Discord embed with a title, description, color, and timestamp.
UptimeRobot supports multiple alert contact types: email, SMS, Slack, and webhook. The webhook method is the most flexible because you can customize the JSON payload to include monitor name, status, response time, and a direct link to the monitor dashboard. No third-party integrations or bots are required—only a Discord server where you have the Manage Webhooks permission.
Before you start, confirm you have the following:
- A Discord server where you are an administrator or have the Manage Webhooks permission.
- A UptimeRobot account with at least one monitor configured.
- The URL of the monitor you want to alert on.
Steps to Create a Discord Webhook for UptimeRobot
Follow these steps to generate a webhook URL in Discord. You will then use this URL in UptimeRobot.
- Open Discord and select your server
Click the server name at the top left of the Discord window. A dropdown menu appears. - Open Server Settings
From the dropdown, click Server Settings. The settings panel opens on the left sidebar. - Navigate to Integrations
In the left sidebar, click Integrations. The Integrations page shows all webhooks and bots on this server. - Create a new webhook
Click the Create Webhook button. A webhook editor appears. - Name the webhook
In the Name field, type a recognizable name such as UptimeRobot Alerts. This name appears as the sender of each alert message. - Select the target channel
From the Channel dropdown, choose the Discord channel where alerts should appear. Pick a dedicated channel like #server-alerts to avoid cluttering general chat. - Copy the webhook URL
Click Copy Webhook URL. A long URL ending in /webhooks/… is copied to your clipboard. Keep this URL secure—anyone with it can post messages to your channel. - Save the webhook
Click the Save Changes button at the bottom of the webhook editor. The webhook is now active.
Steps to Add the Webhook as an Alert Contact in UptimeRobot
Now configure UptimeRobot to send alerts to the Discord webhook URL.
- Log in to UptimeRobot
Go to uptimerobot.com and sign in to your account. - Open My Settings
Click your profile icon in the top right corner, then click My Settings. - Go to Alert Contacts
In the left sidebar, click Alert Contacts. The page lists all existing contacts. - Add a new alert contact
Click the Add Alert Contact button. A form appears. - Select Webhook as the contact type
From the Type dropdown, choose Webhook. - Enter a friendly name
In the Friendly Name field, type Discord Alerts or any name you prefer. - Paste the Discord webhook URL
In the Webhook URL field, paste the URL you copied from Discord. - Customize the JSON body
In the JSON Body field, replace the default content with a payload that creates a Discord embed. Use the following template:{
"content": null,
"embeds": [
{
"title": "{{MONITOR_NAME}} is {{STATUS}}",
"description": "{{STATUS}} at {{RESPONSE_TIME}}ms on {{DATE_TIME}}",
"color": {{STATUS_COLOR}},
"url": "{{MONITOR_URL}}"
}
]
}
Replace{{STATUS_COLOR}}with16711680for red (down) and65280for green (up). You can also use16776960for yellow (paused). - Save the alert contact
Click the Create Alert Contact button. The webhook contact now appears in your list.
Steps to Assign the Webhook to a Monitor
Attach the alert contact to the specific monitor that should trigger Discord alerts.
- Go to My Monitors
In the UptimeRobot dashboard, click My Monitors in the left sidebar. - Edit the monitor
Click the Edit icon (pencil) next to the monitor you want to alert on. - Scroll to Alert Contacts
In the edit form, scroll down to the Alert Contacts section. - Select the webhook contact
Check the box next to Discord Alerts (or the name you gave the webhook contact). - Save the monitor
Click the Save Monitor button at the bottom of the form. The monitor is now linked to your Discord webhook.
How to Test the Discord Webhook Alert
After configuration, test the alert to confirm everything works.
- Pause the monitor manually
In UptimeRobot, go to My Monitors. Click the Pause icon (pause button) next to the monitor you just configured. - Wait for the status change
UptimeRobot will detect the monitor as paused and send a webhook alert to Discord. This may take up to one minute. - Check the Discord channel
Open the Discord channel you selected. You should see a message from the webhook with the title and description you defined in the JSON body. - Resume the monitor
In UptimeRobot, click the Start icon (play button) to resume monitoring. A second alert should appear in Discord indicating the monitor is back up.
Common Mistakes and How to Avoid Them
Webhook URL Contains Extra Characters
When copying the webhook URL from Discord, ensure you do not include trailing spaces or line breaks. Paste the URL directly into the UptimeRobot field without modification. A malformed URL causes the webhook to fail silently.
JSON Body Syntax Error
The JSON body must be valid JSON. A missing comma, extra bracket, or unquoted key will cause UptimeRobot to reject the payload. Use a JSON validator tool to check your code before saving.
Webhook Not Posted to the Correct Channel
If alerts appear in the wrong channel, delete the webhook in Discord and create a new one, ensuring you select the correct channel from the dropdown. Alternatively, edit the existing webhook in Discord Integrations and change the channel.
Alerts Not Sent for All Status Changes
By default, UptimeRobot sends alerts for all status changes: up, down, and paused. If you only want alerts for downtime, edit the monitor and under Alert Contacts, click Customize next to the webhook contact. Uncheck the boxes for up and paused alerts.
Discord Webhook vs UptimeRobot Native Integrations
| Item | Discord Webhook | UptimeRobot Native Slack/Teams Integration |
|---|---|---|
| Setup complexity | Requires manual JSON configuration | One-click with preformatted messages |
| Customization | Full control over embed title, color, fields | Limited to default template |
| Required permissions | Manage Webhooks in Discord server | Admin access to Slack workspace or Teams tenant |
| Cost | Free (Discord and UptimeRobot free tier) | Free (UptimeRobot free tier; Slack/Teams require accounts) |
| Message format | Embed with color-coded status | Plain text or card |
By using a Discord webhook, you gain the ability to design the alert exactly how your team prefers. The native integrations require less setup but offer less flexibility. For most small to medium teams, the webhook method provides the best balance of control and simplicity.
You now have a fully functional Discord webhook that sends UptimeRobot alerts to your chosen channel. The next step is to refine the JSON body to include additional monitor details such as response time history or a direct link to the UptimeRobot dashboard. You can also create multiple webhooks for different monitors or channels. For advanced setups, use UptimeRobot’s {{MONITOR_URL}} variable to add clickable links in the Discord embed so your team can quickly investigate downtime.