mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-11-03 22:32:27 +08:00
135 lines
9.3 KiB
Plaintext
135 lines
9.3 KiB
Plaintext
---
|
||
title: "Slack"
|
||
description: "LangBot で Slack AI ボットを構築。GPT・Claude・Dify 等を Slack ワークスペースに接続。"
|
||
icon: "/images/platforms/slack.svg"
|
||
---
|
||
|
||
## クイック設定(推奨)
|
||
|
||
**Slack クイック設定**を使うと、LangBot がアプリの権限、メッセージイベント、メッセージタブ、OAuth 戻り先 URL を自動設定します。設定トークンを入力して Slack でインストールを承認し、Socket Mode の場合は App-Level Token を追加してください。
|
||
|
||
### 1. ボットを作成して接続方式を選ぶ
|
||
|
||
LangBot の **ボット → ボットを作成**で名前を入力し、**Slack** を選んで送信します。設定ページで接続方式を選び、**Slack クイック設定 → 開始**をクリックします。
|
||
|
||

|
||
|
||
- **Socket Mode(推奨)**:LangBot から Slack に接続するため、公開イベント Webhook は不要です。ローカル環境やプライベートネットワークに適しています。
|
||
- **Webhook**:Slack がイベントを送信するため、公開 HTTPS エンドポイントが必要です。
|
||
|
||

|
||
|
||
### 2. App Configuration Tokens を取得する
|
||
|
||
[Slack アプリページ](https://api.slack.com/apps)を開き、**Your App Configuration Tokens → Generate Token** で対象のワークスペースを選択します。**Access Token** と **Refresh Token** をそれぞれコピーしてください。既存のトークンがある場合は、そのコピー用ボタンを使用できます。
|
||
|
||

|
||
|
||
これらはアプリの作成・設定用であり、**実行時に使う Bot Token や App-Level Token とは異なります**。アシスタントの対応する欄に入力し、アプリ名を確認します。
|
||
|
||
### 3. URL を確認してアプリを自動作成する
|
||
|
||
Socket Mode では **OAuth 戻り先 URL** を確認します。承認後にブラウザーを LangBot に戻す URL で、HTTPS または `http://localhost` を使用でき、末尾は `/api/v1/platform/adapters/slack/setup/callback` です。ブラウザーからアクセスできればよく、イベント Webhook ではありません。リモート環境では、ブラウザーから到達できないサーバー内部のアドレスを指定しないでください。
|
||
|
||

|
||
|
||
Webhook の場合は **Webhook URL** が表示されます。公開ドメイン、HTTPS、リバースプロキシを確認し、末尾の `/bots/<ボット UUID>` を維持してください。この URL から OAuth 戻り先 URL が生成され、Slack のイベント URL 検証も自動で行われます。
|
||
|
||
**作成して自動設定**をクリックし、**Slack で承認**が表示されるまで待ちます。
|
||
|
||
### 4. Slack でインストールを承認する
|
||
|
||
**Slack で承認**を開き、アプリ名、ワークスペース、権限を確認して **Allow** をクリックします。ワークスペースのポリシーによっては管理者の承認が必要です。完了後、元の LangBot アシスタントに戻ります。
|
||
|
||

|
||
|
||
### 5. Socket Mode:App-Level Token を追加する
|
||
|
||
Webhook の場合はこの手順をスキップします。Socket Mode ではアシスタントの**アプリ設定を開く**から **Basic Information → App-Level Tokens → Generate Token and Scopes** に進みます。
|
||
|
||
1. Token Name に `langbot-socket` などの名前を入力します。
|
||
2. **Add Scope** で **connections:write** を選択します。
|
||
3. **Generate** をクリックし、生成された `xapp-` トークンをコピーして、アシスタントの **App-Level Token** に入力します。
|
||
|
||

|
||
|
||
**Token rotation** は無効のままにしてください。作成した同じ Slack アプリのトークンを使用します。手順 2 の Access Token や Refresh Token をここに入力しないでください。
|
||
|
||
### 6. 設定を反映し、ルーティングを設定して有効化する
|
||
|
||
承認完了が表示されたら、**アダプター設定に入力**をクリックします。Socket Mode では App-Level Token を入力すると、このボタンが有効になります。Bot Token などの認証情報は自動で反映されます。
|
||
|
||

|
||
|
||
**イベントルーティング → アクションを追加 → 受信メッセージに返信**で、`message.received` に設定済みのパイプラインまたは Agent を指定し、ルートを有効にします。最後に右上の**保存して有効化**をクリックします。
|
||
|
||

|
||
|
||
### 7. 会話を確認する
|
||
|
||
Slack でアプリの **Messages** タブを開き、DM を送信します。ボットをチャンネルに招待してメンションすることもできます。返信が届けば接続成功です。
|
||
|
||

|
||
|
||
<Info>
|
||
設定トークンは一時的な設定セッションでのみ使用し、実行用の認証情報として保存しません。セッションは 15 分間有効です。キャンセルしても作成済みの Slack アプリは削除されず、再実行すると別のアプリが作成される場合があります。戻り先ページでエラーが出ても、最初に元のアシスタントで承認完了になっていないか確認してください。
|
||
</Info>
|
||
|
||
返信がない場合は、ボットとメッセージルートが有効か、処理先が正常に動作するか、ボットのログにエラーがないかを確認します。Socket Mode では同じアプリの App-Level Token と `connections:write` 権限を、Webhook では公開 URL と Slack の **Verified** 表示を確認してください。
|
||
|
||
## 手動設定(Webhook)
|
||
|
||
以下は手動 Webhook 設定です。手動で Socket Mode を使う場合は Slack 側で有効にし、Bot Token と App-Level Token を入力して `app_mention` と `message.im` を購読します。イベント Request URL は不要です。
|
||
|
||
### ボットの作成
|
||
|
||
[Slack App Platform](https://api.slack.com/apps)にアクセスします。
|
||
|
||

|
||
|
||
右上の「Create New App」をクリックし、「from a manifest」を選択し、ボットをデプロイするワークスペースを選択し、next を選択して、ボットを作成します。
|
||
|
||
左側の「Basic Information」オプションに入り、`signing_secret` を記録します。
|
||
|
||
左側の「OAuth & Permissions」に入り、「Scopes」までスクロールダウンし、次のボット権限を追加します:
|
||
|
||

|
||
|
||
|
||

|
||
|
||
上記の権限を追加した後、「Install to your workspace」をクリックし、`xoxb-xxxxx` で始まるトークンを記録します。<br />
|
||
|
||
**注意:**
|
||
**すべての権限を一度に追加しなかった場合は、後で App を再インストールする必要があります。**<br />
|
||
|
||
左側の「App Home」タブに入り、一番下までスクロールして「Message Tab」を見つけ、オンにして
|
||
「Allow users to send Slash commands and messages from the messages tab」をチェックします。
|
||
|
||
### LangBot に接続
|
||
|
||
左側の「Event Subscriptions」に入り、スイッチをオンにし、「Subscribe to bot events」をクリックし、
|
||
次の権限を追加します:
|
||

|
||
|
||
上記のすべての操作を完了した後、LangBot Webui 設定ページを開き、新しいボットを追加します
|
||
|
||

|
||
|
||
### ボットの起動
|
||
|
||
<Info>
|
||
Webhook には公開 HTTPS URL が必要なため、まずドキュメント [HTTP リバースプロキシと SSL の設定](/en/workshop/production/proxy-and-ssl)に従ってリバースプロキシを設定してください。
|
||
</Info>
|
||
|
||
Slack 設定項目を入力した後、**LangBot を起動します**。
|
||
LangBot ホームページで Slack ボットを有効にして開き、ボット設定ページから WebHook URL をコピーし、先ほど設定した Event Subscriptions の「Request URL」に WebHook URL を入力します。
|
||
|
||
|
||
上記のすべての設定項目を入力した後、リンクを保存をクリックします。緑色の **Verified** が表示されれば、デプロイは成功です。
|
||
それ以外の場合は、上記の設定項目が正しく入力されているかどうかを確認してください。
|
||
|
||
### 効果のデモンストレーション
|
||
|
||

|