> ## Documentation Index
> Fetch the complete documentation index at: https://developer.qaip.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Slackボットによるナレッジ共有

> データソースの内容をもとにQAIP AIがSlackでの質問に即時回答。組織のナレッジを簡単に共有できます。

## 特徴

* **即時応答**: SlackボットにメンションするだけでQAIP AIが回答。
* **データソースの参照**: データソースの内容をもとにQAIP AIが参照元と共に回答。
* **スレッド継続**: スレッド内のメッセージ履歴を参照して連続質問にも対応。

## セットアップ

<Tabs>
  <Tab title="Node.js (TypeScript)" icon="node">
    <Steps>
      <Step title="サンプルリポジトリを取得">
        ```bash theme={null}
        git clone git@github.com:qlonolink/qaip-examples.git
        cd qaip-examples/qaip-slack-bot-ts
        ```
      </Step>

      <Step title="Slackで新しいアプリを作成">
        Slackで[新規Appを作成](https://api.slack.com/apps?new_app=1)します。
      </Step>

      <Step title="「From a manifest」を選択">
        アプリ作成方法の選択画面で「From a manifest」を選択します。
      </Step>

      <Step title="ワークスペースを選択">
        ボットをインストールするSlackワークスペースを選択します。
      </Step>

      <Step title="manifest.jsonをペースト">
        JSON タブを選択し、サンプルリポジトリのディレクトリ内にある[`manifest.json`](https://github.com/qlonolink/qaip-examples/blob/main/qaip-slack-bot-ts/manifest.json)の内容をペーストしてアプリを作成します。
      </Step>

      <Step title="App Level Tokenを作成">
        * **Basic Information** ページの **App Level Tokens** セクションに移動
        * **Generate Token and Scopes** ボタンをクリック
        * **connections:write** スコープを追加
        * トークンを生成して控えておきます（`SLACK_APP_TOKEN` として使用）
      </Step>

      <Step title="アプリをインストール">
        * **Install App** ページに移動
        * **Install to Workspace** ボタンをクリックしてアプリをインストール
        * **Bot User OAuth Token** を控えておきます（`SLACK_BOT_TOKEN` として使用）

        詳細は [Slack公式ドキュメント](https://docs.slack.dev/app-manifests/configuring-apps-with-app-manifests/) を参照してください。
      </Step>

      <Step title="環境変数を設定">
        ```bash theme={null}
        cp .env.example .env
        # .env を編集して認証情報を設定
        ```

        必要項目:

        * `SLACK_BOT_TOKEN` (xoxb- で始まる Bot User OAuth Token)
        * `SLACK_APP_TOKEN` (xapp- で始まる App Level Token)
        * `QAIP_API_KEY` ([QAIPダッシュボード](https://developer.qaip.com/dashboard/apikeys)で取得)
      </Step>

      <Step title="起動する">
        ```bash theme={null}
        # Docker で起動
        docker compose up --build

        # または直接実行
        # npm install
        # npm run dev
        ```

        詳細は [GitHub: qaip-examples/qaip-slack-bot-ts](https://github.com/qlonolink/qaip-examples/tree/main/qaip-slack-bot-ts) を参照してください。
      </Step>
    </Steps>
  </Tab>

  <Tab title="Python" icon="python">
    <Steps>
      <Step title="サンプルリポジトリを取得">
        ```bash theme={null}
        git clone git@github.com:qlonolink/qaip-examples.git
        cd qaip-examples/qaip-slack-bot-py
        ```
      </Step>

      <Step title="Slackで新しいアプリを作成">
        Slackで[新規Appを作成](https://api.slack.com/apps?new_app=1)します。
      </Step>

      <Step title="「From a manifest」を選択">
        アプリ作成方法の選択画面で「From a manifest」を選択します。
      </Step>

      <Step title="ワークスペースを選択">
        ボットをインストールするSlackワークスペースを選択します。
      </Step>

      <Step title="manifest.jsonをペースト">
        JSON タブを選択し、サンプルリポジトリのディレクトリ内にある[`manifest.json`](https://github.com/qlonolink/qaip-examples/blob/main/qaip-slack-bot-py/manifest.json)の内容をペーストしてアプリを作成します。
      </Step>

      <Step title="App Level Tokenを作成">
        * **Basic Information** ページの **App Level Tokens** セクションに移動
        * **Generate Token and Scopes** ボタンをクリック
        * **connections:write** スコープを追加
        * トークンを生成して控えておきます（`SLACK_APP_TOKEN` として使用）
      </Step>

      <Step title="アプリをインストール">
        * **Install App** ページに移動
        * **Install to Workspace** ボタンをクリックしてアプリをインストール
        * **Bot User OAuth Token** を控えておきます（`SLACK_BOT_TOKEN` として使用）

        詳細は [Slack公式ドキュメント](https://docs.slack.dev/app-manifests/configuring-apps-with-app-manifests/) を参照してください。
      </Step>

      <Step title="環境変数を設定">
        ```bash theme={null}
        cp .env.example .env
        # .env を編集して認証情報を設定
        ```

        必要項目:

        * `SLACK_BOT_TOKEN` (xoxb- で始まる Bot User OAuth Token)
        * `SLACK_APP_TOKEN` (xapp- で始まる App Level Token)
        * `QAIP_API_KEY` ([QAIPダッシュボード](https://developer.qaip.com/dashboard/apikeys)で取得)
      </Step>

      <Step title="起動する">
        ```bash theme={null}
        # Docker で起動
        docker compose up --build

        # または直接実行（uvが必要です）
        # uv run python -m src.main
        ```

        詳細は [GitHub: qaip-examples/qaip-slack-bot-py](https://github.com/qlonolink/qaip-examples/tree/main/qaip-slack-bot-py) を参照してください。
      </Step>
    </Steps>
  </Tab>
</Tabs>

## 使い方

### データソースの準備

QAIP Slackボットはデータソースをもとに回答を行います。そのため、まずは質問に答えるためのデータをQAIPにアップロードする必要があります。

データの取り込み方法については、[データソース](/docs/datasources)や[ドキュメント横断検索](/docs/use-cases/docs-retrieval)のユースケースを参照してください。

### ボットの利用

Slackチャンネルにアプリを追加してメンションします。

```
@QAIP 社内の休暇申請の手順を教えて
```

ボットはスレッドに応答します。
追加の質問がある場合、そのスレッド内で再びSlack Appにメンションして行うことでスレッド内のメッセージ履歴を考慮した回答を行います。
