Discord notifier
Discord webhook with rich embeds, retry handling, and thread support.
Slot:
notifier · Name: discordmacOSSupported
LinuxSupported
WindowsSupported
Setup
- In Discord, open the channel you want → Edit Channel → Integrations → Webhooks → New Webhook.
- Copy the webhook URL (must contain
discord.com/api/webhooks/). - Add it to AO:
notifier:
- type: discord
webhookUrl: ${DISCORD_WEBHOOK_URL}
username: "AO" # optional
avatarUrl: https://...png # optional
threadId: "1234567890" # optional — post into a thread
retries: 3 # default
retryDelayMs: 1000 # defaultConfig
| Key | Required | Default | What it does |
|---|---|---|---|
webhookUrl | ✓ | — | Full discord.com/api/webhooks/... URL |
username | optional | — | Override webhook default username per message |
avatarUrl | optional | — | Override webhook default avatar |
threadId | optional | — | Post into an existing thread |
retries | optional | 3 | Retry count on 5xx / network errors |
retryDelayMs | optional | 1000 | Base retry delay (exponential backoff) |
Rich embeds
AO uses Discord embeds, not plain text. Each event shows:
- Colored sidebar (blue for info, red for CI failure, amber for review requested, green for merged)
- Issue / PR link as a clickable title
- Session id as a field
- Short reason as the description
Retry + rate limiting
Handles Discord's Retry-After header on 429 responses — waits the requested interval and retries. 5xx errors use exponential backoff up to retries attempts.
Testing
ao doctor --test-notify