OpenClawをまだインストールしていませんか?ここをクリックしてワンライナーインストールコマンドを表示
curl -fsSL https://openclaw.ai/install.sh | bashiwr -useb https://openclaw.ai/install.ps1 | iexcurl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd && del install.cmd- Slackはエンタープライズチーム協業の中核プラットフォームであり、OpenClawと統合することでAIエージェント機能をチームの日常ワークフローに直接組み込み、ツールを切り替えずに自動化タスクを実行できる[1]
- 完全な連携プロセスは4つの主要ステップをカバーする:Slack App作成 -> Bot TokenとApp-Level Tokenの設定 -> Event Subscriptionsの有効化 -> ペアリング認証の完了。所要時間は約15〜20分[3]
- OpenClawのSlack統合はSocket ModeとHTTP Webhookの2つの接続モードをサポートする。Socket Modeはパブリックエンドポイントが不要で開発や内部デプロイに最適。HTTPモードは高トラフィックのエンタープライズ環境に適している[9]
- Channel AllowlistとGroup Policyにより、AIエージェントが応答するチャネルとコマンドをトリガーできるユーザーを精密に制御し、情報セキュリティとコンプライアンスを確保できる[7]
- Slack Enterprise Grid連携により、複数ワークスペースの組織がクロスチームAIエージェントを統合ポリシーで管理でき、Slash CommandsとInteractive Messagesと組み合わせて完全なエンタープライズ向けAI自動化ワークフローを実現できる[5]
1. なぜSlack x OpenClawを選ぶのか?
数あるメッセージングチャネルの中で、Slackはエンタープライズ協業において中心的な位置を占めている。Slackの2025年ワークレポートによると、世界中で75万社以上がSlackを日常のコミュニケーションとプロジェクト管理の主要ツールとして使用し、毎日数十億のメッセージが生成されている。[6]チームのワークフローがすでにSlackエコシステムに深く統合されている場合、チームメンバーに別のAIインターフェースへの切り替えを求めるのではなく、AIエージェントを直接Slackワークスペースに組み込むことが、効率を最大化する戦略的選択となる。
OpenClawはオープンソースのAIエージェントフレームワークとして、Slack Bot APIを通じてワークスペースとシームレスに統合し、チームが慣れ親しんだチャネル環境でAIエージェントと直接対話できるようにする。[8]これにより:
- 学習コストゼロ:チームメンバーは新しいツールを学ぶ必要がない。Slackチャネルでエージェントを@メンションするだけでコマンドを発行できる
- コンテキスト保持:AIエージェントはチャネルの会話コンテキストを読み取り、チームの議論を理解し、文脈に基づいて応答できる
- マルチチャネル・マルチエージェント:異なるチャネルに異なるAIエージェントを配置できる。例えば#dev-opsチャネルにはインフラ管理エージェント、#customer-supportチャネルにはカスタマーサービスエージェントなど
- 完全な監査証跡:エージェントのすべての操作がSlackチャネルに自動記録され、エンタープライズコンプライアンス要件を満たす
- ネイティブ通知統合:エージェントの返信がSlackの通知システムをトリガーし、チームメンバーはインスタントプッシュ通知を受け取る
Telegramのパーソナルなリモート制御シナリオと比較して、Slack x OpenClaw連携はチーム協業、エンタープライズ自動化、組織レベルのAIデプロイにより適している。以下のセクションでは、ゼロからの完全な連携プロセスを解説する。
2. 前提条件
連携を開始する前に、以下の環境と権限が準備されていることを確認する:[4]
2.1 Slackの要件
- Slackワークスペース:管理権限のあるSlack Workspace(無料または有料)が必要
- 管理者権限:Slack Appの作成とインストールにはワークスペースのOwnerまたはAdminである必要がある
- Slackアカウント:api.slack.com管理コンソールにログインするために必要
2.2 OpenClawの要件
- OpenClawインストール済み:未インストールの場合は本記事上部のワンクリックインストールコマンドまたはアーキテクチャ解析&実践デプロイガイドを参照
- Gatewayが稼働中:Slack連携にはOpenClaw Gatewayがメッセージの受信・中継のために継続的に稼働している必要がある[5]
- 少なくとも1つのAIエージェントが設定済み:エージェントの基本設定(モデル選択、System Promptなど)が完了していることを確認
Gatewayステータスの確認:
openclaw gateway status
Gatewayがまだ起動していない場合:
openclaw gateway start
2.3 ネットワーク要件
OpenClawのSlack連携は2つの接続モードをサポートしている:
| モード | 要件 | 適したシナリオ |
|---|---|---|
| Socket Mode | アウトバウンドHTTPS接続のみ必要 | 開発テスト、ファイアウォール内デプロイ、パブリックIPのない環境 |
| HTTP Webhook | パブリックHTTPSエンドポイントが必要(またはngrok/Cloudflare Tunnel) | 高トラフィック本番環境、Enterprise Gridデプロイ |
推奨:初回セットアップにはSocket Modeを使用する。パブリックエンドポイントが不要で、スムーズに開始できる。ニーズの拡大に応じて後からHTTP Webhookモードに切り替えること。
3. ステップ1:Slack AppとBot Tokenの作成
これは連携全体の核心ステップである。SlackプラットフォームでAppを作成し、必要なTokenと権限を取得する。[2][3]
3.1 Slack Appの作成
- api.slack.com/appsにアクセスし、「Create New App」をクリック
- 「From scratch」を選択
- App名(例:
OpenClaw Agent)を入力し、対象ワークスペースを選択 - 「Create App」をクリック
作成後、Appの設定ページに遷移する。次に、必要な権限とTokenを設定する。
3.2 Bot Token Scopeの設定
左メニューから「OAuth & Permissions」に移動し、「Scopes」セクションまでスクロールする。Bot Token Scopesに以下の権限を追加する:[3]
| Scope | 用途 | 必要性 |
|---|---|---|
app_mentions:read | エージェントへの@メンションメッセージを読み取る | 必須 |
chat:write | エージェントがチャネルでメッセージを送信 | 必須 |
channels:history | パブリックチャネルのメッセージ履歴を読み取る | 必須 |
channels:read | ワークスペースのパブリックチャネル一覧を取得 | 必須 |
groups:history | プライベートチャネルのメッセージ履歴を読み取る | オプション |
groups:read | エージェントが所属するプライベートチャネル一覧を取得 | オプション |
im:history | DM履歴を読み取る | オプション |
im:read | エージェントのDM会話一覧を取得 | オプション |
im:write | エージェントがDMを送信 | オプション |
files:write | エージェントがチャネルにファイルをアップロード | オプション |
files:read | チャネル内のファイルを読み取る | オプション |
reactions:write | エージェントがメッセージに絵文字リアクションを追加 | オプション |
commands | Slash Commandsの登録 | 高度な機能に必要 |
users:read | ユーザー情報の照会 | オプション |
最小構成:基本的な「@メンション -> エージェント返信」機能のみが必要な場合は、app_mentions:read、chat:write、channels:history、channels:readのみを追加する。
3.3 Appをワークスペースにインストール
「OAuth & Permissions」ページの上部に戻り、「Install to Workspace」をクリックする。Slackが設定した全権限を一覧表示する認可確認画面を表示する。確認後、「Allow」をクリックする。
インストール後、ページに2つのTokenが表示される:
- Bot User OAuth Token:
xoxb-...形式。エージェントとSlack間の通信に使用するメインToken - User OAuth Token(設定した場合):
xoxp-...形式。本ガイドでは不要
Bot User OAuth Token(xoxb-...)をコピーする。後続のステップで必要になる。
3.4 Socket Modeの有効化とApp-Level Tokenの取得
Socket Mode(初回セットアップに推奨)を使用する場合:
- 左メニューから「Socket Mode」に移動
- 「Enable Socket Mode」を有効化
- App-Level Tokenの作成を求められる。名前(例:
openclaw-socket)を入力し、connections:writeScopeを選択 - 「Generate」をクリック
生成されたApp-Level Tokenはxapp-...形式となる。これもコピーして保存する。
4. ステップ2:OpenClaw設定
Slack Bot TokenとApp-Level Tokenが揃ったら、OpenClawに設定する。[1]
4.1 Bot Tokenの設定
openclaw config set channels.slack.botToken "xoxb-your-bot-token"
4.2 App-Level Tokenの設定(Socket Mode)
openclaw config set channels.slack.appToken "xapp-your-app-level-token"
4.3 Slackチャネルの有効化
openclaw config set channels.slack.enabled true
4.4 接続モードの設定
OpenClawにSocket Modeを指定する:
openclaw config set channels.slack.mode "socket"
HTTP Webhookモードを使用する場合:
openclaw config set channels.slack.mode "http"
openclaw config set channels.slack.webhookPort 3001
4.5 設定の確認
以下のコマンドでSlack関連の全設定が正しく保存されていることを確認する:
openclaw config get channels.slack
期待される出力:
{
"enabled": true,
"mode": "socket",
"botToken": "xoxb-****",
"appToken": "xapp-****"
}
4.6 Gatewayの再起動
設定後、Gatewayを再起動して変更を反映させる:
openclaw gateway restart
Gatewayログを監視してSlack接続が成功したことを確認する:
openclaw logs --follow --limit 20
[slack] Connected via Socket Modeのようなメッセージが表示されれば接続成功である。
5. ステップ3:Event SubscriptionsとWebhook
OpenClawはSlackからのイベント(ユーザーがエージェントを@メンションした時のメッセージイベントなど)を受信してAIエージェントの応答をトリガーする必要がある。これにはSlackのEvent Subscriptionsの設定が必要である。[9]
5.1 Socket ModeでのEvent Subscriptions
Socket Modeを使用している場合、イベントはWebSocket経由でOpenClawに直接配信されるため、パブリックなRequest URLは不要。設定手順:
- Slack Appの設定で、左メニューから「Event Subscriptions」に移動
- 「Enable Events」を有効化
- Socket Modeが有効化されているため、Request URLの入力は求められない
- 「Subscribe to bot events」で以下のイベントを追加:
| イベント名 | 機能 | 必要性 |
|---|---|---|
app_mention | エージェントが@メンションされた時にトリガー | 必須 |
message.channels | パブリックチャネルの新着メッセージ | オプション(チャネル全体の監視用) |
message.groups | プライベートチャネルの新着メッセージ | オプション |
message.im | エージェントDMの新着メッセージ | オプション |
「Save Changes」をクリック。
5.2 HTTP WebhookモードでのEvent Subscriptions
HTTP Webhookモードを選択した場合、Slackにパブリックアクセス可能なHTTPSエンドポイントを提供する必要がある:
- OpenClaw GatewayがパブリックURL経由でアクセス可能であることを確認する(例:Cloudflare Tunnelまたはngrok経由)
- 「Event Subscriptions」で「Enable Events」を有効化
- 「Request URL」にパブリックエンドポイントを入力:
https://your-domain.com/api/slack/events
Slackは即座にこのURLに検証リクエスト(challengeリクエスト)を送信する。OpenClaw Gatewayがこれを自動処理する。検証が成功すると、URLの横に緑色の「Verified」バッジが表示される。
ローカル開発テストにngrokを使用する場合:
# ngrokトンネルを起動(Gatewayがポート3001でリッスンしている場合)
ngrok http 3001
# ngrokが一時的なパブリックURLを生成する。例:
# https://abc123.ngrok-free.app
# このURL + パスをRequest URLとして使用
5.3 イベント受信の確認
設定後、Slackワークスペースの任意のパブリックチャネルにBotを招待し(/invite @OpenClaw Agentと入力)、エージェントを@メンションする:
@OpenClaw Agent こんにちは、接続状態を確認してください
すべてが正常に動作していれば、エージェントは数秒以内に返信するはずである。応答がない場合は、本記事後半のトラブルシューティングセクションを参照されたい。
6. ステップ4:チャネル権限とグループポリシー
エンタープライズ環境では、すべてのチャネルでAIエージェントが応答することは望ましくない。一部のチャネルには機密情報が含まれ、他のチャネルではAIの介入が不適切な場合がある。OpenClawはきめ細かなチャネル権限管理を提供する。[7][10]
6.1 Channel Allowlist
エージェントが特定のチャネルでのみ応答するよう制限する:
# Channel IDの取得(Slackでチャネル名を右クリック -> リンクをコピー、URLの最後のセグメントがID)
# 例:C0123456789
openclaw config set channels.slack.allowedChannels '["C0123456789", "C9876543210"]'
設定後、エージェントは許可リストのチャネルでの@メンションにのみ応答し、他のチャネルのメッセージは無視される。
6.2 Channel Denylist
ほとんどのチャネルでエージェントが応答するが、特定の機密チャネルのみ除外する場合:
openclaw config set channels.slack.deniedChannels '["C1111111111"]'
注意:allowedChannelsとdeniedChannelsを同時に使用すべきではない。両方が設定されている場合、allowedChannelsが優先される。
6.3 DMポリシー
Slackでエージェントに直接DMを送信できるユーザーを制御する:
- owner_only(デフォルト):ペアリング済みのオーナーのみがDM可能
- allowlist:許可リストのSlack User IDのみがDM可能
- workspace:ワークスペースの全メンバーがDM可能
- disabled:DM機能を完全に無効化
openclaw config set channels.slack.dmPolicy "owner_only"
allowlistモードの場合、許可するUser IDを設定する:
# User IDはSlackプロフィールで確認できる(Uで始まる)
openclaw config set channels.slack.allowedUsers '["U0123456789", "U9876543210"]'
6.4 ペアリング認証
Telegram連携と同様に、初回接続時にペアリングを完了して、認可されたユーザーのみがエージェントを制御できるようにする必要がある:[10]
- Slackでエージェントにメンションするか、許可チャネルで@メンションする
- エージェントが「Pairing Required」と返信し、6桁のペアリングコードを表示する
- ターミナルでペアリングを確認・承認する:
# 保留中のペアリングリクエストを一覧表示
openclaw pairing list
# ペアリングリクエストを承認
openclaw pairing approve
# または特定のペアリングコードを承認
openclaw pairing approve --code 123456
ペアリング完了後、エージェントがSlackで確認メッセージを返信し、以降は通常通りやり取りできる。
7. 高度な機能:Slash CommandsとInteractive Messages
基本的な@メンション対話はほとんどのニーズをカバーするが、SlackのSlash CommandsとInteractive Messagesを使用することで、AIエージェントの操作をより構造化し直感的にできる。[2]
7.1 Slash Commandsの登録
Slash Commandsを使うと、/command形式でエージェントの特定機能を素早くトリガーできる:
- Slack App設定ページで「Slash Commands」に移動
- 「Create New Command」をクリック
- コマンドのパラメータを設定:
| フィールド | 例 | 説明 |
|---|---|---|
| Command | /claw | トリガーコマンド(短く覚えやすい名前) |
| Request URL | Socket Modeでは空欄 | HTTPモードではエンドポイントURLを記入 |
| Short Description | AIエージェントにコマンドを発行 | /入力時に表示される説明 |
| Usage Hint | [タスクの説明] | パラメータ入力方法のヒント |
設定後、OpenClawがSlash Commandイベントを自動処理する。Slackで以下のように入力する:
/claw 今週の#salesチャネルの議論サマリーを分析してレポートにまとめて
エージェントがコマンドを受け取り、タスクの実行を開始する。
7.2 マルチコマンド設定
複数のSlash Commandsを登録して異なるタスクに割り当て、OpenClaw側で異なるエージェントやSkillにマッピングできる:
openclaw config set channels.slack.commands '{
"/claw": {"agent": "default", "description": "汎用AIエージェント"},
"/claw-dev": {"agent": "coding", "description": "コーディング開発エージェント"},
"/claw-ops": {"agent": "devops", "description": "インフラ管理エージェント"},
"/claw-report": {"agent": "analyst", "description": "データ分析・レポートエージェント"}
}'
7.3 Interactive Messages
OpenClawはSlackのBlock Kitを通じて、ボタン、メニュー、フォームを含むインタラクティブメッセージを送信でき、テキスト入力ではなくクリック操作でエージェントとやり取りできる。
インタラクティブ機能の有効化:
- Slack App設定ページで「Interactivity & Shortcuts」に移動
- 「Interactivity」を有効化(Socket ModeではRequest URL不要)
- OpenClaw側でインタラクティブメッセージのサポートを有効化:
openclaw config set channels.slack.interactivity true
有効化後、エージェントは以下のようなインタラクティブメッセージを送信できる:
- 確認ボタン:高リスク操作の実行前に、エージェントがユーザー承認用の確認ボタンを送信
- オプションメニュー:エージェントが複数の選択肢を提示し、ユーザーが選択
- フォーム収集:エージェントがModalフォームで構造化された情報を収集
8. 高度な機能:スレッドとマルチチャネル管理
チーム環境では、適切な会話管理が不可欠である。OpenClawのSlack連携はスレッド返信とマルチチャネルエージェント管理をサポートしている。
8.1 スレッド返信モード
デフォルトでは、エージェントの返信はチャネルに直接送信される。アクティブなチャネルではメッセージが散乱する可能性がある。エージェントをスレッドで返信するよう設定できる:
openclaw config set channels.slack.replyInThread true
有効化後、エージェントのすべての返信が元のメッセージへのスレッド返信となり、チャネルがきれいに保たれる。ユーザーはスレッド内でエージェントとの会話を続けることもでき、独立したコンテキスト空間を形成する。
8.2 スレッドコンテキスト設定
スレッドで返信する際、エージェントはスレッド内の以前のすべてのメッセージをコンテキストとして読み取れる:
# エージェントが読み取る最大スレッドメッセージ数を設定
openclaw config set channels.slack.threadContextLimit 50
エージェントは最新50件のスレッドメッセージを会話コンテキストとして読み取る。長い会話では、過度なToken消費を避けるために適切な制限値を設定する。
8.3 マルチチャネル・マルチエージェントアーキテクチャ
大規模組織では通常、異なるチャネルに異なるAIエージェントが必要となる。OpenClawは以下のアーキテクチャをサポートする:[5]
openclaw config set channels.slack.channelAgents '{
"C0123456789": {"agent": "customer-support", "model": "claude-sonnet-4-20250514"},
"C9876543210": {"agent": "devops", "model": "claude-opus-4-20250514"},
"C1111111111": {"agent": "data-analyst", "model": "gpt-4o"}
}'
この設定により:
#customer-supportチャネルが高速Sonnetモデルを使用する専用カスタマーサービスエージェントを利用#devopsチャネルがより高い推論能力を持つOpusモデルを使用するインフラ管理エージェントを利用#data-analysisチャネルがGPT-4oモデルを使用するデータ分析エージェントを利用
各チャネルのエージェントは独立したSystem Prompt、Skillセット、モデル設定を持ち、完全に分離されている。
8.4 クロスチャネルメッセージ転送
一部のシナリオでは、エージェントが一つのチャネルの結果を別のチャネルに転送することが望ましい場合がある。例えば、#alertsチャネルで異常を検出した後、自動的にサマリーを#devopsチャネルに送信する:
openclaw config set channels.slack.crossChannelForward true
セキュリティに関する注意:クロスチャネル転送を有効化する際は、エージェントが機密チャネルの情報を不適切なチャネルに漏洩しないよう確認すること。Channel Allowlistとの併用を推奨する。
9. エンタープライズデプロイ:Slack Enterprise Grid連携
Slack Enterprise Gridを使用する大規模組織向けに、OpenClawは追加の連携機能を提供する。[5]
9.1 組織全体のAppデプロイ
Enterprise GridではSlack AppをOrg-Wide Appとしてデプロイできる。一度インストールすれば全ワークスペースで使用可能:
- Slack App設定で「Org Level Apps」に移動
- 「Opt into Org-Wide App Installation」を有効化
- 組織管理者にインストールの承認を依頼
インストール後、OpenClawのBot Tokenがクロスワークスペースアクセス権を持ち、統合管理が必要な企業に適している。
9.2 マルチワークスペースエージェント管理
Enterprise Grid環境では、異なるワークスペースに異なるエージェントポリシーを設定できる:
openclaw config set channels.slack.enterprise '{
"orgId": "E0123456789",
"workspaceOverrides": {
"T111": {"agent": "engineering", "allowedChannels": ["C111", "C222"]},
"T222": {"agent": "sales", "allowedChannels": ["C333", "C444"]},
"T333": {"agent": "hr", "dmPolicy": "disabled"}
}
}'
9.3 コンプライアンスと監査
エンタープライズ環境では厳格な監査証跡の要件がある。OpenClawのSlack連携は以下を自動記録する:
- 全エージェント対話記録:誰が、いつ、どのチャネルから、どのコマンドを発行したか
- エージェント実行ログ:エージェントが実行した操作とその結果
- Token消費量:各対話で消費されたLLM Token数
監査ログの表示:
openclaw logs --channel slack --format json --since "7d"
これらのログはエンタープライズSIEMシステム(Splunk、Datadogなど)にエクスポートして一元管理できる。[7]
9.4 レート制限とクォータ管理
AIエージェントの使用量が制御不能になることを防ぐため、レート制限の設定を推奨する:
# ユーザーあたりの1時間の最大対話数
openclaw config set channels.slack.rateLimits.perUser 60
# チャネルあたりの1時間の最大対話数
openclaw config set channels.slack.rateLimits.perChannel 200
# グローバルな1日の最大Token消費量
openclaw config set channels.slack.rateLimits.dailyTokenLimit 1000000
制限を超過した場合、エージェントは無反応になるのではなく、フレンドリーなメッセージを返信する。
10. 完全設定例:openclaw.json
以下は本記事で紹介した全機能を網羅するSlack連携の完全設定例である:
{
"gateway": {
"enabled": true,
"port": 3000
},
"channels": {
"slack": {
"enabled": true,
"mode": "socket",
"botToken": "xoxb-your-bot-token",
"appToken": "xapp-your-app-level-token",
"replyInThread": true,
"threadContextLimit": 50,
"interactivity": true,
"dmPolicy": "allowlist",
"allowedUsers": ["U0123456789", "U9876543210"],
"allowedChannels": ["C0123456789", "C9876543210"],
"channelAgents": {
"C0123456789": {
"agent": "general",
"model": "claude-sonnet-4-20250514"
},
"C9876543210": {
"agent": "devops",
"model": "claude-opus-4-20250514"
}
},
"commands": {
"/claw": {"agent": "default"},
"/claw-dev": {"agent": "coding"},
"/claw-ops": {"agent": "devops"}
},
"rateLimits": {
"perUser": 60,
"perChannel": 200,
"dailyTokenLimit": 1000000
}
}
}
}
注意:実際のデプロイでは、Bot TokenとApp-Level Tokenを設定ファイルにハードコードすべきではない。環境変数の使用を推奨する:
export OPENCLAW_SLACK_BOT_TOKEN="xoxb-..."
export OPENCLAW_SLACK_APP_TOKEN="xapp-..."
openclaw.jsonでの参照方法:
{
"channels": {
"slack": {
"botToken": "${OPENCLAW_SLACK_BOT_TOKEN}",
"appToken": "${OPENCLAW_SLACK_APP_TOKEN}"
}
}
}
11. トラブルシューティング
以下はSlack x OpenClaw連携で最もよく遭遇する問題と解決策をまとめたものである:[1][9]
| 問題 | 考えられる原因 | 解決策 |
|---|---|---|
| エージェントが完全に無応答 | Gatewayが動作していない、Tokenが不正、またはSlackチャネルが有効化されていない | openclaw gateway statusでGateway稼働を確認、openclaw config get channels.slackでTokenを確認、enabledがtrueであることを確認 |
invalid_authエラー |
Bot Tokenの形式が不正または期限切れ | Slack App設定のOAuth & PermissionsページでTokenを再コピー、xoxb-で始まることを確認 |
| Socket Mode接続失敗 | App-Level Tokenが無効またはSocket Modeが有効化されていない | App-Level Tokenがxapp-で始まることを確認、Slack App設定でSocket Modeが有効化されているか確認 |
| 特定チャネルでエージェントが応答しない | Channel Allowlistの制限またはBotがチャネルに招待されていない | allowedChannels設定を確認、/invite @YourBotNameで対象チャネルにBotを招待 |
| Pairing Requiredが繰り返し表示 | ペアリングが完了していないまたは期限切れ | openclaw pairing listでステータスを確認、openclaw pairing approveを再実行 |
| HTTP Webhook検証失敗 | URLに到達できないまたはGatewayが正しいポートでリッスンしていない | パブリックURLがアクセス可能であることを確認、webhookPortがGatewayと一致していることを確認、HTTPS証明書が有効であることを確認 |
| Event Subscriptionsでイベントが受信されない | 正しいイベントタイプにサブスクライブしていない | Slack App設定に戻り、app_mentionおよびその他の必須イベントがサブスクライブされていることを確認 |
| エージェントの返信遅延が30秒超 | LLMの応答時間が長いまたはネットワーク遅延 | より高速なモデル(HaikuまたはSonnet)に切り替え、Gatewayサーバーのネットワーク遅延を確認 |
| Slash Commandが動作しない | Slack Appに登録されていないまたはcommands Scopeが追加されていない |
Slack App設定でSlash Commandが作成されていることを確認、Bot Token Scopesにcommandsが含まれていることを確認 |
| インタラクティブボタンのクリックが無反応 | Interactivityが有効化されていない | Slack AppのInteractivity & Shortcutsが有効化されていることを確認、OpenClaw側のinteractivityがtrueであることを確認 |
| クロスチャネル転送の権限エラー | Botが転送先チャネルでchat:write権限を持っていない |
Botが書き込み権限を持って転送先チャネルに招待されていることを確認 |
レート制限エラー(429 Too Many Requests) |
Slack APIのレート制限を超過 | SlackのAPIレート制限は約1メッセージ/秒(tier 1)。エージェントの返信頻度を下げるか、SlackのRetry-Afterヘッダーを使用 |
11.1 診断コマンド早見表
トラブルシューティングで最もよく使用する診断コマンド:
# Gatewayステータスの確認
openclaw gateway status
# リアルタイムログの表示
openclaw logs --follow --limit 50
# 全チャネルの接続状態を確認
openclaw channels status
# 完全設定の確認
openclaw config get channels.slack
# 全ペアリング済みデバイスの一覧
openclaw pairing list
11.2 ログレベルの調整
原因特定が困難な問題の場合、Slackチャネルのログレベルを上げる:
openclaw config set channels.slack.logLevel "debug"
openclaw gateway restart
デバッグモードではすべてのSlack APIリクエストとレスポンスが記録され、問題の根本原因の特定に役立つ。トラブルシューティング後はログレベルをinfoに戻すこと。
12. セキュリティのベストプラクティス
AIエージェントをSlackワークスペースに接続することは、コンピュータ操作能力を持つ自律型エージェントをチームのコアコミュニケーションプラットフォームに導入することと等しい。以下のセキュリティ原則を遵守すること:[7][8]
- 最小権限の原則:エージェントに必要なSlack Scopeのみを付与する。@メンションへの応答のみが必要な場合、
files:writeやim:write権限は付与しない - Channel Allowlistの使用:エージェントが操作可能なチャネルを明示的にリスト化し、機密チャネルへの偶発的なアクセスを防止する
- 厳格なDMポリシーの設定:本番環境では
owner_onlyまたはallowlistを使用し、workspaceは絶対に使用しない - Tokenのセキュリティ管理:Bot TokenとApp-Level Tokenは環境変数で管理し、バージョン管理にコミットしない
- 定期的なTokenローテーション:90日ごとにTokenを再生成し、OpenClaw側を更新する
- インタラクティブ確認の有効化:高リスク操作(ファイル削除、デプロイ、データベース変更)にはエージェントに先に確認ボタンの送信を要求する
- 監査ログの監視:エージェントの対話ログを定期的にレビューし、異常な操作がないことを確認する
- エージェントのSkill権限の制限:エージェントに必要なSkillのみをインストールし、過度なシステムアクセス能力の付与を避ける
- レート制限の設定:エージェントの悪用や偶発的な過度の操作トリガーを防止する
- 本番環境とテスト環境の分離:異なるSlack AppとBot Tokenを使用して、本番とテスト環境のエージェントを分離する
まとめ
Slack x OpenClaw連携はAIエージェントを個人ツールからチームレベルのインテリジェント協業パートナーへと昇格させる。チームメンバーは日常のSlackチャネル上でAIエージェントとやり取りでき、ターミナルを開いたり、新しいツールを学んだり、ワークフローから離れる必要がない。[8]
技術的な観点からは、本ガイドがSlack App作成、Bot TokenとApp-Level Tokenの設定、Event Subscriptions設定(Socket ModeとHTTP Webhookモードの両方)、きめ細かなチャネル権限管理、Slash Commands、Interactive Messages、スレッド管理などの高度な機能、そしてエンタープライズレベルのEnterprise Gridデプロイまでの完全な連携プロセスをカバーしている。[1][5]
連携プロセス全体の核心哲学はセキュリティファーストである。ペアリング機構、Channel Allowlist、DMポリシー、レート制限という多層的なセキュリティ保護が、エンタープライズ環境におけるAIエージェントの制御性とコンプライアンスを確保する。[7]
OpenClawを初めて使用する場合は、まずアーキテクチャ解析&実践デプロイガイドを読んで基本的なインストールとセットアップを完了することをお勧めする。他のメッセージングチャネル連携についてはプラットフォーム連携完全ガイドを参照されたい。セキュリティに関する懸念についてはセキュリティ完全ガイドで完全なセキュリティアーキテクチャを確認できる。
さらなるデプロイ支援が必要な場合は、Meta Intelligenceにお問い合わせください。アーキテクチャ設計からローンチサポートまで、お客様のエンタープライズ向けにカスタムAIエージェント連携ソリューションを設計いたします。



