Skip to content

Discord Notifications

Discord notifications are delivered as color-coded embeds via a Discord channel webhook. Red for critical, orange for warnings, blue for info — at a glance you can tell which posts deserve attention.

  • A Discord server (Guild) where you have Manage Webhooks permission
  • The text channel you want notifications posted to
  1. In Discord, open the destination channel.
  2. Click the gear icon next to the channel name → Edit Channel.
  3. In the left sidebar, choose Integrations.
  4. Click WebhooksNew Webhook.
  5. Give it a name (e.g., Reoclo) and optionally a custom avatar — these appear as the message author in posts.
  6. Click Copy Webhook URL. It looks like https://discord.com/api/webhooks/123456789012345678/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
  7. Click Save Changes.
  1. Open Settings → Notification Channels.
  2. Click Add ChannelDiscord.
  3. Give it a name (e.g., #engineering-deploys).
  4. Paste the webhook URL into Webhook URL.
  5. Click Send Test — a [TEST] embed should appear in Discord within a second.
  6. Pick which events this channel receives.
  7. Save.
Terminal window
reoclo channels create discord \
--name "engineering-deploys" \
--secret "https://discord.com/api/webhooks/.../..." \
--events deploy_succeeded,deploy_failed

Or via YAML:

kind: discord
name: engineering-deploys
config: {}
secret: ${env:DISCORD_WEBHOOK_URL}
events:
deploy_succeeded: true
deploy_failed: true
Terminal window
DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..." \
reoclo channels create discord --from-file discord-deploys.yaml

Each notification posts as a single embed with the event summary as the title and the event body as the description. The embed color reflects severity:

SeverityColorHex
criticalRed#FF0000
warnOrange#FFA500
infoBlue#0080FF
noneGray#808080

Reoclo treats HTTP 200 and 204 as success.

SymptomCauseFix
404 Unknown WebhookWebhook was deleted in DiscordCreate a new webhook and update the channel secret
401 UnauthorizedURL was rotated or truncated when copyingRe-copy the webhook URL from Discord (be sure you got the full token after the ID)
429 Too Many RequestsDiscord rate limit hit (5 req/2s per webhook)Reoclo retries with backoff — for high-volume use, split events across multiple webhooks
Test passes, real events silentEvent toggles disabledOpen the channel and enable the events you want
Embed shows but no colorSeverity is null (not from an alert)Expected for non-alert events; the default gray means “informational”
  • Use channel topics for routing. One Discord channel per concern (deploys, monitoring, incidents) keeps signal high.
  • Mention roles in the channel description — Reoclo doesn’t insert mentions itself; configure your Discord channel to ping the right role on @here if you need attention.
  • Webhooks are bound to one channel. To post to a different channel, create a new webhook there.