【Amazon Q × Slack】Amazon Q Business を Slack と連携させてみた

2025年3月13日掲載

【Looker x GenAI】Looker と生成 AI で実現するパーソナライズドマーケティング:カスタム Action で顧客体験を向上

本記事ではAmazon Q BusinessをSlackと連携させ、Slackの中の情報をもとにしたチャットボットを作成するユースケースを解説します。

目次

Amazon Q について

Amazon Q は Amazon Web Services (AWS) が提供する企業向けの AI アシスタントです。会話型インターフェースを使用しており、様々なデータソースと連携して業務効率化を図ることが可能です。

今回はコミュニケーションツールの Slack と連携し、Slack のワークスペース内でやり取りされた内容やファイルをもとに、生成 AI によって回答が生成されるアプリケーションを作成してみたので、設定方法や使用感をご紹介します。

アプリケーション作成の流れ

今回、アプリケーションは以下の流れで作成します。

  1. Slack トークンを作成
    Slack との連携に必要になるトークンを取得します。
  2. Amazon Q Business アプリケーションを作成
    Amazon Q Business を利用するためにアプリケーションを作成します。
  3. データソースを設定
    Slack 上にあるデータをもとに回答を生成するように設定をします。
  4. Slack と連携
    Slack 上から Amazon Q Business に対してチャットを送信できるようにします。

各手順について、順を追って確認していきましょう。

Slack トークンを作成

Slackにログインし、ワークスペースメニュー > [ ツールと設定 ] > [ アプリを管理する ]を選択します。

[ ビルド ]を押下します。

[ Create an App ]を押下します。

[ From scratch ]を選択します。

[ App Name ]に任意のアプリケーション名を入力し、[ Pick a workspace to develop your app in ]で対象とするワークスペース名を選択します。

アプリケーションの設定画面が開くので、[ OAuth & Permissions ]を選択します。

次に、Slack の OAuth Tokens の権限設定を行います。

Slack の OAuth Tokensには2種類あり、User OAuth Token はアプリをインストールしたユーザーに対して発行され、ユーザーと同じ権限を持ちます。一方、Bot User OAuth Token はアプリに関連付けられるトークンとなり、アプリをインストールしたチャンネルのみのデータを取得したい場合等はこちらを選択します。トークンの違いの詳細については公式ドキュメント「 Token types 」をご確認ください。

今回は、User Auth Token を使用します。画面を下にスクロールし、[ User Token Scopes ]で[ Add an OAuth Scope ]をクリックし、以下の権限を追加します。追加する各権限の詳細については公式ドキュメント「 Legacy: OAuth Permission scopes 」を参照してください。

  • channels:history
  • channels:read
  • emoji:read
  • files:read
  • groups:history
  • groups:read
  • im:history
  • im:read
  • mpim:history
  • mpim:read
  • team:read
  • users.profile:read
  • users:read
  • users:read.email

画面を上にスクロールし、[ OAuth Tokens ]で、[ Install to {ワークスペース名} ]を押下します。

接続先のワークスペースに対するアクセス許可が求められるので、[ 許可する ]を選択します。

[ OAuth Tokens ]で Amazon Q への接続に使用する OAuth トークンが表示されるので、[ User OAuth Token ]を控えておきます。

Amazon Q Business アプリケーションを作成

次に、Amazon Q Business のアプリケーションを作成していきます。AWS マネジメントコンソールにサインインし、[ Amazon Q Business ]を開きます。

[ Create application ]を押下します。

[ Application name ]に任意の名前を入力します。

[ Access Management method ]では、今回、メンバーアカウントを使用しているため、[ AWS IAM Identity Center (recomended) ] > [ Connect to account Instance of IAM Identity Center ]を選択します。

[ Quick start user ]でユーザーを設定します。Slack上でやり取りをできるようにするため、今回は Q Business Pro を選択します。Amazon Q Business Lite と Amazon Q Business Pro の違いについての詳細は公式ドキュメント「Amazon Q Business の料金」を確認してください。その他の項目は変更せずに、[ Create ]を押下してアプリケーションを作成します。

データソースを設定

アプリケーションの作成が完了したら、[ Enhancements ] > [ Data sources ] > [ Add an Index ]を押下します。

[ Index name ]に任意の名前を入力し、[ Index provisioning ]は[ Starter ]を選択して、[ Add an Index ]を押下します。

[ Index name ]、[ Index provisioning ]を設定して、[ Add an Index ]を押下

[ Add data source ]を押下します。

[ Add data source ]から[ Slack ]を見つけ、[ + ]を押下します。

[ Name and description ] > [ Data source name ]に任意の名前を入力し、[ Source ] > [ Slack workspace team ID ]に対象となる Slack のワークスペースのチーム ID を入力します。Slack のワークスペースのチーム ID は、Slackで対象のワークスペースをweb上で開いた時のURL( https://app.slack.com/client/TXXXXXXX/… )のTから始まる部分です。

[ Authentication ] > [ AWS Secrets Manager secret ]で[ Create and add new secret ]を選択します。

[ Secret name ]に任意のシークレット名を入力し、[ Slack token ]に事前に作成していた Slack の User OAuth Token を入力します。

[ IAM role ]で[ Create a new service role(Recomended) ]を選択します。

[ Sync Scope ]で同期する範囲を設定します。今回は下記の全ての Channnel を含む[ All Channels ]を選択します。Slack の User OAuth Token に付与された権限と、ここで設定した範囲によって、取得できるデータソースの範囲が決定します。

  • [ Public channels ] – ワークスペース内の誰でも自由に閲覧、参加可能
  • [ Private channels ]– 招待されたメンバーのみが閲覧、参加可能
  • [ Group messages ]– 3人以上のユーザー間でのダイレクトメッセージ
  • [ Private messages ]– 2人のユーザー間でのダイレクトメッセージ

[ Select crawl start date ]で同期を開始する日付を設定します。

[ Sync mode ]で[ New, modified, or deleted content sync ]、[ Sync run schedule ]は[ Run on demand ]を選択し、[ Add data source ]を押下してデータソースを追加します。

データソースの追加が完了したら、[ Sync now ]を押下し、データソースを同期します。同期には数分から数時間かかります。

[ Sync history ]で[ Status / Summary ]が[ Completed ]になったら同期は成功です。一部のデータで Failed が発生していますが、他のデータは同期が出来ているため、今回はこのまま進めます。

Slack と連携

次に、Slack 上から Amazon Q Business に質問できるように設定していきます。作成した Amazon Q Business アプリケーションを開き、[ Integrations ] > [ Add Integration ]を選択します。

Slack の [ + ]を押下します。

[ Integration name ]に任意の名前、[ Slack workspace team ID ]に対象となる Slack のワークスペースのチーム ID を入力し、その他の項目は変更せずに[ Add Integration ]を押下します。

[ Integration name ]、[ Slack workspace team ID ]を入力

[ Status ]が[ Ready to deploy ]になったら、作成した Integrations を選択して、[ Deploy Integration ]を押下します。

次のポップアップが表示されるので、[ Access Slack ]を押下します。

Amazon Q Business が Slack にアクセスする権限を求められるので、[許可する]を押下します。

以下の画面が表示されたら、Slack で Amazon Q Business を使用する準備は完了です。

Slackの内容をもとに回答を生成してみる

それでは実際に完成したアプリケーションの動作を確認してみましょう。

まず事前準備として、データソースとなるワークスペース内にあるチャンネルに、テキストとPDFファイルを投稿し、Amazon Q Business アプリケーション上でデータソースを同期しておきます。

今回実装したアプリケーションである「 Amazon Q Business 」をクリックし、先ほど入力した内容に対する質問を入力、送信すると「 Amazon Q Business 」から回答が返ってきます。この時「 Sign in 」の表示が出た場合は、Slack のアカウントでサインインし、再度質問を送信します。

「 View source(s) 」をクリックして、情報源を確認します。Slackに入力された内容をもとに回答が生成されていることが確認できます。記載されたリンクをクリックすることで、情報源にアクセスすることも可能です。

次に、PDFファイルの内容についても質問してみます。日本語のPDFファイルを試したところ、現時点ではデータソースとしてうまく認識できなかったため、今回は英語のPDFを利用して質問をします。なお、以下のキャプチャでは英語で質問をしていますが、日本語で質問することも可能です。

「 View source(s) 」をクリックすることで、Slack にアップロードされた PDF ファイルをもとに回答が生成されていることが確認できます。

これで、Amazon Q Business と Slack を連携させて使うことができました。

まとめ

本記事では、Amazon Q Business と Slack を連携させて利用する方法について解説しました。

Slack 上でやり取りされた内容やファイルの中身を簡単に検索することができるため Slack をさらに効率的に利用することが可能です

一方、業務で利用する際には、データソースとして Slack 上のやり取りを読み取る都合上、対象とするワークスペースを絞るなどの社内ルールの整備をしていくことも重要になってくると感じました。

ルールを守って正しく使えば、普段使っている Slack をより便利に活用することができます。これを機に是非皆さんも Amazon Q Business を試してみてはいかがでしょうか?

関連サービス

ソフトバンクはAWS アドバンストティアサービスパートナーです。「はじめてのAWS導入」から大規模なサービス基盤や基幹システムの構築まで、お客さまのご要望にあわせて最適なAWS環境の導入を支援します。

おすすめの記事

条件に該当するページがございません