ボットを 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 Permissions]\(OAuth のアクセス許可\) を&選択します
  2. 結果のウィンドウの [ リダイレクト URL] で、[ 新しいリダイレクト URL の追加] を選択します。
  3. 入力ボックスに、次のいずれかのリダイレクト URL を入力し、[ 追加] を選択します。
    • グローバル ボットの場合は、「」と入力します https://slack.botframework.com
    • リージョン ボットの場合は、「」と入力します https://europe.slack.botframework.com
  4. [ URL の保存] を選択します

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

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

  1. [ イベント サブスクリプション] を選択します
  2. 結果のウィンドウで、[ イベントの有効化] を[オン] に切り替えます。
  3. [ 要求 URL] に、次のいずれかの要求 URL を入力します。ここで {bot-name} 、Azure Bot リソースの表示名を中かっこなしで入力します。
    • グローバル ボットの場合は、「」と入力します https://slack.botframework.com/api/Events/{bot-name}
    • リージョン ボットの場合は、「」と入力します https://europe.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
    • リージョン ボットの場合は、「」と入力します https://europe.slack.botframework.com/Actions
  3. [変更の保存] を選択します。

アプリ情報をコピーする

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

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

Azure でボットを構成する

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

  1. Azure Portalを開きます。

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

  3. [チャネル] を開き、[Slack] を選択します

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

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

    資格情報を送信する

  5. [適用] を選択します。

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

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

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

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

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

追加情報

注意

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

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

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

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