「Webex for Developers」では「Webex Messaging」に追加可能な Bot を作成することができます。
今回は iPaaS、webMethods.io を使用してノーコード開発を行います。
条件分岐処理を使用して、コロナウイルスの情報を通知してくれる Bot を作成します。
※注意※
本ブログではワークフロー作成部分から開始いたします。
webMethods.io の基本的な使用方法はブログ「webmethods.io を使用して Webex Messaging の bot を作成する」にて紹介しています。
今回作成するのは「質問したコロナウイルスの状況を教えてくれる Bot」です。
この Bot は、質問が理解できる場合はそれに回答し、理解できない場合は Bot の操作方法のガイダンスを返答します。
完成イメージは次のものです。
今回必要なアカウントは以下のものです。
・ Webex
以下の流れで bot 作成を行います。
1. トリガー作成
ワークフローを新規作成し、最初にトリガーを設定します。
「▶」アイコンをダブルクリック、もしくは上部は歯車アイコンをクリックして編集画面を開きます。
「Webex Teams Bot」を選択し、「Next」で進みます。
必要項目を設定します。
・ Select Trigger:「New Message」を設定します。
・ Connect to Cisco Webex Teams Bot:初期設定が必要なため、「+」から「Add Account」画面を開きます。
「Add Account」画面に Bot の「Access Token」を入力して「Add」を選択すると、「Connect to Cisco Webex Teams Bot」に追加した Bot が自動で設定されます。
設定が完了したら「Save」を選択します。
Test を実施する前に Bot にメッセージを送信する必要があります。
Bot にメッセージを送信してから「Test」を選択します。
Test 結果を確認して、「Done」を選択します。
トリガーが作成されたことが確認できました。
今回作成する Bot へ送信された「メッセージの内容」を判定して、Bot の応答内容を分岐します。
まずは分岐処理を行うツール「Switch」を設置します。
「Switch」は「工具アイコン」→「Developer Tools」→「Switch」の順に選択するか、検索する事で確認できます。
「Switch」をドラッグアンドドロップでスペースに追加します。
追加するとトリガーからフローがつながります。
続いて「Switch」の「Default」分岐を作成します。
「Default」分岐とはすべての条件分岐を満たさなかった場合に進む分岐になります。
今回の「Default」分岐には「回答可能な情報の案内文」を設定します。
「案内文」を発言するのは Bot であるため、「Cisco Webex Teams Bot」をドラッグアンドドロップでフローに追加します。
追加すると「Switch」から「Cisco Webex Teams Bot」まで「case1」にフローでつながります。
案内文は「Default」にしたいため、「case1」をクリックして「歯車アイコン」を選択します。
「歯車アイコン」を選択すると、「condition」という「Switch」処理の編集画面が表示されます。
「Select Case」を選択して、「Default」を選択します。
「Default」の分岐はこれ以上設定することがありませんので、「Done」を選択します。
分岐処理が「default」に変更されたことが確認できます。
続いて案内文を作成します。
「Cisco Webex Teams Bot」をダブルクリック、もしくは「歯車アイコン」をクリックして編集画面を開きます。
必要項目を設定します。
・ Select Action:「Send Private Message」を設定します。
・ Name:そのままでも問題ないですが、わかりやすく「案内文」と設定します。
・ Connect to Cisco Webex Teams Bot:トリガーに設定した Bot と同じ Bot を設定します。
設定が完了したら「Next」を選択します。
「Action Configure」を設定していきます。
・ User Email ID:トリガー Bot の「personEmail」をドラッグアンドドロップで設定します。
・ Plain Text Message:以下の内容を設定します。
現在ご案内できるのは以下の情報です。
・感染者数
設定したら「Next」で進み、続いて「Done」を選択してください。(必要に応じて「Test」を行ってください)
「案内分」が追加されたため、終点までフローをつなぎます。
続いて、情報を回答する条件分岐を追加していきます。
条件分岐した結果、「コロナウイルスの情報」を通知するため、「COVID-19」の API を追加します。
検索で「COVID-19」を検索します。
ドラッグアンドドロップで追加すると、「案内文」からつながってしまったため、フローを修正します。
「案内文」とつながったフローを選択し、「ゴミ箱」アイコンを選択します。
フローが削除されたため、今度は「Switch」から「COVID-19」までフローをつなぎます。
フローがつながって、「case1」と表示されていることが確認できました。
「case1」処理を設定するため「case1」を選択して「歯車アイコン」を選択します。
「condition」画面が表示されるため、画面右側「Action Configure」を設定していきます。
「Add Condition」→「Add Filter」の順に選択し、条件設定フィールドを展開します。
「Add Condition」に条件を設定します。
今回は「感染者数」という文字列が含まれたメッセージが入力されか判定します。
・ Input:入力されたメッセージを判定したいため、トリガーの「text」を設定します。
・ Condition:「(Text) Contains」を設定します。
・ Expected:「感染者数」を設定します。
設定したら「Done」で進みます。
「case1」の条件分岐設定が完了したため、分岐後の応答メッセージを作成します。
追加済みの「COVID-19」API の設定を行います。
「COVID-19」をダブルクリック、もしくは「歯車アイコン」から編集画面を開きます。
最初の画面は「Next」で進みます。
「COVID-19」の編集画面が開きます。
画面右側の「Action Configure」から「Country Code」を設定します。
「Next」で進みます。
「OUTPUT」を選択して「Test」を選択すると、この API で取得可能な情報が確認できます。
感染者数は「countries」→「today」→「confirmed」で取得できる事が確認できます。
「Done」で進みます。
「COVID-19」API が設定できました。
もう一息です。
「COVID-19」API で取得した感染者数を Bot が発言する必要があるため、「Cisco Webex Teams Bot」を追加します。
今回は「案内文」をコピーして作成します、「案内文」を選択して「コピー用紙」アイコンを選択します。
「案内文」が複製されたため、「COVID-19」と接続します。
「案内文」をダブルクリック、もしくは「歯車アイコン」を選択して編集画面を開きます。
「Name」を「感染者数」に変更して、「Next」で進みます。
画面右側「Action Configure」の「Plain Text Message」には感染者数である「countries」→「today」→「confirmed」をドラッグアンドドロップで設定します。
「本日の感染者数:〇人」と発言するように、テキストを編集します。
設定したら「Next」で進み、続いて「Done」を選択してください。(必要に応じて「Test」を行ってください)
最後に、「感染者数」と「終点」を繋ぐと完成です。
画面右上が「On」になっている事を確認して、「Save」を選択します。
ここまで作成した Bot に話しかけてみます。
また、「case1」を追加した要領で「case2」「case3」・・・と追加することが可能です。
試しに「case2」を追加して、「案内文」も更新してみました。
再度 Bot に話しかけてみます。
いかがだったでしょうか?
ここまでノーコードで、対話式の Bot を作成することができました。
作成した Bot を応用すると、プロジェクトの用語集や FAQ を行う Bot など作成することが可能です。
Switch を使用してオリジナルの Bot を作成してみてください!