トピックブロックユーティリティ

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:4分
  • 仮想エージェント 会話でトピックブロックを使用して、呼び出し元トピックで特定の手順を実行する特定の機能またはサブフローを実行します。

    トピックブロックユーティリティのプロパティ

    詳細については、「呼び出し元トピックまたはトピックブロックへの再利用可能なトピックブロックの追加」を参照してください。

    プロパティ 説明
    動的トピックブロックを使用 (Use dynamic Topic Block) 動的トピックブロックオプションを有効にするには、この切り替えを設定します。
    トピックブロック 公開されたトピックブロックのリスト。呼び出し元トピックに追加するトピックブロックを選択します。

    [動的トピックブロックを使用 (Use dynamic Topic Block)] をアクティブにした状態で、代わりに条件ビルダーを使用して条件またはスクリプトを入力します。

    ノード名 トピックブロックノードの名前。名前は、選択したトピックブロックに基づいて自動的にアサインされます。たとえば、ACME コンテキスト検索トピックブロックを選択すると、ACME コンテキスト検索という [名前] になります。

    [動的トピックブロックを使用 (Use dynamic Topic Block)] をアクティブにして、任意の名前を入力します。

    入力マッピング

    選択したトピックブロックへの入力として使用される変数。次の画像は、変数の例を示しています。

    この例では、入力マッピング変数には、カタログアイテム ID、コンテキスト検索の実行、カタログアイテムの確認、終了ステータスカードの表示が含まれます。

    このエリアの内容は、選択したトピックブロックに応じて変わります。オプションには、文字列入力、参照レコード、スクリプトなどが含まれます。

    [動的トピックブロックを使用 (Use dynamic Topic Block)] をアクティブにした状態で、[入力を管理して定義 (Manage inputs to define )] アイコン () を選択して、代わりにすべての入力マッピングを手動で追加します。入力は、 再利用可能なトピックブロックの開始セグメントの [入力パラメーター] ダイアログボックスと同様に処理されます。

    出力マッピング

    選択したトピックブロックにより出力される変数。次の画像は、有効になっている変数の例を示しています。

    この例では、出力マッピング変数には、レコード ID、レコードテーブル、ユーザーオプション変数が含まれます。

    このエリアの内容は、選択したトピックブロックに応じて変わります。

    [動的トピックブロックを使用 (Use dynamic Topic Block)] をアクティブにした状態で、[出力を管理して定義 (Manage outputs to define )] アイコン () を選択して、代わりにすべての出力マッピングを手動で追加します。入力は、再利用可能なトピックブロックの開始セグメントの [入力パラメーター] ダイアログボックスと同様に処理されます。

    [Advanced (詳細)]
    このノードを非表示
    次の場合、このノードを条件付きで使用します:

    会話でこのノードを表示するための条件を指定するノーコード条件ステートメントまたはローコードスクリプト。条件は true と評価される必要があります。

    トピックブロックユーティリティの例

    トピックブロックユーティリティのプロパティには、利用可能なトピックブロックへの参照、トピックブロックへの入力マッピング変数、およびトピックブロックが渡す出力変数が含まれます。[動的トピックブロックを使用 (Use dynamic Topic Block)] トグルスイッチがオンになっているトピックブロックユーティリティのプロパティ。

    動的トピックブロックの使用

    トピックブロックの動的設定を切り替えると、任意の数の条件に基づいて、呼び出すトピックブロックをプログラムで選択できます。トピックブロック定義に対して明示的な 1 対 1 の一致がなくても、動的な入力セットを渡すことができます。

    たとえば、トピックブロックが 2 つあるとします。ユーザー名を取得し、成功または失敗メッセージを返すことでパスワードを設定します。もう 1 つはパスワードをリセットしますが、成功または失敗のメッセージと一時パスワードを返す前に、要求とともに 2 要素認証 (2FA) トークンを送信する必要があります。

    パスワードリセット手順を処理するために 2 つの個別のトピックブロック呼び出しを作成することも、動的設定をアクティブにして次のように定義されたトピックブロックを 1 つ作成することもできます。

    • リセットタイプが includesTwoFactor = true かどうかを確認するスクリプトを追加します。ステートメントが true と評価された場合は TwoFactorReset を返し、それ以外の場合は NormalPasswordReset を返します。
    • passwordtwoFactorToken の 2 つの入力マッピングを定義します。どちらも、それらの値を含む渡されたオブジェクトと等しく設定されます。
    • successfultempPass の 2 つの出力マッピングを定義します。後者は、トピックブロックの戻り値に存在する場合にのみ設定されます。
    • 成功または失敗を出力する 2 つの出力ノードと、 tempPass 値が true かどうかを確認する出力を定義します。

    動的トピックブロック式の例

    (function execute() {
        /* Return the name of the topic block to run. For example:
            switch (vaVars.car_make) {
                case 'Ford':
                    return 'Ford troubleshooting';
                case 'Toyota':
                    return 'Toyota troubleshooting';
                default:
                    return 'General car troubleshooting';
            }
        */
    })()

    動的トピックブロック式のスクリプトは、入力に基づいて値を返します。この例では、「 Ford 」または 「Toyota」と入力すると、仮想エージェントは適切なトラブルシューティングトピックを呼び出します。他の値を入力すると、仮想エージェントは代わりに一般的なトラブルシューティングトピックを返します。