diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 24376607b..1ab05f4c5 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "9bf465e54c4f8057d368cccec30f2f00e08a30e0", - "syncedAt": "2026-04-06T06:57:16.111Z" + "sha": "ec20e33e3691d16a294ca77de7e6627fcc5ac30d", + "syncedAt": "2026-04-06T07:18:53.617Z" } diff --git a/docs/channels/slack.md b/docs/channels/slack.md index 4e6383922..983401eb5 100644 --- a/docs/channels/slack.md +++ b/docs/channels/slack.md @@ -122,8 +122,8 @@ openclaw gateway ## Manifest and scope checklist - - + + ```json { @@ -198,8 +198,93 @@ openclaw gateway } ``` - + + + +```json +{ + "display_information": { + "name": "OpenClaw", + "description": "Slack connector for OpenClaw" + }, + "features": { + "bot_user": { + "display_name": "OpenClaw", + "always_online": true + }, + "app_home": { + "messages_tab_enabled": true, + "messages_tab_read_only_enabled": false + }, + "slash_commands": [ + { + "command": "/openclaw", + "description": "Send a message to OpenClaw", + "should_escape": false, + "url": "https://gateway-host.example.com/slack/events" + } + ] + }, + "oauth_config": { + "scopes": { + "bot": [ + "app_mentions:read", + "assistant:write", + "channels:history", + "channels:read", + "chat:write", + "commands", + "emoji:read", + "files:read", + "files:write", + "groups:history", + "groups:read", + "im:history", + "im:read", + "im:write", + "mpim:history", + "mpim:read", + "mpim:write", + "pins:read", + "pins:write", + "reactions:read", + "reactions:write", + "users:read" + ] + } + }, + "settings": { + "event_subscriptions": { + "request_url": "https://gateway-host.example.com/slack/events", + "bot_events": [ + "app_mention", + "channel_rename", + "member_joined_channel", + "member_left_channel", + "message.channels", + "message.groups", + "message.im", + "message.mpim", + "pin_added", + "pin_removed", + "reaction_added", + "reaction_removed" + ] + }, + "interactivity": { + "is_enabled": true, + "request_url": "https://gateway-host.example.com/slack/events", + "message_menu_options_url": "https://gateway-host.example.com/slack/events" + } + } +} +``` + + + + + If you configure `channels.slack.userToken`, typical read scopes are: