Dialogflowを使ったノンコーディングSlackボットを作ってみる #slack
はじめに
こんにちは、中村です。
今回もSlackボットを作成していきます。日本語の利用ができ、Slackへの統合機能も備えているDialogflowを使います。したがって今回の操作は、SlackとDialogflowのみで完結します。
Slack事前準備
Slack API Your AppsにてCreate New AppをクリックしてAppを作成しましょう。App NameとDevelopment Slack Workspaceを入力してCreate Appをクリックし作成されます。
Basic InformationのApp CredentialsからClient ID・Client Secret・Verification Tokenをメモしておきます。Dialogflowへ登録します。
Bot UserにてAppへ紐づいたユーザーを作成します。Display name・Default username・Always Show My Bot as Onlineを入力しユーザーを追加します。
残りの項目については、Dialogflowで作成する情報が必要になるため、次はDialogflowを設定していきます。
Dialogflow
Dialogflowへアクセスします。 まずは今回作成するボットを作成します。Dialogflowではエージェントと呼ばれています。Agent Name・DEFAULT LANGUAGEを入力しCREATEをクリックしてください。
エージェントの作成が完了したら統合の設定をします。Integrationsへアクセスしてください。
Dialogflowでは様々なサービスへの接続を行えます。今回はSlackですので、SlackのスイッチをOnにしましょう。先ほどメモしたClient ID・Client Secret・Verification Tokenを入力し、今度はOAuth URL・Event Request URLをメモしておきましょう。
最後にSlackへDialogflowの情報を登録してテストしてみましょう。
SlackとDialogflowを接続する
先ほど作成したSlack Appのページで、Interactive Componentsにアクセスしてください。スイッチをOnにしてInteractivityのRequest URLに先ほどメモしたEvent Request URLを登録し保存します。
次にOAuth & PermissionsのRedirect URLにOAuth URLを登録し保存します。Scopesにはボットの権限を登録します。ボットは先ほど追加したユーザを通してメッセージを送信する機能が必須になるので追加し保存してください。
最後にEvent SubscriptionsにてEnable EventsをOnにし、Request URLにEvent Request URLを登録し、Subscribe to Bot Eventsでmessage.imを追加します。これは、Request URLへリクエストを送信するトリガーになります。
これで設定は完了です。最後にManage DisributionのAdd Slackからワークスペースへ追加します。またOAuth & Permissionsでも追加が可能です。
追加したらSlackのAppから先ほど作成したユーザーを選択し、メッセージを送信してみます。Dialogflowではエージェント作成時に挨拶を受け付けるもの・テキストを認識できなかった時に起動するものの2つがデフォルトで存在しています。そのためSlackよりメッセージを送信すれば下記のような結果が返ってくと思います。(レスポンス内容はIntents内で定義されています。)
まとめ
DialogflowでもAmazon Lexと同様にSlackボットを接続できました。ここまできたら次は実際に利用したいフローを実装していきましょう!
チャットボット開発は弊社にご相談ください。
またAmazon Connectのキャンペーンを行なっております。こちらもご相談お待ちしております。