Slack は Discord や Telegram より少しクリックが多いですが、フローは線形です。app をインストールできる権限のある Slack ワークスペースが必要。

1. App を作成

  1. api.slack.com/appsCreate New AppFrom scratch
  2. 名前を付ける(例:エージェント名)。
  3. ワークスペースを選ぶ → Create App

2. Socket Mode を有効化

Socket Mode は bot を WebSocket で接続させます — 公開 HTTPS エンドポイント不要。

  1. 左サイドバー → Socket ModeEnable Socket Mode を ON に。
  2. プロンプトが出たら、scope connections:writeApp-Level Token を作成。
  3. トークンをコピー — xapp-… で始まる。保存。

3. Bot scope を追加

  1. 左サイドバー → OAuth & Permissions
  2. Bot Token Scopes までスクロール、追加:
    • app_mentions:read
    • chat:write
    • channels:history
    • im:history
    • im:write

4. イベントサブスクリプションを有効化

  1. 左サイドバー → Event SubscriptionsEnable Events を ON に。
  2. Subscribe to bot events の下で、app_mentionmessage.im を追加。
  3. Save changes。

5. ワークスペースにインストール

  1. 左サイドバー → Install AppInstall to WorkspaceAllow
  2. Bot User OAuth Token をコピー — xoxb-… で始まる。保存。

6. sento init を実行

npx sentoagent init

Slack を選ぶ。プロンプトで両方のトークンを貼り付け:

  • SLACK_APP_TOKEN=xapp-…
  • SLACK_BOT_TOKEN=xoxb-…

アクセス制御

~/.claude/channels/slack/access.json:

{
  "dmPolicy": "allowlist",
  "allowFrom": ["U01ABCD1234"],
  "groups": {
    "C01EFGH5678": { "requireMention": true, "allowFrom": [] }
  }
}
  • allowFrom は Slack ユーザー ID(U で始まる)。
  • groups のキーはチャンネル ID(public は C で、private は G で始まる)。

よくある落とし穴

  • DM で応答なし:im:historyim:write scope が欠けている。追加して app を再インストール。
  • メンションしても応答なし:app_mentions:read が欠けているか、app_mention イベントが購読されていない。
  • not_allowed_token_type エラー:トークンを逆に貼り付けた — xapp が app トークン、xoxb が bot トークン。