タスク機能を利用したい

タスク機能を利用することで、チャットボット始動で外部連携やユーザーへの通知などを行うことができます。
事前にタスクの内容を設定し、シナリオ内で呼び出すことで、指定したタスクを指定したタイミングで、ユーザーの発言を待たずに実行することができます。
この機能はベータ機能を有効化することでお試しいただけます。
ベータ機能は、将来的に互換性のない変更や機能の廃止が行われる可能性があります。予めご了承ください。
ベータ機能を有効にする方法は、 こちら をご覧ください。
本手順では、タスク機能を利用して、雨予報をユーザーに通知する以下タスクを作成します。
① 1日後まで、3時間おきに天気予報の情報を取得します。
② 取得した値が「晴れ」の場合は、ユーザーに何も通知せず、3時間後に再度タスクが実行されます。
③ 取得した値が「雨」の場合は、ユーザーに雨予報の情報を通知し、タスク機能を終了します。以降タスクは実行されません。
初めに、天気予報情報を取得するために、外部システム連携の設定を行います。

  手順(外部システム連携)

  1. 雨の予報を通知するタスクを作成します。
    左メニューの『チャットボット一覧』より設定を行うチャットボットを選択し、『外部システム連携』タブから”新規作成“ボタンをクリックしてください。

  2. 『外部システム連携先』に連携先名、『説明』に連携先の説明を入力してください。

  3. 『タイプ』に「HTTP(S)」を選択し、『URL』に以下の例を参考に、接続先URLを入力してください。
    ※ 天気予報APIを利用する場合、予めユーザー登録とAPI Keyの取得が必要となります。詳しい手順は こちら をご覧ください。

    [入力例]
    http://api.openweathermap.org/data/2.5/forecast?q={{エリア}},JP&units=metric&APPID=【API Key】
    【API Key】は、天気予報APIより取得したKeyを入力してください。

  4. 『Response Map』に以下の例を参考に各項目を入力してください。

    [入力例]
    変換元 変換先
    city.name 都市名
    list[1].weather[0].main 3時間後の天気
    list[1].dt_txt UTC日時
  5. 保存“ボタンをクリックしてください。

  6. 作成した外部連携が問題なく動作しているかどうか、テストを行うことができます。
    動作テストを行う場合は、”テスト“ボタンをクリックしてください。

    [外部連携の実行画面]
次に、タスクとして実行したい処理を設定します。

  手順(タスク設定)

  1. チャットボット画面へ戻り、『タスク』タブから”新規作成“ボタンをクリックしてください。

  2. 『タスク名』を入力し、『実行タイミング』の『タイプ』から「複数回実行」を選択してください。
    指定した時刻に一度だけタスクを実行したい場合は、「一度だけ実行」を選択してください。

  3. 『開始日時』と『終了日時』を入力してください。
    『終了日時』に設定した日時を超えると、タスクは実行されなくなります。

  4. 今回は3時間おきにタスクを実行させるため、『実行間隔(分)』に「180」と入力してください。

  5. 雨予報の情報を一度も取得しなかった場合に、ユーザーへメッセージ送信を行うため、『最終実行後もタスクが完了していなければ指定したメッセージを送信する』にチェックを入れ、『発言内容』に以下の例を参考に入力してください。
    ※ チェックがない場合、タスク完了の通知は行いません。

    [入力例]
    タスクの実行期間が終了しました。
    引き続き雨予報の通知を受け取りたい場合は、再度チャットボットに依頼をしてください。
    
  6. 『タスクの流れ』エリアの中にあるリストから『外部システム連携』を選択し、 “アクションを追加“ボタンをクリックしてください。

  7. 『連携先』に「手順(外部システム連携)」で作成した、「天気予報API」を選択してください。

  8. 『タスクの流れ』エリアの中にあるリストから『実行中のタスクを強制終了』アクションを追加後、アクションの下側に表示される”faq109_exec_cond“をクリックし、『実行条件』に以下の例を参考に、各項目を入力してください。
    3時間後の天気が雨ではなかった場合、実行中のタスクは一旦強制終了され、また3時間後にタスクが実行されます。

    [条件入力例]
    「3時間後の天気」 <> 「Rain」

  9. 『タスクの流れ』エリアの中にあるリストから『画像の送信』アクションを追加し、『タイトル』に「雨」と入力し、任意の画像を設定してください。
    ※ 画像設定の詳細については、 こちら をご覧ください。
    アクションの下側に表示される”faq109_exec_cond“をクリックし、『実行条件』に以下の例を参考に、各項目を入力してください。

    [条件入力例]
    「3時間後の天気」 「Rain」

  10. 『タスクの流れ』エリアから『テキスト発言』アクションを追加し、『発言内容』に以下の例を参考に入力してください。

    [入力例]
    {{@現在日時}}から3時間後の{{都市名}}に、雨の天気予報が出ています。
    アクションの下側に表示される”faq109_exec_cond“をクリックし、『実行条件』に以下の例を参考に、各項目を入力してください。

    [条件入力例]
    「3時間後の天気」 「Rain」

  11. 『タスクの流れ』エリアから『実行中の繰り返しタスクを完了』アクションを追加し、アクションの下側に表示される”faq109_exec_cond“をクリックし、『実行条件』に以下の例を参考に、各項目を入力してください。
    繰り返し実行の必要が無くなった場合は、本アクションを利用することで、タスクの終了ができます。
    今回は、雨予報を取得した場合は、ユーザーに通知し、タスク機能を終了します。繰り返し処理が完了扱いとなる為、3時間後にタスクは実行されません。

    [条件入力例]
    「3時間後の天気」 「Rain」

  12. 保存“ボタンをクリックしてください。
次に、タスクを呼び出すためのシナリオを設定します。

  手順(シナリオ作成)

  1. チャットボット画面へ戻り、『シナリオ一覧』タブから”新規作成“ボタンをクリックしてください。

  2. 『シナリオ名』と『ユーザー発言例(発言例タブ)』を入力してください。

  3. 『シナリオの流れ』エリアの中にあるリストから「ヒアリング」を選択し、”アクションを追加“ボタンをクリックしてください。

  4. 『ヒアリング項目』に以下の例を参考に、各項目を入力してください。

    [入力例]
    No. ヒアリング項目名 タイプ 項目ごとの質問文
    1 エリア @text 地域をローマ字で入力してください。 (札幌市の場合はSapporoまたはSapporo-shi)
  5. 『シナリオの流れ』エリアの中にあるリストから「指定したタスクの実行を予約」アクションを追加後、『実行するタスク』に「手順(タスク設定)」で作成した「雨通知タスク」を選択し、『引継ぎ変数』に以下の例を参考に入力してください。
    『引継ぎ変数』は、タスクに引き継ぐ変数となります。ここで指定した変数は、タスクのアクション内で{{変数}}という形で使用できます。
    「手順(タスク設定)」にて、タスクの実行タイミングを『タスクを登録した1分後』としたため、本アクションが実行された1分後にタスクが実行されます。

    [入力例]
    『名前』エリア
    『値』{{エリア}}

  6. 『シナリオの流れ』エリアから『テキスト発言』アクションを追加し、『発言内容』に以下の例を参考に入力してください。

    [入力例]
    タスクを登録しました。
    雨予報が出た時に通知します。
    
  7. 保存後、「学習データが更新されています。反映するには学習ボタンを押してください。」というメッセージが表示されますので、 “保存してチャットボットを学習“ボタンをクリックしてください。

  8. 『シミュレーター』機能で動作を確認してください。
Last updated on 2019/07/01.