タスク機能を利用したい
タスク実行機能を利用することで、チャットボット始動で外部連携やユーザーへの通知などを行うことができます。
事前にタスクの内容を定義し、シナリオ内で「指定したタスクの実行を予約」アクションを呼び出すことで、指定したタスクの実行を予約できます。
予約されたタスクは指定時間後に1回、もしくは指定間隔毎に複数回実行され、ユーザーの発言を待たずに能動的にアクションを実行できます。
繰り返し実行の必要が無くなった場合は、タスク中で「実行中の繰り返しタスクを完了」アクションを用いることで終了することができます。
なお、この機能はベータ機能を有効化することでお試しいただけます。
ベータ機能は、将来的に互換性のない変更や機能の廃止が行われる可能性があります。予めご了承ください。
ベータ機能を有効にする方法は、 こちら をご覧ください。
今回は、タスク機能を利用して、雨予報をユーザーに通知するタスクを作成していきます。
このタスクでは、1日後まで3時間おきに天気予報を調べ情報を取得します。
取得した値が「晴れ」の場合は、ユーザーに何も通知せず、また3時間後にタスクが実行されます。
取得した値が「雨」の場合は、ユーザーに雨予報の情報を通知し、タスク機能が終了します。以降ユーザーには通知されません。
手順(外部システム連携)
雨の予報を通知するタスクを作成します。
左メニューの『チャットボット一覧』より設定を行うチャットボットを選択し、『外部システム連携』タブから ”新規作成”ボタンをクリックしてください。
『外部システム連携先』に連携先名を入力してください。
-
『タイプ』から、『HTTP(S)』を選択してください。
『URL』に、以下の例を参考に接続先URLを入力してください。
※天気予報APIを利用する場合、ユーザー登録が必要となります。詳しい手順は
こちら をご覧ください。
URL入力例:http://api.openweathermap.org/data/2.5/forecast?q={{地域}},JP&units=metric&APPID= API Key
『Response Map』に以下の例を参考に入力し、 “保存” ボタンをクリックしてください。
入力例:
変換元 |
変換先 |
city.name |
都市名 |
list[1].weather[0].main |
3時間後の天気 |
list[1].dt_txt |
UTC日時 |
手順(タスク設定)
チャットボット画面へ戻り、『タスク』タブから”新規作成”ボタンをクリックしてください。
-
今回は3時間おきにタスクを実行させるため、実行タイミングのタイプから『複数回実行』を選択してください。
※指定した時刻に一度だけタスクを実行したい場合は、『一度だけ実行』を選択してください。
『開始日時』と『終了日時』を設定してください。
『終了日時』に設定した日時を超えるとタスクは実行されなくなります。
-
雨予報の情報を一度も取得しなかった場合に、ユーザーへメッセージ送信を行いましょう。
「最終実行後もタスクが完了していなければ指定したメッセージを送信する」にチェックを入れ、
『発言内容』に以下の例を参考に入力してください。
※チェックがない場合、タスク完了の通知は行いません。
入力例:
タスクの実行期間が終了しました。
雨予報の通知を受け取りたい場合は、再度チャットボットに依頼をしてください。
『タスクの流れ』エリアの中にあるリストから『外部システム連携』を選択し、 “アクションを追加” ボタンをクリックしてください。
『連携先』に先ほど作成した、『天気予報API』を選択してください。
『タスクの流れ』エリアの中にあるリストから『実行中のタスクを強制終了』を選択し、 “アクションを追加” ボタンをクリックしてください。
『発言内容』は入力せず、アクション内下部にある下矢印をクリックし、
『実行条件』に『3時間後の天気 <> Rain』と設定してください。
※3時間後の天気が雨ではなかった場合、実行中のタスクは強制終了され、また3時間後にタスクが実行されます。
『タスクの流れ』エリアの中にあるリストから『画像の送信』を選択し、 “アクションを追加” ボタンをクリックしてください。
『タイトル』に雨と入力し、任意の画像を設定してください。
実行条件に『3時間後の天気 = Rain』と設定してください。
『タスクの流れ』エリアから『テキスト発言』アクションを追加し、『発言内容』に以下の例を参考に入力してください。
実行条件に『3時間後の天気 = Rain』と設定してください。
入力例:
『発言内容』:{{@現在日時}}から3時間後の{{都市名}}に雨の天気予報が出ています。
『タスクの流れ』エリアから『実行中の繰り返しタスクを完了』アクションを追加し、
実行条件に『3時間後の天気 = Rain』と設定してください。
※雨予報を取得した場合は、ユーザーに通知し、タスク機能が終了しますので、3時間後も通知されません。
-
手順(シナリオ作成)
チャットボット画面へ戻り、『シナリオ一覧』タブから”新規作成”ボタンをクリックしてください。
-
『ユーザー発言例(発言例タブ)』を入力してください。
『シナリオの流れ』エリアの中にあるリストから『選択肢確認』を選択し、 “アクションを追加” ボタンをクリックしてください。
『選択肢確認』アクションに、以下の例を参考に入力してください。
入力例:
『タイトル』 |
地域 |
『質問内容』 |
天気予報を参照する地域を教えてください。 |
表示名 |
値 |
東京 |
Tokyo |
大阪 |
Osaka |
福岡 |
Fukuoka |
名古屋 |
Nagoya |
『シナリオの流れ』エリアの中にあるリストから『指定したタスクの実行を予約』を選択し、 “アクションを追加” ボタンをクリックしてください。
『実行するタスク』に、先程作成した『雨通知タスク』を選択してください。『引継ぎ変数』に以下の例を参考に入力してください。
入力例:
・『引継ぎ変数』
※引継ぎ変数とは、タスクに引き継ぐ変数のことを指します。ここで指定した変数はタスクアクション内で{{変数}}のように使用できます。
※タスク設定の実行タイミングを「タスクを登録した1分後」に設定したので、『指定したタスクの実行を予約』アクションが実行された1分後にタスクが実行されます。
『シナリオの流れ』エリアから『テキスト発言』アクションを追加し、『発言内容』に以下の例を参考に入力してください。
入力例:
タスクを登録しました。
雨予報が出た場合に通知します。
-
「学習データが更新されています。反映するには学習ボタンを押してください。」というメッセージが表示されますので、 “保存してチャットボットを学習” ボタンをクリックしてください。
<Web公開後のチャットボット画面>
Last updated on 2019/01/30.