ATStatus
ATStatus WikiLoading documentation...

Discord Webhooks

v1.4+

Send real-time status notifications to Discord channels via webhooks with rich embeds and granular event controls.

Native Discord Integration

Rich embeds, severity colors, and customizable bot appearance

Overview

Discord integration allows you to send rich embed notifications to your Discord server when incidents occur, maintenance is scheduled, or component status changes. Each webhook can be configured independently with granular event controls and custom appearance settings.

Getting Started

Step 1: Create a Discord Webhook

  1. Open your Discord server and go to Server Settings
  2. Navigate to IntegrationsWebhooks
  3. Click New Webhook
  4. Give it a name (e.g., "Status Updates") and select the target channel
  5. Click Copy Webhook URL

💡 Tip: Create a dedicated #status-updates channel for notifications to keep them organized and easily accessible.

Step 2: Add Webhook to ATStatus

  1. Go to Admin → Notifications → Discord Webhooks
  2. Click Add Webhook
  3. Enter a descriptive name (e.g., "Production Alerts")
  4. Paste your Discord webhook URL
  5. Configure event triggers and appearance
  6. Click Create Webhook

Granular Event Controls

Each webhook can be configured to trigger on specific events:

🔴 Incident Events

  • Incident Created - When a new incident is reported
  • Incident Updated - When an incident status or details change
  • Incident Resolved - When an incident is marked resolved

🔧 Maintenance Events

  • Maintenance Scheduled - When maintenance is planned
  • Maintenance Started - When maintenance begins
  • Maintenance Updated - When maintenance details change
  • Maintenance Completed - When maintenance is finished

📦 Component Events

  • Status Change - When a component status changes
  • Component Created - When a new component is added
  • Component Deleted - When a component is removed

📊 System Events

  • Uptime Alerts - When uptime drops below threshold
  • Scheduled Reports - Periodic uptime report delivery

Embed Customization

Discord embeds can be fully customized to match your branding:

FieldDescription
Bot UsernameName shown for the bot in Discord
Bot Avatar URLCustom avatar for the bot
Embed TitleCustom title template (use {title} placeholder)
Embed ColorCustom hex color (or automatic by severity)
Author Name/Icon/URLAuthor section at top of embed
Footer Text/IconFooter section at bottom of embed
Thumbnail URLSmall image displayed top-right
Image URLLarge image at bottom of embed

Field Visibility Options

  • Show Timestamp - Include timestamp in embed footer
  • Show Status - Display current incident/component status
  • Show Severity - Display incident severity level
  • Show Components - List affected components

Automatic Severity Colors

When no custom color is set, embeds automatically use severity-based colors:

Critical

#DC2626

Major

#EA580C

Minor

#CA8A04

Maintenance

#2563EB

Resolved

#16A34A

Testing Webhooks

Each webhook has a Test Webhook button that sends a sample notification to verify the configuration is working correctly.

Test Message Content

The test sends a sample incident notification with all configured appearance settings so you can preview exactly how real notifications will look.

Multiple Webhooks

You can create multiple Discord webhooks for different purposes:

  • Separate channels - Different channels for incidents vs. maintenance
  • Different servers - Internal team server vs. public community server
  • Severity filtering - Critical-only alerts to a dedicated channel
  • Per-component - Different webhooks for different service components

Troubleshooting

Webhook Not Receiving Messages

  • Verify the webhook URL is correct and complete
  • Check that the webhook is enabled in ATStatus
  • Ensure the desired event types are enabled
  • Verify Discord hasn't deleted the webhook
  • Check the channel permissions for the webhook

Rate Limiting

Discord has rate limits on webhooks. If sending many notifications quickly, some may be delayed. ATStatus handles retries automatically with exponential backoff.

Invalid Webhook URL

Discord webhook URLs must match the format: https://discord.com/api/webhooks/.... If your URL doesn't match this pattern, it will be rejected.