(2018/6/19 Conversation -> Assistant の変更他、最新の情報にUpdate)
#はじめに
Watson Assistant(以降Assistant)はチャットボットのAPIを提供するサービスなので、ユーザー・インターフェース(UI)は別途作成するか、あるいは既存のツールと組み合わせて使用することになります。Assistantは製品としてSlackをUIにするための機能を持っていいるので、その設定方法を紹介します。
#準備
###Slack
管理権限のあるSlackのワークスペースが必要になるので、無い場合は slack.com/create から作成しましょう。メールアドレスがあれば簡単に作成することができます。
###Assistant
SlackとつなぐAssistantのワークスペースも準備します。私は別記事で作成したレンタカー予約のワークスペースを使用しますが、最低限のDialogフローが動けば何でもよいです。
#Slackとつなぐ
AssistantワークスペースのDeployタブを開き、Slackの「Deploy」ボタンをクリックします。
「Deploy to Slack app」「Test in Slack」のどちらかが選択できますが、まずは簡単な「Test in Slack」の方からやってみます。
##簡単編
2018/6/19追記 2018年5月のリリースで「Test in Slack」機能は削除されました
「Test in Slack」の場合ボットの名前が「@ibmwatson_test」で固定等、細かいカスタマイズはできませんが、とりあえず使ってみたいという場合にお勧めです。「Test in Slack」ボタンをクリックし、表示される画面で「Authorize Slack」をクリックします。
SlackワークスペースのURLを入力し、「Continue」をクリックします。
メールアドレス、パスワードを入力し、「Sign in」をクリックします。
Slackの適当なチャンネルに「@ibmwatson_bot」を招待します。
うまく会話できているようです。
##応用編
「Deploy to Slack app」の方もやってみます。「Deploy to Slack app」ボタンをクリックすると作業のステップが表示されます。まず Create a Slack app をクリックし、表示される画面で「Create a Slack app」をクリックします。
「App Name」「Deployment Slack Workspace」を指定し、Slackアプリを作成します。
AssistantのDeploymentの名前を指定します。
SlackアプリのBotユーザーを作成します。「Always Show My Bot as Online」は「On」にします。
Slackアプリの設定画面で確認できるCredentialを、Assistantの設定画面にコピペして、「Generat」ボタンをクリックします。
Redirect URL が生成されるので、Slackアプリの「OAuth & Permissions」の「Redirect URLs」にコピペして「Save URL」します。
「Event Subscriptions」で「Enable Events」を「On」にして、Assistantの設定画面からRequest URLをコピペします。
「Subscribe to Bot Events」セクションんで「Add Bot User Event」をクリックし、「message.channels」を追加します。
「Save Changes」をクリックして設定を保存します。
Assistant設定画面で「Authorize Slack」ボタンをクリックし、表示される画面でSlackワークスペースを指定いします。