ワンクリックで
openclaw-add-channel
Add a messaging channel binding (Telegram, Slack, WhatsApp, or GChat) to an existing OpenClaw agent
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Add a messaging channel binding (Telegram, Slack, WhatsApp, or GChat) to an existing OpenClaw agent
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Create a new scheduled cron job for an OpenClaw agent (recurring, interval, or one-shot)
Scaffold a new deterministic shell script for an OpenClaw agent with JSON output, error handling, and the json-response library
Add a new secret to the OpenClaw keychain and update the appropriate launcher/secrets script
Set up nightly dream routine (memory distillation) for an OpenClaw agent including DREAM-ROUTINE.md, cron job, and archive pipeline
Create a new OpenClaw agent with all required directive files, directory structure, and config registration
Restart OpenClaw gateway(s) — handles stow conflicts and verifies channels reconnect. Supports single-gateway and multi-gateway (per-tier) deployments.
| name | openclaw-add-channel |
| description | Add a messaging channel binding (Telegram, Slack, WhatsApp, or GChat) to an existing OpenClaw agent |
Add $1 channel to agent $0.
Read ~/.openclaw/workspace/skills/07-channel-configuration.md for detailed guidance.
OPENCLAW_REPO=$(readlink ~/.openclaw/openclaw.json 2>/dev/null | sed 's|/.openclaw/openclaw.json||')
TIER_CONFIGS=(~/.openclaw/configs/openclaw-*.json)
[[ -f "${TIER_CONFIGS[0]}" ]] && MULTI_GATEWAY=true || MULTI_GATEWAY=false
Find which tier the agent belongs to:
for cfg in ~/.openclaw/configs/openclaw-*.json; do
if grep -q "\"id\": *\"$0\"" "$cfg" 2>/dev/null; then
TIER=$(basename "$cfg" | sed 's/openclaw-//;s/.json//')
CONFIG="$OPENCLAW_REPO/.openclaw/configs/openclaw-$TIER.json"
break
fi
done
If the agent isn't found in any tier config, ask the user which tier it belongs to.
CONFIG="$OPENCLAW_REPO/.openclaw/openclaw.json"
Read current config: Read $CONFIG to see existing channels and bindings.
Depending on channel type:
security add-generic-password -s "openclaw-$TIER-telegram-$0-bot-token" -a "openclaw" -w "<TOKEN>" ~/.openclaw/openclaw.keychain-dbsecurity add-generic-password -s "openclaw.telegram-$0-bot-token" -a "openclaw" -w "<TOKEN>" ~/.openclaw/openclaw.keychain-dbchannels.telegram.accounts in the config (NEVER add botToken at the top-level telegram config — only in accounts):
"$0": {
"name": "<agent display name>",
"enabled": true,
"dmPolicy": "pairing",
"botToken": "${OPENCLAW_TELEGRAM_<AGENT_UPPER>_BOT_TOKEN}",
"groupPolicy": "allowlist",
"streaming": "partial"
}
{"agentId": "$0", "match": {"channel": "telegram", "accountId": "$0"}}xoxb-...) and app token (xapp-...)channels.slack.accounts with both tokens, nativeStreaming: true (NEVER add tokens or nativeStreaming at the top-level slack config — only in accounts)channels.whatsapp.allowFrom array{"agentId": "$0", "match": {"channel": "whatsapp"}}{"agentId": "$0", "match": {"channel": "gchat", "accountId": "$0"}}Add export lines to $OPENCLAW_REPO/.openclaw/scripts/start-$TIER.sh (before the exec block), following the existing kc() pattern in the file.
Add export lines to BOTH:
$OPENCLAW_REPO/.openclaw/scripts/openclaw-secrets.sh$OPENCLAW_REPO/.openclaw/scripts/openclaw-env.shUpdate secrets.sh — Add entry to the SECRETS array in $OPENCLAW_REPO/secrets.sh
Stow and restart:
rm -f ~/.openclaw/cron/jobs.json
cd "$OPENCLAW_REPO" && stow --no-folding -t ~ .
launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway.$TIER
launchctl kickstart -k gui/$(id -u)/ai.openclaw.gateway
tail -30 ~/.openclaw-$TIER/gateway.logtail -30 ~/.openclaw/logs/gateway.logOPENCLAW_TELEGRAM_<AGENT_UPPER>_BOT_TOKEN (uppercase, underscores)accounts section — never at the top-level channel config. Adding tokens at both levels causes duplicate responses.