Slack x n8n連携!RAGチャットボット実装入門
学習ポイント
- Slackアプリの作成方法とBot User OAuth Token取得の手順
- n8nのSlack Triggerノードとアプリを接続するためのイベント設定(Webhook URLの検証)
- AIエージェントとPinecone(RAG)を連携させ、社内情報を回答させるフローの構築
n8nのSlack Triggerノードを活用し、BotへのメンションをきっかけにAIが回答する仕組みを構築します。Slack APIの設定から、n8n側のAIエージェント設定、本番公開時の注意点までを順に説明します。
1. Slack Appの作成と権限(Scopes)の設定
Slackの管理画面から「Create New App」を選択し、「From Scratch」でアプリを作成します。Botに以下の権限(Scopes)を付与する必要があります。
`app_mentions:read`: メンションを検知するため
`channels:join` / `channels:read`: チャンネルへの参加と読み取り
`chat:write`: メッセージを送信するため
`groups:read`: プライベートチャンネル対応(任意)
設定後、「Install to Workspace」を実行し、発行された「Bot User OAuth Token」をn8nの接続設定(Credential)に貼り付けます。
2. イベントサブスクリプションとURL検証
Slackからn8nに通知を送るために「Event Subscriptions」を有効にします。n8nのSlack Triggerノードから「Webhook URL」をコピーし、Slack側のRequest URLに貼り付けます。この際、n8n側で「Execute Step」を押して待機状態にしておかないと、Slack側の検証(Verified)が完了しないため注意が必要です。
特定のイベントとして `app_mention` を登録し、「Save Changes」を必ず押してください。
3. AIエージェントとRAG(知識ベース)の連携
n8n上でAI Agentノードを配置し、言語モデル(OpenAI等)とベクターデータベース(Pinecone等)を接続します。Pineconeのリトリーバル設定では、検索するドキュメントの数(Limit)や出力形式を定義します。これにより、ボットは社内ドキュメントなどの外部知識に基づいた回答が可能になります。
4. テストURLからプロダクションURLへの切り替え
開発が完了し、ワークフローを「Active」にする際は、Webhook URLを「Test URL」から「Production URL」に変更する必要があります。Slack側のRequest URLも本番用に更新し、再度保存することで、n8nを閉じている状態でも24時間ボットが稼働するようになります。
#### 紹介ツール・サービス
**n8n**: ワークフロー自動化ツール
**Slack API**: ボット作成とイベント通知の管理
**Pinecone**: ベクターデータベース(AIの検索知識用)
**OpenAI**: AIの思考ロジック(LLM)