AO

Discord notifier

Discord webhook with rich embeds, retry handling, and thread support.

Slot: notifier · Name: discord
macOSSupported
LinuxSupported
WindowsSupported

Setup

  1. In Discord, open the channel you want → Edit Channel → Integrations → Webhooks → New Webhook.
  2. Copy the webhook URL (must contain discord.com/api/webhooks/).
  3. Add it to AO:
agent-orchestrator.yaml
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                # default

Config

KeyRequiredDefaultWhat it does
webhookUrlFull discord.com/api/webhooks/... URL
usernameoptionalOverride webhook default username per message
avatarUrloptionalOverride webhook default avatar
threadIdoptionalPost into an existing thread
retriesoptional3Retry count on 5xx / network errors
retryDelayMsoptional1000Base 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