search
LoginSignup
2

More than 1 year has passed since last update.

posted at

updated at

Watson Assistant New ExperienceによるSlack連携

概要

2021年10月に登場した「IBM Watson Assistant New Experience(new Watson Assistant)」におけるSlack連携を確認します。Slack連携には、Watson Assistant プラスプランが必要です。IBM Cloudを利用している場合、30日間無料で使える「トライアル」という名称のWatson Assistantのプランがありますので、それを使用します。

設定することで出来るもの

Watson Assistant New Experience (new Watson Assistant)のSlack連携を使って、次のようなチャットボットを作成します。

もとになるWatson Assistantで作成したチャットボット

下図は、Watson AssistantをNew Experienceに切り替え、作成したチャットボットです。

image.png

Slack連携後のチャットボット

Slack連携により、Slack上で動くようになったWatson Assistant チャットボット

image.png

準備しておくもの

Slack連携に取り組むにあたり、次の2つを用意しておきます。

Watson Assistantの料金プランで、トライアルを選び作成

IBM Cloudで、Watson Assistantを作成します。料金プランは、トライアルを選び、Watson Assistantのインスタンスを作成します。

image.png

Watson Assistant New Experienceで、チャットボットを作成

こちらについては、以下の資料を参考に作成してください。
Watson Assistant によるホームページに設置できるチャットボットの作成手順:3. Watson Assistant によるチャットボットの作成 << Watson Assistant New Experience におけるチャットボットの作成手順になります。

Slack連携

New Experience状態のWatson Assistantで、Integrations から、Slackを見つけ、「Add」をクリックします。

image.png

「confirm」をクリックして、Slack連携のセットアップを行います。

image.png

Set up to slack : Get Started

作業手順が表示されます。英語が指示が表示されます。画面右上の「Next」をクリックして次へ進みます。

image.png

Set up to slack : Step1

image.png

Slackアプリの作成

画面の英文を読みます。Slackアプリを作るように指示していますので、https://api.slack.com/apps にアクセスして、Slackアプリを作ります。今回は、開発や検証に使用している自分用のSlack環境(例 cogbot-group)を使用し、下図のような名前のSlackアプリを作りました。

image.png

Verification Token の取得

Slackアプリ作成後、Slackアプリの画面で、Basic Information 内のApp Credentialsから、Verification Tokenをコピーします。

image.png

Watson Assistantの画面に戻り、「Next」をクリックします。

image.png

Set up to slack : Step2

取得したSlackアプリの「Verification Token」を入力します。

image.png

画面指示に従い、SlackアプリのOAuth & Permissionsで、Bot Token Scopesに、OAuth Scopeを追加するとともに、Bot OAuth access token をSlackアプリ側で取得し、入力します。

image.png

Slackアプリ側の操作

Slackアプリで、OAuth & Permissionsで、Bot Token Scopesに指示通りにOAuth Scopeを「Add an OAuth Scope」をクリックして追加します。

image.png

Watson Assistant の指示に従って追加した場合。

image.png

OAuth & Permissionsで、「Install to Workspace」をクリックします。

image.png

アプリの権限リクエスト画面が表示されますので、「許可する」をクリックします。

image.png

Bot User OAuth Tokenが表示されます。

image.png

取得したBot User OAuth Tokenを入力

Watson Assistantの画面に戻り、取得したBot User OAuth Tokenを入力します。

image.png

画面右上の「Next」をクリックします。

Set up to slack : Step3

Step3 では、生成された「request URL」をSlackアプリ側に設置します。また後々の作業でも「request URL」は使用しますので、どこかに控えておきましょう。

image.png

Slackアプリの、Event Subscriptionsを設定

Slackアプリで、画面左側の「Event Subscriptions」をクリックします。表示される「Enable Events」のトグルボタンをクリックし、Onの緑色の状態にします。

image.png

「Request URL」の欄に、Watson Assistant側で生成された「request URL」を配置します。

image.png

次に、「Subscribe to bot events」をクリックします。「Add Bot User Event」をクリックして、「message.im」と「app_mention」を追加します。

image.png

画面右下の「Save changes」をクリックして保存します。
image.png

Watson Assistantの画面に戻り、「Next」をクリック

次の画面へ。

image.png

Set up to slack : Step4

Slackアプリ側の設定を行う必要があります。

image.png

SlackアプリのApp Home 設定

Slackアプリの画面左側で、App Homeをクリックし、表示された「Always Show My Bot as Online」をトグルボタンをクリックして有効にします。

image.png

もし、Slackアプリのアプリ名を変更したい場合は、App Home画面で、「App Display Name」の「Edit」をクリックすることで変更することができます。

App Home下のShow Tabsの設定

引き続き、App Home 画面で、「Show Tabs」下の「Messages Tab」のトグルボタンをクリックして有効にします。

image.png

Interactivity & Shortcuts 設定

Slackアプリの画面左側で、Interactivity & Shortcutsをクリックし、表示された「Interactivity」のトグルボタンが「On」になっていることを確認します。
次に、「Request URL」に、控えておいた「request URL」をセットします。この「request URL」は、【Set up to slack : Step3】の作業で確認したWatson Assistantで生成された「request URL」のことです。

image.png

画面右下の「Save changes」をクリックして保存します。
image.png

Watson Assistant 画面に戻る

Watson Assistantの画面に戻り、「Finish」をクリックします。

image.png

Watson AssistantのIntegrationsで、Slack連携の有効化確認

New Experience状態となっている Watson Assistant 画面で、画面左側の「Integrations」をクリックし、下図のようにSlack連携が有効になっていることを確認します。
また、最初に設定したSlack連携はDraft環境として扱われ、Live環境(=本番)向けに「Open」をクリックすることで、Live環境向けのSlack連携を設定することができます。

image.png

動作確認

Slackにアクセスし、Slackアプリに対して質問をしてみましょう。
Watson Assistant New Experienceで作成したチャットボットが、Slack上で動作することを確認することができます。

image.png

所感

Watson Assistant New Experienceは、2021年11月9日現在、Actions Skillがメインで、Dialog Skillを使用することはできませんが、「Draft」と「Live」といった、開発・検証の場合や本番の場合で分けて、Slack連携やWeb Chatの公開ができ、より開発者にフォーカスしている印象を受けます。

参考資料

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2