Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Notifications

Ennio sends notifications when reactions fire or sessions need attention.

Notifier Plugins

PluginTransportConfiguration
desktopnotify-send (Linux) / osascript (macOS)No config needed
slackSlack incoming webhookwebhook_url
webhookHTTP POST to any URLurl

Configuration

Defining Notifiers

Each notifier specifies a plugin name, a unique name for routing, and a config map with plugin-specific settings:

notifiers:
  - plugin: slack
    name: team-slack
    config:
      webhook_url: ${SLACK_WEBHOOK_URL}

  - plugin: webhook
    name: ops-alerts
    config:
      url: https://hooks.example.com/ennio

  - plugin: desktop
    name: local
    config: {}

Default Notifiers

Set which notifiers are used by default:

defaults:
  notifiers:
    - local
    - team-slack

Notification Routing

Route specific reaction types to specific notifiers:

notification_routing:
  ci-failed:
    - team-slack
  agent-exited:
    - team-slack
    - ops-alerts
  all-complete:
    - local

If no routing rule matches, the default notifiers are used.

Event Priority

Notifications carry a priority from the triggering event:

PriorityMeaning
InfoStatus updates (e.g., all sessions complete)
ActionSomething needs attention soon
UrgentImmediate attention (e.g., agent exited, needs input)
CriticalSystem-level failure

Notifier implementations can use priority to adjust formatting (e.g., Slack emoji, desktop urgency level).