メッセージノードは、ユーザーにメッセージを配信するために使用されます。メッセージノードは、通常、API、Webサービスコール、またはWebhookイベントに従って、結果をフォーマット化された応答として定義します。ボットレスポンスは、以下のようにフォーマット化することができます。
- テキスト形式:メッセージをテキスト形式で入力します。保存されているコンテキスト値を
{{variable brackets}}
で使用できます。例:'Hello {{context.session.UserContext.firstName}}. How can I help you?'
- JavaScript:以下のいずれかのJavaScriptの応答を作成します。
- コンテキスト変数とセッション変数を使用してメッセージを動的に構築するため。
- さまざまなチャネルでサポートされているテンプレートやウィジェットを表示するため。例として、Facebookチャネル用のJavaScriptメッセージを作成し、カルーセルのテンプレートを提示することができます。
- オプションで、テンプレートを使用してHTMLレポート形式で情報を表示するためのリンクを生成することができ、また、そのURLをボットメッセージで共有することができます。
例として、フライトの予約のサンプルダイアログでは、以下のメッセージノードを使用します。
- WeatherReport:これは、LocationScriptノードを使用してフォーマット化したWeatherApiサービスノードから返された天気の詳細を表示します。
- FinalFlightinfo:これは、フライト情報 サービスノードが返すフライトの旅程を表示しています。
- ありがとうございます:最終的なフライトの詳細を表示した後、他にリクエストがあるかどうかを指示します。
セットアップ
ダイアログタスクにおけるメッセージノードのセットアップは、以下の手順で行います。
ノードの追加
- ダイアログタスクを開き、メッセージノードを追加します。
- メッセージノードを指定された場所に追加します。ノードの追加手順についてはこちらをご参照ください。
- メッセージウィンドウは、デフォルトではコンポーネントプロパティタブが選択された状態で表示されます。
ノードの設定
コンポーネントプロパティ
メモ:このセクションでセットアップまたは編集する設定は、このノードを使用する他のすべてのダイアログタスクに反映されます。
- コンポーネントプロパティタブの一般設定セクションで、メッセージノードの名前と表示名を入力します。
- ボットレスポンスセクションでは、テキスト形式またはJavaScriptメッセージとして、ボットレスポンスを作成し、フォーマット化します。デフォルトのメッセージはプラットフォームによって設定されていますが、カスタマイズすることもできます。
- 管理リンクを使用して、ボットレスポンスにチャネル固有のメッセージを入力できます。詳細は、プロンプトエディターの使用をご参照ください。
- ボットレスポンスをさらに追加するには、ボットレスポンスの追加をクリックし、上記の手順を繰り返します。
メッセージをレポートリンクとして生成(オプション)
メッセージノードによって、テンプレートを使用して、情報をHTMLレポート形式で表示するためのリンクを生成することができます。URLリンクがボットメッセージに追加されています。ボットレスポンスにリンクを追加すると、ユーザーはそのリンクを選択して、SalesForceボットの販売機会終了に関する値のテーブルなどの詳細情報を手に入れることができます。レポートリンクを生成するには、下記の手順に従います。
- コンポーネントプロパティタブのレポート URLセクションで、レポートの生成リンクをクリックします。 この画像は新しいダイアログビルダーに対応していますが、従来のビルダーでも同じ位置(つまり、メッセージノード->コンポーネントのプロパティ)でこの機能を見つけることができます。
- レポートの生成ダイアログボックスで、以下の値を入力します。
- リンクタイトル – ボットチャネルに表示されるリンクテキスト。例:ショッピングカートの表示。
- ヘッダー – レポートのタイトル。例:「ショッピングカートの中にアイテムが入っています」。
- 詳細 – ヘッダーの直下に表示されるエンドユーザー向けのヘルプ情報で、レポートの内容を説明しています。例として、ショッピングカートの中を見直し、注文の準備ができたら「続ける」をクリックします。
- データパス – データのパスであり、通常はWebサービスからの応答です。例:context.ShoppingCartService.response.body
- テンプレート – タスク応答のデータを表示するためのフォーマットテンプレートを以下から1つ選択します。各タイプには、列名、キーマッピング、データ型、およびテンプレート固有のオプションを定義します。
- テーブル – 定義された列があるテーブル形式を使用します。テーブルテンプレートの各マッピングは並べ替え可能、画像で表示、およびリンクで表示に設定されています。詳細は、テーブルレポートの定義をご参照ください。
- 固定列テーブル – 1つ以上の固定列があるテーブル形式を使用します。固定列テーブルテンプレートの各マッピングは、並べ替え可能、固定列で表示、画像で表示、およびリンクで表示に設定されています。詳細情報は、固定列テーブルレポートの定義をご参照ください。
- カードレイアウト – コンタクトカード形式を使用しています。カード レイアウトテンプレートの各マッピングは、並べ替え可能、画像で表示、およびリンクで表示に設定されています。詳細情報は、カードレイアウトレポートの定義をご参照ください。
- 天気情報 – 天気サービスレスポンスペイロードの日付を定義します。天気情報テンプレートの各マッピングは、並べ替え可能、画像で表示、およびリンクで表示に設定されています。詳細情報は、天気予報レポートの定義をご参照ください。
- グループ別のカードレイアウト – 特定のフィールド別にグループ化されたアイテムのリストを表示します。詳細情報は、グループ別のカードレイアウトレポートの定義をご参照ください。
- 保存をクリックします。
可変ネームスペース
- 可変ネームスペースセクションでは、可変ネームスペースを関連付けてこのノードとその遷移を実行します。このオプションは、可変ネームスペースがボットに対して有効になっている場合にのみ表示されます。タスクレベルの設定を使用するか、またはこのノード用にカスタマイズできます。詳細情報は、ネームスペースの管理をご参照ください。
インスタンスプロパティ
- 「メッセージ」ウィンドウで、インスタンスプロパティタブをクリックします。
- 割り込み動作セクションでは、このノードの割り込み動作を設定できます。メモ:[インスタンスプロパティ]タブの設定は、現在のダイアログタスクに固有のものであって、このノードを使用して他のダイアログタスクに反映させることはできません。
- タスクレベルの「割り込み動作」の設定を使用:ボットは、ダイアログタスクレベルで設定された割り込み動作の設定を参照します。
- このノードオプションのカスタマイズ:このオプションを選択してその設定を行うことで、このノードの割り込み動作の設定をカスタマイズできます。詳細情報は、割り込み処理とコンテキストの切り替えの記事をご参照ください。
- カスタムタグセクションにおいて、タグを追加して、ボット会話のカスタムプロファイルを作成します。詳しくはこちらをクリックしてください。
IVRプロパティ
このタブを使用して、このノードがIVRチャネルで使用する入力モード、文法、プロンプト、および呼び出し動作パラメータを定義できます。それはノードレベルで行われます。詳細はこちらをクリックしてください
接続プロパティ
ノードの接続タブから、次に実行するダイアログタスクのノードを決定できます。条件文は、ダイアログタスク内の任意のエンティティやコンテキストオブジェクトの値に基づいて記述することも、遷移にインテントを使用することもできます。コンポーネント遷移をセットアップするには、以下の手順に従います。
- 「メッセージ」ウィンドウで、接続タブをクリックします。
- 接続タブの接続ルールセクションでは、 デフォルトドロップダウンリストからノードを選択することができます。
- 条件付きのフローを設定するには、IFの追加をクリックします。
- 以下のいずれかの基準に基づいて、条件式を設定します。
- エンティティ:これらの演算子のいずれかを使用して、ダイアログ内のエンティティノードを特定の値と比較します。存在する、等しい、等しいより大きい、等しいより小さい、等しくない、より大きい、より小さい。それぞれのドロップダウンリストを使用して、エンティティ、演算子を選択し、値ボックスに数値を入力します。例:PassengerCount(エンティティ)は5(指定値)より大きい(演算子)。
- コンテキスト:これらの演算子のいずれかを使用して、ダイアログ内のコンテキストオブジェクトを特定の値と比較します。存在する、等しい、等しいより大きい、等しいより小さい、等しくない、より大きい、より小さい。例: Context.entity.PassengerCount (コンテキストオブジェクト)が(演算子)5(指定値)より大きい。
- インテント:次のユーザーの発話に一致するインテントを選択します。
- 次へ進むドロップダウンリストで、条件式が成功した場合にダイアログフローで実行する次のノードを選択します。例として、PassengerCount (エンティティ) が(演算子) 5 (指定値)より大きい場合、次へ進むオファー(サブダイアログ)になります。
- その他ドロップダウンリストで、条件が失敗した場合に実行するノードを選択します。
メモ:複数のIf条件を書きたい場合は、最後のIf条件式の下のその他の条件を追加をクリックします。