Discord Integration
Assert posts alerts to a Discord channel through an incoming webhook. There is no bot to install and no permissions to grant.
Each alert names the assertion that failed, the expected value, the value your API returned, the regions that agreed, and the time. A failure re-runs across regions before anything is sent, so a single bad check never reaches the server. Assert sends one alert per incident and closes the incident when the assertion passes again.
Routing is per monitor, so production and staging can post to different servers. Discord is on every paid plan.
Setup Guide
Step 1: Create a Discord Webhook
- Open your Discord server
- Go to Server Settings → Integrations → Webhooks
- Click New Webhook
- Name the webhook "Assert Alerts"
- Select the channel for notifications
- Click Copy Webhook URL
Step 2: Add Discord in Assert
- Go to Alerts → Channels in your Assert dashboard
- Click Add Channel → Discord
- Paste your webhook URL
- Name the channel, for example "Discord - API Alerts"
- Click Save
Step 3: Test the Connection
Click Send Test. Assert posts a test message to your Discord channel.
Step 4: Assign to Monitors
Open each monitor. Add the Discord channel under Alert Channels.
Alert Format
Assert sends a Discord embed. The color shows the state: red for a failure, green for a recovery, yellow for a slow response.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔴 Monitor Failed: Production API
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Status Code: 500
Response Time: 2,340ms
Region: US East
Assertion Failed:
$.status expected "success", got "error"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Configuration Options
| Option | Description |
|---|---|
| Webhook URL | Your Discord webhook URL |
| Include Response Time | Show request duration in alerts |
| Include Region | Show which region detected the issue |
| Include Error Details | Show assertion failure messages |
Best Practices
Create separate channels for different alert types:
#api-alertsfor general API monitoring#critical-alertsfor production failures only#bot-statusfor Discord bot APIs
Add Discord roles and @mentions in the webhook settings to reach specific people.
Group the channels under a Monitoring category:
📊 MONITORING
├── #api-alerts
├── #uptime-status
└── #incident-log
Multiple Servers
Assert can post to more than one Discord server:
- Create a webhook in each server
- Add each webhook as a separate channel in Assert
- Assign monitors to the channels you want
Troubleshooting
Not receiving alerts?
- Check the webhook URL
- Check that the webhook still exists in Discord
- Check that the target channel still exists
Webhook rate limited?
- Discord allows a webhook 30 requests per minute
- Reduce the check frequency, or point fewer monitors at the same webhook
Embeds not showing?
- Turn on the "Embeds and Links" permission for the webhook
Next Steps
- Set up Slack for additional team notifications
- Configure webhooks for custom integrations
- Explore alerting features