--- title: OpenClaw notifier description: Deliver notifications through a local OpenClaw gateway — personal, low-latency, private. ---
Slot: notifier · Name: openclaw
[OpenClaw](https://github.com/composio-dev/openclaw) is a local gateway that routes AO events into whatever personal alert channel you've wired up — phone push, email, a local sound, etc. If it's running on your machine, this notifier uses it. ## Setup Run AO's interactive helper: ```bash ao setup openclaw ``` It will: 1. Auto-detect OpenClaw on `localhost` (or prompt for the URL). 2. Read `hooks.token` from your OpenClaw config. 3. If the token is missing, show where to add/generate it from the OpenClaw side. 4. Write only `agent-orchestrator.yaml`; AO does not generate the token or write shell-profile exports. 5. Let you review and change the URL, OpenClaw config path, or routing preset before saving. Non-interactive variant: ```bash ao setup openclaw --non-interactive --url http://127.0.0.1:18789/hooks/agent --routing-preset urgent-action ``` Refresh an existing setup or inspect status: ```bash ao setup openclaw --refresh ao setup openclaw --status ``` ## Use After setup, your config looks like: ```yaml title="agent-orchestrator.yaml" notifiers: openclaw: plugin: openclaw url: http://127.0.0.1:18789/hooks/agent openclawConfigPath: ~/.openclaw/openclaw.json wakeMode: now ``` The OpenClaw config keeps the actual secret: ```json title="~/.openclaw/openclaw.json" { "hooks": { "enabled": true, "token": "", "allowRequestSessionKey": true, "allowedSessionKeyPrefixes": ["hook:"] } } ``` ## Config | Key | Default | What it does | |---|---|---| | `url` | `http://127.0.0.1:18789/hooks/agent` | OpenClaw hook endpoint | | `openclawConfigPath` | `~/.openclaw/openclaw.json` | Local OpenClaw config path that contains `hooks.token` | | `token` | — | Remote/manual fallback. Avoid for local setups because it stores the secret in AO config | | `name` | — | Identifier shown in OpenClaw | | `sessionKeyPrefix` | — | Prefix for OpenClaw session keys | | `wakeMode` | `next-heartbeat` | `now` = deliver immediately, `next-heartbeat` = batch on next OpenClaw tick | | `deliver` | `true` | Disable to record-only without waking the user | | `retries` | `3` | Retry count on transient failures | | `retryDelayMs` | `1000` | Base retry delay | | `healthSummaryPath` | — | Optional local path where OpenClaw writes a summary AO can pick up | ## Token precedence Token is read in this order: 1. `token` in `agent-orchestrator.yaml` if explicitly configured 2. `hooks.token` from `openclawConfigPath` 3. Env var `OPENCLAW_HOOKS_TOKEN` as a legacy fallback `ao setup openclaw --status` probes the OpenClaw gateway and token. To send a real AO test notification through the configured notifier, run: ```bash ao notify test --to openclaw --template basic ```