LoginSignup
3
7

More than 5 years have passed since last update.

Watson + Slack

Posted at

WatsonとSlackの連携方法について。

Watson

アカウントを持っていない方は、フリー・アカウントを作成してください。
IBM Cloudライト・アカウントは、無料・期間無制限・クレカ登録不要なので、気軽に作成できると思います。
※制約はこちらを確認してください。

ユーザの登録または既にアカウントを持っている場合は、早速リソースの作成を行いましょう。
watson_01.png
作成するサービスは 「Watson Assistant」になります。
watson_02.png
価格プランはライトを選択します。これでリソースの準備されました。
watson_03.png
作成したリソース(Watson Aassistant)を選択し、起動します。
watson_04.png
watson_05.png
Watson Assistantを起動し、初めにワークスペースを作成します。
名前は任意ですが、以下では「SampleBot」としています。

watson_06.png

今回の目的は、WatsonとSlackを連携させるため、チャットボットは事前に準備されているサンプルを利用します。
「Content Catalog」タブを選択してください。ここには予め会話の雛型が準備されています。今回は「一般」を選択します。
Add to warkspaceを選択後、Intentsタグを確認し各種会話の雛型が追加されていることが確認できます。
watson_07.png
次に Dialogsタグを選択します。こちらではユーザとチャットボットの会話の流れを制御します。
watson_08.png
デフォルトで2つのノードが出来ることが確認できると思います。
こちらの「ようこそ」は、チャットボットが起動したタイミングで表示される内容になり、「その他」は質問の意図が分からなかった場合に返すノードになります。
watson_09.png
それでは今回の動作確認のための、ノードを追加します。
ノード名は「あいさつ」
If bot recognizes には「#General_Greetings」
Then respond with には「コンニチハ!?」
と入力しました。
この内容について少し説明します。
「#General_Greetings」ですが、Intentsタグを開いてみてください。「#General_Greetings」が確認できると思いますので、そちらを開くと、いくつかの挨拶(「やぁ」「ちわっ」「ヤッホー」等)が確認できます。
これは、これらの言葉が投げかけられたら、すべて General_Greetings とチャットボット内では置換させます。
つまり、
ユーザーが「やぁ」→Watsonでは「やぁ」を「General_Greetings」に変換(Intents)→「General_Greetings」と言われたので、「コンニチハ!?」と返事(Dialogs)。
という流れを定義しています。
これが「ちわぁ」だと、
ユーザーが「ちわぁ」→Watsonでは「ちわぁ」を「General_Greetings」に変換(Intents)→「General_Greetings」と言われたので、「コンニチハ!?」と返事(Dialogs)。
というふうに会話を制御します。
watson_10.png
登録したら、チャットボットのテストをしてみましょう。
watson_11.png

Slack API

ここから作成したチャットボットとSlackとの連携を行います。
watson_12.png

STEP 1. Slack Appを作成
image.png

STEP 2. Deploynameを決定
image.png

STEP 3. Slack APIで作成したアプリケーションで、Bot Userを作成
ボット名は任意ですが、今回は watsonbot としています
image.png

STEP 4. Slack APIでアプリケーションを作成したタイミングで生成された、Client ID、Client Secret、Verification Tokeをそれぞれ入力し、Generateをクリック
image.png
STEP 5 - 7. Genarateした際に、Your Redirect URL、Your Request URLが自動生成されますので、それぞれをSlack APIのアプリケーション設定画面のOAuth & PermissionsのRedirect URLs、Event SubscriptionsのRequest URLへそれぞれ設定
ここまで設定したら、Authorize Slackをクリック
また、Event SubscriptionsのSubscribe to Eventsでは、message.channelsを指定。
image.png
watson_14.png
watson_15.png

Slack

Slack APIへの設定は以上です。
Slackを起動し、作成したボット宛に会話をしてみてください。
応答してくれれば完了です。
watson_16.png

3
7
0

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
  3. You can use dark theme
What you can do with signing up
3
7