はじめに
対話型AIプラットフォーム
チャットボットの概要
自然言語処理(NLP)
ボットの概念と用語
クイックスタートガイド
プラットフォームへのアクセス
ボットビルダーの操作
リリースノート
最新バージョン(英語)
以前のバージョン(英語)
廃止機能(英語)
コンセプト
設計
ストーリーボード
ダイアログタスク
ダイアログタスクとは
ダイアログビルダー
ノードタイプ
インテントノード
ダイアログノード
エンティティノード
フォームノード
確認ノード
ロジックノード
ボットアクションノード
サービスノード
Webhookノード
スクリプトノード
グループノード
エージェント転送ノード
ユーザープロンプト
音声通話プロパティ
イベント ハンドラー
ナレッジグラフ
ナレッジグラフの抽出
ナレッジグラフの構築
ボットにナレッジグラフを追加
グラフの作成
ナレッジグラフの構築
既存のソースからFAQを構築
特性、同義語、停止用語
変数ネームスペースの管理
更新
ノード間の質問と回答の移動
用語の編集と削除
質問と応答の編集
ナレッジグラフの分析
通知タスク
スモールトーク
デジタルスキル
デジタルフォーム
デジタルビュー
デジタルビューとは
パネル
ウィジェット
トレーニング
トレーニングとは
機械学習
機械学習とは
モデル検証
ファンダメンタルミーニング
ナレッジグラフ
示唆
ランキングおよび解決
NLPの詳細設定
NLPのガイドライン
インテリジェンス
インテリジェンスとは
コンテキスト
コンテキストインテント
割り込み
複数インテントの検出
エンティティの変更
デフォルトの会話
センチメント管理
トーン分析
テストとデバッグ
ボットと会話
発話テスト
バッチテスト
会話テスト
デプロイ
チャネル
公開
分析
ボットの分析
NLPメトリクス
会話フロー
Usage Metrics
封じ込め測定
カスタムダッシュボード
カスタムダッシュボードとは
メタタグ
カスタムダッシュボードとウィジェット
ユニバーサルボット
ユニバーサルボットとは
ユニバーサルボットの定義
ユニバーサルボットの作成
ユニバーサルボットのトレーニング
ユニバーサルボットのカスタマイズ
他言語の有効化
ストア
プラントと使用
Overview
Usage Plans
Support Plans
Invoices
管理
ボット認証
複数言語対応ボット
個人を特定できる情報の編集
ボット変数の使用
IVRのシステム連携
一般設定
ボット管理
ハウツー
会話スキルの設計
バンキングボットを作成
バンキングボット – 資金の振り替え
バンキングボット – 残高を更新
ナレッジグラフを構築
スマートアラートの予約方法
デジタルスキルの設計
デジタルフォームの設定方法
デジタルビューの設定方法
データテーブルのデータの追加方法
データテーブルのデータの更新方法
Add Data from Digital Forms
ボットのトレーニング
示唆の使用方法
インテントとエンティティのパターンの使用方法
コンテキスト切り替えの管理方法
ボットのデプロイ
エージェント転送の設定方法
ボット関数の使用方法
コンテンツ変数の使用方法
グローバル変数の使用方法
Web SDK Tutorial(英語)
Widget SDK Tutorial(英語)
ボットの分析
カスタムダッシュボードの作成方法
カスタムタグを使ってフィルタリング
管理
ボット管理者コンソール
ダッシュボード
ユーザーの管理
ユーザーの管理
グループの管理
ロール管理
ボット管理モジュール
登録
ユーザーの招待
招待状の一括送信
ユーザーデータのインポート
Active Directoryからユーザーを同期
セキュリティ/コンプライアンス
シングル サインオンの使用
セキュリティ設定
Billing(日本未対応)
  1. ホーム
  2. Docs
  3. Virtual Assistants
  4. Advanced Topics
  5. イベントベースのボットアクション

イベントベースのボットアクション

ボットイベントは、ボットの会話中に特定のアクションが発生したとき、またはボットチャネルで特定のイベントが発生したときにトリガーされます。

たとえば、ユーザーが開始ボタンをクリックして、FB Messenger ボットとのチャットを開始すると、Facebookウェルカムイベントがトリガーされます。このイベントを使用して、ユーザーの名字および名前でのパーソナライズ、ユーザーからの追加情報の取得、バックエンドシステムの更新など、ウェルカムグリーティングのカスタマイズを行うことができます。

ボットの動作

開発者は、以下のオプションを使用して、イベントがトリガーされた際のボットの動作を定義することができます。

タスクを実行する

イベントが発生した際に呼び出されるダイアログタスク(標準または非表示)を選択します。イベントがトリガーされると、ダイアログの実行が開始されます。他のインテント検出によって一時停止された場合は、一時停止と再開の設定が有効になります。実行中に、選択済みのダイアログがボットで公開されていない場合、イベントは破棄されます。場合によっては、タスクが未公開、一時停止されている、あるいは単にユーザーに割り当てられていないなどの様々な理由により、会話中にユーザーがダイアログを利用できない場合があります。このような場合、ボットは、そのタスクが現在実行できないというエラーメッセージを表示します。開発者は、デバッグモードでボットをテストすることにより、こうした事態を未然に防ぐことができます。デバッグコンソールは、タスクが利用できない理由など、エラーの詳細を示します。

スクリプトを実行する

イベントが発生した際に実行するJavaScriptを定義します。スクリプトは、セッション、コンテキストオブジェクト、ボット変数、ボット関数など、該当するすべてのコンポーネントを利用することができます。デバッグモードを使用してコードを修正することもできます。

メッセージを表示する

イベントが発生した際にユーザーに表示するシンプルなメッセージまたは詳細なメッセージを定義します。ボットプラットフォームで利用可能なすべてのメッセージフォーマット機能をサポートしており、チャネルの上書きオプションを使用した複数のメッセージにも対応しています。多言語ボットの動作:

  • 言語固有のメッセージを定義することができます。
  • 特定の言語のイベントからメッセージが削除された場合、ボットの他のすべての言語からも削除されます。
  • ある言語でメッセージが追加されると、他のすべての言語で同じ内容のメッセージが追加されます。
  • ある言語でメッセージの内容が変更された場合、その変更内容はその言語のみに適用されます。

メッセージのフォーマットやテンプレートについてはこちらをご確認ください

イベントタイプ

以下のイベントが応答のトリガーとなるように設定することができます。

イベント トリガー
ウェルカムイベント チャネルでユーザーからの最初のメッセージを受信した時。
Facebookウェルカムイベント Facebook Messengerからウェルカムイベントを受信した時。ボットに両方が設定されている場合、このイベントはウェルカムイベントよりも優先されます。
テレフォニーウェルカムイベント IVR、Twilio、Audio Codesなどの音声チャネルからユーザーの呼び出しを受信した時。詳細は以下をご確認ください。(旧称:Twilio音声ウェルカムイベント)
Telegramウェルカムイベント Telegramからウェルカムイベントを受信した時。ボットに両方が設定されている場合、このイベントはウェルカムイベントよりも優先されます。
接続時 ユーザーがウェブ/モバイルSDKチャネルで会話するたび。このイベントは、ユーザーが会話を開始したかどうかにかかわらず、トリガーされます。このイベントはウェブ/モバイルSDKチャネルにのみ適用され、両方設定されている場合はこのイベントがウェルカムイベントよりも優先されることにご注意ください。
会話の終了 会話の終了を迎えた時。詳細は以下をご確認ください
タスクの実行に失敗しました ダイアログタスクの実行中に、以下のようなエラーが発生した時。

  • ボットの実行中のエラー
  • サービスコールの失敗
  • サーバーに接続できない
  • 人間のエージェントへの転送の際の、エージェントノードの呼び出しエラー
  • ナレッジグラフのタスクの失敗
  • Webhookノードの失敗
  • サブダイアログのノードに関連するダイアログが利用できない
  • ボットメッセージを解析する際の例外。
RCS オプトイン イベント ユーザーがRCSメッセージングチャネルを選択したというメッセージを受信した時。
RCS オプトアウト イベント ユーザーがRCSメッセージングチャネルからオプトアウトしたというメッセージを受信した時。

設定

ボットのイベントを設定するには、以下の手順に従います。

  1. トップメニューのボットビルドタブで、インテリジェンスイベントハンドラーを選択します。
  2. イベントページで、イベントを1つ選択します。イベント設定ウィンドウがスライドして開きます。
  3. これらのオプションのいずれかを選択して、選択したイベントが検出されたときの処理方法を定義します。
    • タスクを開始
    • スクリプトを実行
    • メッセージを表示

設定

設定オプションでは、以下のことができます。

  • 変数の名前空間の管理で、イベントハンドラーで使用する変数の名前空間を関連付けます。このオプションは、ボットで変数の名前空間が有効になっている場合にのみ表示されます。詳細は、名前空間の管理をご確認ください。

その他の注意事項

タスク実行の失敗イベント

  • このイベントは、v6.40リリース以降利用可能です。
  • デフォルトでは、このイベントはメッセージを表示オプションで常に有効になっています。このイベントを無効にすることはできません。
  • このボットレベルの動作は、ダイアログタスクの設定からタスク固有の失敗イベントを定義することで、特定のタスクに対して上書きすることができます。方法はこちらを参照してください

ようこそオンコネクトイベント

ユーザーは、簡単な挨拶から、直接的な意思表示やFAQの質問まで、様々な方法でボットとの会話を始めることができます。ユーザーの選択に応じて開発者がボットの応答をカスタマイズできるように、イベント設定としてタスクを開始またはメッセージを表示を選択した場合、ウェルカムイベントには追加のオプションが出現します。例えば、最初のユーザーの発話がボットのタスクにマッピングされている場合、ボットはイベントベースのタスクまたはユーザーインテントを最初に実行する必要がありますか?ver9.0以降では、BotUserSessionコンテキストオブジェクトのisReturningUserパラメータを使用して、リピーターを識別し、適切なウェルカムメッセージを送信できます(コンテキストオブジェクトについてはこちらを参照してください)。開発者は、ユーザーが挨拶、タスク、FAQなどでボットとの会話を始めたときのボットの優先順位を、以下のオプションから定義することができます。

イベントの設定 オプション
タスクを開始
  • 挨拶/スモールトーク
    • 挨拶や世間話に応答し、ウェルカムイベントのダイアログを開始する挨拶やスモールトークに応答して、ウェルカムイベントのダイアログを開始
    • ユーザーメッセージを破棄し、ウェルカムイベントのダイアログを開始
  • よくある質問(FAQ)
    • FAQに回答し、ウェルカムイベントのダイアログを開始
    • ユーザーメッセージを破棄し、ウェルカムイベントのダイアログを開始
  • タスク
    • ユーザーが要求したタスクを開始し、ウェルカムイベントダイアログを破棄
    • ウェルカムイベントダイアログを開始し、フォローアップインテントにユーザーが要求したタスクを追加

タスクがまだ公開されていない、一時停止されている、単にユーザーに割り当てられていないなどの理由で、タスクがユーザーに利用されていない場合、ボットは、そのタスクが現在実行できないというエラーメッセージを表示します。

メッセージを表示
  • 挨拶/スモールトーク
    • 挨拶や世間話に対応し、ウェルカムイベントのメッセージを表示
    • 挨拶や世間話に対応し、ウェルカムイベントのメッセージを破棄
  • よくある質問(FAQ)
    • FAQに回答し、ウェルカムイベントのメッセージを開始
    • FAQに回答し、ウェルカムイベントのダイアログを破棄
  • タスク
    • ウェルカムイベントメッセージを表示し、ユーザーが要求したタスクを実行
    • ウェルカムイベントメッセージを削除し、ユーザーが要求したタスクを実行
メモ:ボットビルダーのプラットフォームは、ウェルカムメッセージをサポートしていません。旧バージョンのプラットフォームでウェルカムメッセージを定義していた場合、アップグレード版では、下位互換性を確保するために、対応するウェルカムイベントおよび接続時イベントが自動的に作成されます。

会話の終了

会話の終了は、ボットがユーザーにメッセージを送信したり、ユーザーからメッセージを受信したりすることを想定されなくなった場合にトリガーされます。タスクの終了イベントに追加された、タスクを終了する理由を示す新しいフラグは、会話の終了の動作を決定するのに役立ちます。BotKits、RTM、Webhookチャネルのクライアント側の実装では、このタスク完了フラグの理由をコンテキストで使用して、適切な動作を決定することができます。このイベントがトリガーされると、以下の詳細とともにコンテキストが更新されます。

  • イベント発生の理由(下表参照)
  • 終了したばかりのタスクの名前。FAQの場合、タスク名に「FAQ」が設定されます。
シナリオ 会話の終了フラグ
ダイアログの最後のノードに到達 遂行済み
タスクがユーザーにキャンセルされた キャンセル済み
タスクまたはFAQの実行時のエラー(タスク失敗イベントなし、タスクの一時停止なし) 失敗
リンクされたダイアログが親ダイアログに戻らずに終了する Fulfilled_LinkedDialog
FAQへの回答時 遂行済み
スクリプトを実行またはメッセージを表示によるイベント実行の完了(一時停止中のタスクなし) Fulfilled_Event
スクリプトを実行またはメッセージを表示によるイベントを実行時のエラー(一時停止中のタスクなし) Failed_Event
ユーザーが一時停止中のタスクの再開を拒否(他に一時停止されているタスクがない場合) キャンセル済み

IVR Impact このイベントを使用して、音声ベースのチャネルのコールをいつどのように終了させるかを定義することもできます。IVRの導入が強化され、「会話の終了」が完了したときにのみセッション/コールを閉じることができるようになりました。方法はこちらをご確認ください

テレフォニーウェルカムイベント

このイベントは、任意の音声チャネルからプラットフォームへの音声通話を受信した際にトリガーされます。このイベントは、初回だけでなく、ユーザーの通話がプラットフォームで受信されるたびに発生します。これには「ダイアログの実行」と「音声通話のプロパティ」の2つのオプションがあります。

  • ダイアログの実行 – 与えられたドロップダウンリストからトリガーされるタスクを選択します。
  • 音声通話のプロパティは以下のように設定することができます。
    • 「初期プロンプト」を少なくとも1つ定義します。
    • タイムアウトや一致なしのプロンプトを定義することができます。
    • 高度なコントロールで、タイムアウト、試行回数、バージインなどの設定を定義することができます。詳細はこちらをご確認ください

イベントベースのボットアクション

ボットイベントは、ボットの会話中に特定のアクションが発生したとき、またはボットチャネルで特定のイベントが発生したときにトリガーされます。

たとえば、ユーザーが開始ボタンをクリックして、FB Messenger ボットとのチャットを開始すると、Facebookウェルカムイベントがトリガーされます。このイベントを使用して、ユーザーの名字および名前でのパーソナライズ、ユーザーからの追加情報の取得、バックエンドシステムの更新など、ウェルカムグリーティングのカスタマイズを行うことができます。

ボットの動作

開発者は、以下のオプションを使用して、イベントがトリガーされた際のボットの動作を定義することができます。

タスクを実行する

イベントが発生した際に呼び出されるダイアログタスク(標準または非表示)を選択します。イベントがトリガーされると、ダイアログの実行が開始されます。他のインテント検出によって一時停止された場合は、一時停止と再開の設定が有効になります。実行中に、選択済みのダイアログがボットで公開されていない場合、イベントは破棄されます。場合によっては、タスクが未公開、一時停止されている、あるいは単にユーザーに割り当てられていないなどの様々な理由により、会話中にユーザーがダイアログを利用できない場合があります。このような場合、ボットは、そのタスクが現在実行できないというエラーメッセージを表示します。開発者は、デバッグモードでボットをテストすることにより、こうした事態を未然に防ぐことができます。デバッグコンソールは、タスクが利用できない理由など、エラーの詳細を示します。

スクリプトを実行する

イベントが発生した際に実行するJavaScriptを定義します。スクリプトは、セッション、コンテキストオブジェクト、ボット変数、ボット関数など、該当するすべてのコンポーネントを利用することができます。デバッグモードを使用してコードを修正することもできます。

メッセージを表示する

イベントが発生した際にユーザーに表示するシンプルなメッセージまたは詳細なメッセージを定義します。ボットプラットフォームで利用可能なすべてのメッセージフォーマット機能をサポートしており、チャネルの上書きオプションを使用した複数のメッセージにも対応しています。多言語ボットの動作:

  • 言語固有のメッセージを定義することができます。
  • 特定の言語のイベントからメッセージが削除された場合、ボットの他のすべての言語からも削除されます。
  • ある言語でメッセージが追加されると、他のすべての言語で同じ内容のメッセージが追加されます。
  • ある言語でメッセージの内容が変更された場合、その変更内容はその言語のみに適用されます。

メッセージのフォーマットやテンプレートについてはこちらをご確認ください

イベントタイプ

以下のイベントが応答のトリガーとなるように設定することができます。

イベント トリガー
ウェルカムイベント チャネルでユーザーからの最初のメッセージを受信した時。
Facebookウェルカムイベント Facebook Messengerからウェルカムイベントを受信した時。ボットに両方が設定されている場合、このイベントはウェルカムイベントよりも優先されます。
テレフォニーウェルカムイベント IVR、Twilio、Audio Codesなどの音声チャネルからユーザーの呼び出しを受信した時。詳細は以下をご確認ください。(旧称:Twilio音声ウェルカムイベント)
Telegramウェルカムイベント Telegramからウェルカムイベントを受信した時。ボットに両方が設定されている場合、このイベントはウェルカムイベントよりも優先されます。
接続時 ユーザーがウェブ/モバイルSDKチャネルで会話するたび。このイベントは、ユーザーが会話を開始したかどうかにかかわらず、トリガーされます。このイベントはウェブ/モバイルSDKチャネルにのみ適用され、両方設定されている場合はこのイベントがウェルカムイベントよりも優先されることにご注意ください。
会話の終了 会話の終了を迎えた時。詳細は以下をご確認ください
タスクの実行に失敗しました ダイアログタスクの実行中に、以下のようなエラーが発生した時。

  • ボットの実行中のエラー
  • サービスコールの失敗
  • サーバーに接続できない
  • 人間のエージェントへの転送の際の、エージェントノードの呼び出しエラー
  • ナレッジグラフのタスクの失敗
  • Webhookノードの失敗
  • サブダイアログのノードに関連するダイアログが利用できない
  • ボットメッセージを解析する際の例外。
RCS オプトイン イベント ユーザーがRCSメッセージングチャネルを選択したというメッセージを受信した時。
RCS オプトアウト イベント ユーザーがRCSメッセージングチャネルからオプトアウトしたというメッセージを受信した時。

設定

ボットのイベントを設定するには、以下の手順に従います。

  1. トップメニューのボットビルドタブで、インテリジェンスイベントハンドラーを選択します。
  2. イベントページで、イベントを1つ選択します。イベント設定ウィンドウがスライドして開きます。
  3. これらのオプションのいずれかを選択して、選択したイベントが検出されたときの処理方法を定義します。
    • タスクを開始
    • スクリプトを実行
    • メッセージを表示

設定

設定オプションでは、以下のことができます。

  • 変数の名前空間の管理で、イベントハンドラーで使用する変数の名前空間を関連付けます。このオプションは、ボットで変数の名前空間が有効になっている場合にのみ表示されます。詳細は、名前空間の管理をご確認ください。

その他の注意事項

タスク実行の失敗イベント

  • このイベントは、v6.40リリース以降利用可能です。
  • デフォルトでは、このイベントはメッセージを表示オプションで常に有効になっています。このイベントを無効にすることはできません。
  • このボットレベルの動作は、ダイアログタスクの設定からタスク固有の失敗イベントを定義することで、特定のタスクに対して上書きすることができます。方法はこちらを参照してください

ようこそオンコネクトイベント

ユーザーは、簡単な挨拶から、直接的な意思表示やFAQの質問まで、様々な方法でボットとの会話を始めることができます。ユーザーの選択に応じて開発者がボットの応答をカスタマイズできるように、イベント設定としてタスクを開始またはメッセージを表示を選択した場合、ウェルカムイベントには追加のオプションが出現します。例えば、最初のユーザーの発話がボットのタスクにマッピングされている場合、ボットはイベントベースのタスクまたはユーザーインテントを最初に実行する必要がありますか?ver9.0以降では、BotUserSessionコンテキストオブジェクトのisReturningUserパラメータを使用して、リピーターを識別し、適切なウェルカムメッセージを送信できます(コンテキストオブジェクトについてはこちらを参照してください)。開発者は、ユーザーが挨拶、タスク、FAQなどでボットとの会話を始めたときのボットの優先順位を、以下のオプションから定義することができます。

イベントの設定 オプション
タスクを開始
  • 挨拶/スモールトーク
    • 挨拶や世間話に応答し、ウェルカムイベントのダイアログを開始する挨拶やスモールトークに応答して、ウェルカムイベントのダイアログを開始
    • ユーザーメッセージを破棄し、ウェルカムイベントのダイアログを開始
  • よくある質問(FAQ)
    • FAQに回答し、ウェルカムイベントのダイアログを開始
    • ユーザーメッセージを破棄し、ウェルカムイベントのダイアログを開始
  • タスク
    • ユーザーが要求したタスクを開始し、ウェルカムイベントダイアログを破棄
    • ウェルカムイベントダイアログを開始し、フォローアップインテントにユーザーが要求したタスクを追加

タスクがまだ公開されていない、一時停止されている、単にユーザーに割り当てられていないなどの理由で、タスクがユーザーに利用されていない場合、ボットは、そのタスクが現在実行できないというエラーメッセージを表示します。

メッセージを表示
  • 挨拶/スモールトーク
    • 挨拶や世間話に対応し、ウェルカムイベントのメッセージを表示
    • 挨拶や世間話に対応し、ウェルカムイベントのメッセージを破棄
  • よくある質問(FAQ)
    • FAQに回答し、ウェルカムイベントのメッセージを開始
    • FAQに回答し、ウェルカムイベントのダイアログを破棄
  • タスク
    • ウェルカムイベントメッセージを表示し、ユーザーが要求したタスクを実行
    • ウェルカムイベントメッセージを削除し、ユーザーが要求したタスクを実行
メモ:ボットビルダーのプラットフォームは、ウェルカムメッセージをサポートしていません。旧バージョンのプラットフォームでウェルカムメッセージを定義していた場合、アップグレード版では、下位互換性を確保するために、対応するウェルカムイベントおよび接続時イベントが自動的に作成されます。

会話の終了

会話の終了は、ボットがユーザーにメッセージを送信したり、ユーザーからメッセージを受信したりすることを想定されなくなった場合にトリガーされます。タスクの終了イベントに追加された、タスクを終了する理由を示す新しいフラグは、会話の終了の動作を決定するのに役立ちます。BotKits、RTM、Webhookチャネルのクライアント側の実装では、このタスク完了フラグの理由をコンテキストで使用して、適切な動作を決定することができます。このイベントがトリガーされると、以下の詳細とともにコンテキストが更新されます。

  • イベント発生の理由(下表参照)
  • 終了したばかりのタスクの名前。FAQの場合、タスク名に「FAQ」が設定されます。
シナリオ 会話の終了フラグ
ダイアログの最後のノードに到達 遂行済み
タスクがユーザーにキャンセルされた キャンセル済み
タスクまたはFAQの実行時のエラー(タスク失敗イベントなし、タスクの一時停止なし) 失敗
リンクされたダイアログが親ダイアログに戻らずに終了する Fulfilled_LinkedDialog
FAQへの回答時 遂行済み
スクリプトを実行またはメッセージを表示によるイベント実行の完了(一時停止中のタスクなし) Fulfilled_Event
スクリプトを実行またはメッセージを表示によるイベントを実行時のエラー(一時停止中のタスクなし) Failed_Event
ユーザーが一時停止中のタスクの再開を拒否(他に一時停止されているタスクがない場合) キャンセル済み

IVR Impact このイベントを使用して、音声ベースのチャネルのコールをいつどのように終了させるかを定義することもできます。IVRの導入が強化され、「会話の終了」が完了したときにのみセッション/コールを閉じることができるようになりました。方法はこちらをご確認ください

テレフォニーウェルカムイベント

このイベントは、任意の音声チャネルからプラットフォームへの音声通話を受信した際にトリガーされます。このイベントは、初回だけでなく、ユーザーの通話がプラットフォームで受信されるたびに発生します。これには「ダイアログの実行」と「音声通話のプロパティ」の2つのオプションがあります。

  • ダイアログの実行 – 与えられたドロップダウンリストからトリガーされるタスクを選択します。
  • 音声通話のプロパティは以下のように設定することができます。
    • 「初期プロンプト」を少なくとも1つ定義します。
    • タイムアウトや一致なしのプロンプトを定義することができます。
    • 高度なコントロールで、タイムアウト、試行回数、バージインなどの設定を定義することができます。詳細はこちらをご確認ください
メニュー