Discord Integration
Multi-channel notifications for builds, assets, alerts, and approvals.
Table of contents
- Overview
- Configuration
- Setup Steps
- Notification Types
- Rich Embeds
- Notification Preferences
- Webhook Payload Format
- Rate Limiting
- Troubleshooting
- Best Practices
Overview
ButterStack integrates with Discord via webhooks to provide:
- Build status notifications
- Asset approval requests
- Alert and error notifications
- Multi-channel routing
- Rich embeds with asset previews
Configuration
Connection Settings
| Field | Description | Required | Example |
|---|---|---|---|
webhook_url | Default webhook URL | Yes | https://discord.com/api/webhooks/... |
builds_channel_webhook_url | Webhook for build notifications | No | Separate URL |
assets_channel_webhook_url | Webhook for asset notifications | No | Separate URL |
alerts_channel_webhook_url | Webhook for alerts and errors | No | Separate URL |
approvals_channel_webhook_url | Webhook for approval requests | No | Separate URL |
Setup Steps
1. Create Discord Webhooks
For each channel you want to receive notifications:
- Open Discord server settings
- Go to Integrations > Webhooks
- Click New Webhook
- Name it (e.g., “ButterStack Builds”)
- Select the target channel
- Copy the webhook URL
2. Add the Integration
- Go to Project Settings > Integrations
- Click Add Integration
- Select Discord
- Paste your webhook URL(s)
- Test the connection
- Save
3. Configure Multi-Channel (Optional)
Route different notification types to different channels:
| Notification Type | Recommended Channel |
|---|---|
| Build notifications | #builds |
| Asset notifications | #assets |
| Alerts and errors | #alerts |
| Approval requests | #approvals |
If a specific webhook URL isn’t set, notifications use the default webhook.
Notification Types
Build Notifications
Sent when builds start, complete, or fail:
{
"embeds": [{
"title": "Build Completed",
"description": "Windows build for MyGame completed successfully",
"color": 5763719,
"fields": [
{"name": "Build Number", "value": "456", "inline": true},
{"name": "Duration", "value": "15m 23s", "inline": true},
{"name": "Platform", "value": "Win64", "inline": true}
],
"footer": {"text": "ButterStack Build System"}
}]
}
Asset Notifications
Sent when assets are uploaded or modified:
- New asset uploads
- Asset modifications
- Asset deletion
Alert Notifications
Sent for errors and warnings:
- Build failures
- Integration connection issues
- System errors
Approval Requests
Sent when assets need review:
- Asset approval requests
- Manifest approval requests
- Links to approve/reject in ButterStack
Rich Embeds
Discord notifications use rich embeds with:
- Color-coded status (green = success, red = failure, yellow = pending)
- Inline fields for key information
- Timestamps
- Footer with build/asset IDs
Color Codes
| Status | Color | Hex |
|---|---|---|
| Success | Green | #10B981 |
| Failure | Red | #EF4444 |
| Warning | Yellow | #F59E0B |
| Info | Blue | #3B82F6 |
| Pending | Gray | #6B7280 |
Notification Preferences
Configure which notifications to receive in project settings:
- Go to Project Settings > Notifications
- Find Discord section
- Toggle notification types:
- Build started
- Build completed
- Build failed
- Asset uploaded
- Approval requested
- System alerts
Webhook Payload Format
Build Started
{
"content": null,
"embeds": [{
"title": "Build Started",
"description": "Building MyGame for Win64",
"color": 3447003,
"fields": [
{"name": "Job", "value": "MyGame-Build", "inline": true},
{"name": "Triggered By", "value": "john.doe", "inline": true}
],
"timestamp": "2026-12-15T10:30:00Z"
}]
}
Build Failed
{
"content": "@here Build failed!",
"embeds": [{
"title": "Build Failed",
"description": "MyGame Win64 build failed",
"color": 15548997,
"fields": [
{"name": "Build Number", "value": "456", "inline": true},
{"name": "Error", "value": "Compilation error in GameMode.cpp", "inline": false}
],
"timestamp": "2026-12-15T10:45:00Z"
}]
}
Rate Limiting
Discord webhooks have rate limits:
- 30 requests per minute per webhook
- ButterStack queues messages to avoid hitting limits
- High-volume projects may need multiple webhooks
Troubleshooting
Notifications Not Appearing
- Verify webhook URL is correct (test in Discord settings)
- Check channel permissions allow webhook messages
- Verify ButterStack can reach Discord (firewall/proxy)
- Check ButterStack notification logs
Invalid Webhook Token
- Webhook may have been deleted - create a new one
- Update the URL in ButterStack settings
Rate Limited
- Reduce notification frequency in settings
- Use separate webhooks for different notification types
- Consider batching similar notifications
Wrong Channel
- Verify you copied the correct webhook URL
- Each webhook is tied to a specific channel
- Create separate webhooks for each target channel
Best Practices
- Use multiple channels - Route different notification types to appropriate channels
- Set up alerts channel - Critical alerts shouldn’t be buried in general notifications
- Configure permissions - Only notify relevant team members
- Test webhooks - Verify each webhook works before going live
- Monitor rate limits - High-activity projects need multiple webhooks