ボットを Slack に接続する

この記事の対象: SDK v4

Slack アプリを介して複数のユーザーと通信できるように、ボットを構成できます。 この記事では、Slack を使用して Slack アプリを作成し、ボットを Azure の Slack アプリに接続し、Slack でボットをテストする方法について説明します。

この記事では、Azure portal でボットに Slack チャンネルを追加する方法について説明します。 カスタム チャンネル アダプターの使用方法については、「追加情報」を参照してください。

前提条件

  • Azure サブスクリプション。 まだお持ちでない場合は、開始する前に無料アカウントを作成してください。
  • Slack に接続する Azure に発行されたボット。
  • https://api.slack.com/apps でアプリケーションを作成、管理するのに十分なアクセス許可で Slack ワークスペースにアクセスします。 Slack 環境へのアクセス権がない場合は、ワークスペースを作成できます。

Slack でアプリを作成する

最初に Slack でアプリケーションを作成します。このアプリケーションは、Azure でボットの Slack チャンネルを構成するために必要な情報を生成します。

  1. [アプリ] パネルに移動し、Slack アカウントにサインインします。
  2. これが初めてのアプリケーションの場合は、[新しいアプリの作成] または [アプリの作成] を選択します。
    1. [アプリの作成] ページで、[最初から] を選択します。
    2. [アプリの名付けとワークプレイスの選択] ページで、[アプリ名] に Slack アプリケーションの名前を入力します。
    3. [アプリを開発するワークスペースの選択] で、アプリのワークスペースを選択します。
    4. Slack API の使用条件を確認して同意します。
    5. [Create app](アプリの作成) を選択します。

新しいリダイレクト URL を追加する

アプリが作成されたら、リダイレクト URL をアプリに追加します。

  1. [OAuth とアクセス許可] を選択します。

  2. 結果のウィンドウの [リダイレクト URL] で、[新しいリダイレクト URL の追加] を選択します。

  3. 入力ボックスに、次のいずれかのリダイレクト URL を入力し、[追加] を選択します。

    • グローバル ボットの場合は、「https://slack.botframework.com」と入力します。
    • リージョン ボットの場合は、選択したリージョンに応じて次の URL を入力します。
    リージョン リダイレクト URL
    ヨーロッパ https://europe.slack.botframework.com
    インド https://india.slack.botframework.com
  4. [Save URLs (URLの保存)] を選択します。

ボットのイベントをサブスクライブする

リダイレクト URL を追加したら、アプリをボット イベントにサブスクライブして、指定した URL で Slack にユーザー アクティビティについてボットに通知します。 ボットが Slack で使用する機能に基づいてイベントをサブスクライブします。

  1. [イベント サブスクリプション] を選びます。

  2. 結果のウィンドウで、[イベントの有効化] を [オン] に切り替えます。

  3. [要求 URL] には、次のいずれかの要求 URL を入力します。そこでは、{bot-name} は中かっこ無しのAzure Bot リソースの表示名です。

    • グローバル ボットの場合は、「https://slack.botframework.com/api/Events/{bot-name}」と入力します。
    • リージョン ボットの場合は、選択したリージョンに応じて次の URL を入力します。
    リージョン 要求 URL
    ヨーロッパ https://europe.slack.botframework.com/api/Events/{bot-name}
    インド https://india.slack.botframework.com/api/Events/{bot-name}
  4. [ボット イベントのサブスクライブ] で、[ボット ユーザー イベントの追加] を選択し、イベントをサブスクライブします。 次に例を示します。

    • member_joined_channel
    • member_left_channel
    • message.channels
    • message.groups
    • message.im
    • message.mpim
  5. [変更の保存] を選択します。

ユーザーによるボットへのメッセージ送信を有効にする

ボット イベントをサブスクライブしたら、ユーザーがボットにメッセージを送信できるようにします。

  1. [アプリ ホーム] を選択します。
  2. 結果のウィンドウの [メッセージ タブ] の [タブの表示] セクションで、[ユーザーがメッセージ タブからスラッシュ コマンドとメッセージを送信できるようにする] を有効にします。

対話型メッセージを追加して構成する

必要に応じて、対話型メッセージを有効にします。

  1. [インタラクティビティとショートカット]を選択します。

  2. 要求 URL の場合:

    • グローバル ボットの場合は、「https://slack.botframework.com/api/Actions」と入力します。
    • リージョン ボットの場合は、選択したリージョンに応じて次の URL を入力します。
    リージョン 要求 URL
    ヨーロッパ https://europe.slack.botframework.com/Actions
    インド https://india.slack.botframework.com/Actions
  3. 変更を保存を選択します。

アプリ情報をコピーする

Slack チャンネルをボットに追加するには、次の情報が必要です。 アプリの資格情報は常にコピーして安全な場所に保存します。

  1. [基本情報] を選択する
  2. 結果のウィンドウの [アプリの資格情報] で、[クライアント ID]、[クライアント シークレット]、および [署名シークレット] を見つけます。
  3. 次に、[OAuth とアクセス許可] を選択します。
  4. 結果のウィンドウで、[スコープ] セクションを見つけます。 アプリの [ボット トークン スコープ] を 記録します。

Azure のボットを構成します。

この手順を完了するには、前の手順の Slack アプリケーション資格情報が必要です。

  1. Azure Portalを開きます。

  2. ボットの [Azure Bot リソース] ブレードを開きます。

  3. [Channels] を開き、[Slack] を選択します。

  4. [Slack チャネル構成] で、前の手順でコピーした情報を入力します。

    1. Slack で作成したアプリケーションに必要な Slack 資格情報を入力します。
    2. 必要に応じて、Slack ユーザーがボットを追加した後にリダイレクトされる [ランディング ページ URL] を指定します。
    3. [OAuth とアクセス許可のリダイレクト URL][イベント サブスクリプション要求 URL] の値は、Slack で入力した値と一致して [リダイレクト URL を追加 ]し、[ボット イベントをサブスクライブする] 必要があります。

    submit credentials

  5. 適用を選択します。

  6. Slack アプリのインストールを完了するために、Slack にリダイレクトされます。

    • 要求されたアクセス許可が正しく見えた場合は、[許可] を選択します。

現在ボットが、Slack のユーザーと通信するように構成されました。 ワークスペース内のユーザーは、Slack アプリを使用してボットと対話できるようになりました。

Slack でアプリケーションをテストする

  1. アプリをインストールした Slack ワークスペースにサインインします。
  2. [アプリ] で、アプリを選択します。
  3. 結果のウィンドウで、アプリケーションにメッセージを送信します。

追加情報

Note

2020 年 6 月の時点で Slack チャンネルでは Slack V2 アクセス許可スコープがサポートされています。これにより、ボットはその機能とアクセス許可をより細かく指定できます。 新しく構成されたすべての Slack チャンネルでは、V2 スコープが使用されます。 ボットを V2 スコープに切り替えるには、Azure portal の [チャンネル] ブレードで Slack チャンネル構成を削除して再作成します。

ボットの Slack サポートの詳細については、Slack API のドキュメントを参照してください。

Slack アダプターを使用してボットを Slack に接続する

ボットを Slack に接続するために Azure AI Bot Service で使用できるチャンネルと同様に、Bot Builder Community リポジトリ では Slack 用のカスタム チャンネル アダプターを定義します。