AO

Notifiers overview

Who gets pinged when an agent needs you. Six notifiers ship; pick one or stack several.

Notifiers deliver AO events — session stuck, PR opened, review requested, CI failed — to wherever you actually pay attention.

DesktopNative macOS/Linux notifications. No-op on Windows.DiscordDiscord webhook with rich embeds.SlackSlack incoming webhook.WebhookGeneric HTTP POST. Retries + exponential backoff.ComposioRoute through Composio — Slack, Discord, or Gmail.OpenClawLocal OpenClaw gateway for personal alerts.

Stacking notifiers

Notifier config is a list — pass as many as you want:

notifier:
  - type: desktop
  - type: discord
    webhookUrl: ${DISCORD_URL}
  - type: slack
    webhookUrl: ${SLACK_URL}
    channel: "#agents"

Each notifier gets every event. AO doesn't try to dedupe across channels — that's your channel-configuration problem, not ours.

Testing

ao doctor --test-notify

Sends a dummy notification through each configured notifier. Good way to verify your webhooks work before an agent needs to wake you at 3 AM.

What gets notified

EventWhen
session.spawnedao spawn succeeds
session.workingAgent is actively editing code
pr.openedAgent pushed a branch and opened a PR
ci.failedRequired check fails
review.requestedReviewer asks for changes
session.mergeableCI green, no blockers
session.mergedPR merged
session.blockedAgent is stuck — you need to intervene

You can tune which events fire via reactions config.