Loading
Agentforce コンタクトセンター
目次
絞り込み条件を選択

          結果がありません
          結果がありません
          検索のヒントをいくつかご紹介します

          キーワードの入力ミスがないか確認する。
          より一般的な検索語を使用する。
          絞り込み条件を減らして、検索範囲を広げる。

          Salesforce ヘルプ全体を検索
          画面フローを使用して入力データを動的 WhatsApp フローに渡す

          画面フローを使用して入力データを動的 WhatsApp フローに渡す

          この画面フローでは、顧客データを収集して安全に変数に渡すことができます。これらの変数は、Apex ベースのフォームメッセージングコンポーネントで作成される動的な WhatsApp フローの入力として使用できます。パーソナライズされたコンテンツをメッセージに追加するには、Apex ベースのフォームメッセージングコンポーネントで、この入力データへの動的参照を追加します。たとえば、獣医の予定をスケジュールするために、画面フローで動物の種別や問題などの特定の詳細を収集し、この情報を Apex ベースのフォームメッセージングコンポーネントに動的に渡します。

          必要なエディション

          サポートされているエディションを表示する。
          チェックマーク この記事の適用対象: 拡張 WhatsApp チャネル、統合 WhatsApp
          X アイコン この記事の適用対象外: 拡張アプリケーション内チャット、拡張 Web チャット、標準および拡張 Facebook Messenger、標準および拡張 SMS、拡張 Apple Messages for Business、拡張 LINE、Bring Your Own チャネル
          必要なユーザー権限
          メッセージングコンポーネントを作成する

          「アプリケーションのカスタマイズ」および「設定・定義を参照する」

          または

          システム管理者

          メッセージングでメッセージを送受信する メッセージングエージェント

          Apex ベースのフォームメッセージングコンポーネントを作成する場合、デフォルトで次の標準入力パラメータを使用できます。

          パラメーター 説明
          FormData フローに渡される入力データを保存します。データはキーと値のペアの JSON 文字列として保存されます。このデータを参照するには、データモデルでデータの構造を定義する必要があります。データモデルの構造は JSON の構造と一致する必要があります。このデータには、Apex または画面フローを使用してアクセスできます。
          FormEntryScreenId 入力画面の ID を保存します。この ID は、メッセージングエンドユーザーが最初に表示する画面です。

          これらのデフォルトパラメータは、[Component Details (コンポーネントの詳細)] セクションの [Parameters (パラメータ)] タブにあります。デフォルトで作成された FormData および FormEntryScreenID パラメーターが表示されます。

          これらのパラメーターと画面フローを使用して入力データを渡す方法を理解するために、例を見てみましょう。

          1. Apex ベースのフォームメッセージングコンポーネントのフロー形式を開きます。
            1. フロー形式で、[データの管理] をクリックして、FormData パラメーターから渡されるすべての入力データのデータモデルを定義します。

              たとえば、FormData パラメーターには次の入力データが保存されます。

              {“FirstName”:“Albert”,“LastName”:“Costa”,“isStudent”:“true”}

            2. データモデルにフィールドを追加するには、[フィールドを追加] をクリックしてそのプロパティを設定します。
              このステップは、FormData パラメーターの項目ごとに実行します。構造を作成するには、項目のオブジェクトデータ型を選択し、ネストされた項目を追加します。
              データモデルには 3 つの項目が定義されています。
            3. データモデルの定義が完了したら、保存します。
          2. フロープロパティのデータモデル項目の値を使用するには、動的参照を追加します。
            1. フロー形式を開き、動的参照を使用するプロパティを見つけます。
              たとえば、本文画面要素の [テキストコンテンツ] 項目の動的参照を追加できます。
            2. [種別] フィールドで、[動的参照] を選択します。
            3. [参照項目を選択] で、データモデル項目を選択します。
              FirstName 入力項目、LastName 入力項目、画面 1 で選択した動物種別をすべて動的参照として使用できます。

              動的参照では、データモデル項目または画面で定義された入力項目からデータを取得できます。

            4. キャンバスで、動的参照をプレビューします。
              動的参照では、FirstName 入力項目からデータが取り込まれます。
          3. データをメッセージングコンポーネントに渡すには、画面フローを作成します。
            この画面フローでは、メッセージングセッションからデータを収集して、Apex ベースのフォームメッセージングコンポーネントで使用できます。このしくみを説明するために、サンプル画面フローを作成してみましょう。
            1. 画面フロー変数を定義します。
              変数
              sessionId メッセージングセッションレコード ID を保存します。
              initialData Apex ベースのフォームの入力データを保存します。この JSON 文字列の項目は、データモデルに追加した項目名と一致する必要があります。
              initialScreenId Apex ベースのフォームの初期画面 ID を保存します。これは、メッセージングエンドユーザーが最初に表示する画面です。
              meuName メッセージングエンドユーザーの名前を保存します。
              items このコレクション変数には項目のリストが保存されます。
            2. 画面フローで、次の順序でアクションを追加します。Salesforce オブジェクトからデータを取得するには、[レコードを取得] アクションを追加します。値を画面変数に割り当てるには、[割り当て] アクションを追加します。
              アクション 説明
              getSession [レコードを取得] アクション セッション ID に基づいてメッセージングセッションを取得します。 そのメッセージングセッションから関連データを取得できます。この場合、[Id] 項目値と [MessagingEndUserId] 項目値を取得して保存します。
              getMEU の [レコードを取得] アクション MessagingEndUserId に基づいてメッセージングユーザーレコードを取得します。
              setMEUName Assignment アクション meuName変数をメッセージングユーザーレコードの [メッセージングユーザー名] 項目の値に設定します。
              getDynamicFlowItem Get Records action DynamicFlowItem オブジェクトからすべての DynamicFlowItem レコードを取得し、ID、ItemId__c、および itemTitle__c フィールドをitemsコレクション変数に保存します。
              GenerateJson Apex アクション 入力データを items 変数と meuName 変数から JSON 形式に変換します。JSON オブジェクトの項目は、フローのデータモデルの項目に対応付けられます。このアクションは Apex クラスに基づいています。次の表の後の Apex クラスのサンプルを参照してください。
              setData Assignment アクション InitialData 変数を生成された JSON アクションの値に設定します。

              このApexクラスは、構造化された入力データ(ユーザー名とSalesforceレコードのリスト)を1つのJSON文字列に変換します。次に、この JSON 文字列を使用して、入力データを Apex ベースのフォームメッセージングコンポーネントに渡します。

              public class FlowJSONBuilder {
              
                  // 1. Input parameters
                  public class FlowInput {
                      @InvocableVariable(label='User Name' required=true)
                      public String meuName;
              
                      // CHANGE: Use List<SObject> instead of List<DynamicFlowItems__c> to avoid compile error
                      @InvocableVariable(label='Flow Items' required=true)
                      public List<SObject> items; 
                  }
              
                  // 2. Output parameters
                  public class FlowOutput {
                      @InvocableVariable(label='Generated JSON')
                      public String jsonString;
                  }
              
                  // 3. Internal Wrapper classes
                  public class JSONStructure {
                      public String greeting;
                      public List<ItemWrapper> items;
                  }
              
                  public class ItemWrapper {
                      public String id;
                      public String title;
                  }
              
                  // 4. Main Method
                  @InvocableMethod(label='Generate Custom JSON' description='Builds the JSON string from Flow items')
                  public static List<FlowOutput> generateJson(List<FlowInput> requests) {
                      List<FlowOutput> outputs = new List<FlowOutput>();
              
                      for (FlowInput request : requests) {
                          FlowOutput output = new FlowOutput();
                          
                          JSONStructure jsonRoot = new JSONStructure();
                          jsonRoot.greeting = 'Hello ' + request.meuName + '!';
                          jsonRoot.items = new List<ItemWrapper>();
              
                          if (request.items != null) {
                              // Loop through generic SObjects
                              for (SObject genericRec : request.items) {
                                  // CAST the generic SObject to your specific Custom Object
                                  DynamicFlowItem__c rec = (DynamicFlowItem__c)genericRec;
                                  
                                  ItemWrapper item = new ItemWrapper();
                                  item.id = rec.itemId__c;     
                                  item.title = rec.itemTitle__c; 
                                  jsonRoot.items.add(item);
                              }
                          }
              
                          output.jsonString = JSON.serialize(jsonRoot);
                          outputs.add(output);
                      }
              
                      return outputs;
                  }
              }
            3. 画面アクションを画面フローに追加し、[拡張メッセージ] コンポーネントを画面にドラッグします。
              拡張メッセージングコンポーネントは、動的 WhatsApp フローをコールし、入力データを提供します。
            4. 入力データを指定するには、次の拡張メッセージコンポーネントのプロパティを設定します。
              プロパティ
              メッセージングセッション ID [sessionId] を選択します。これは、セッション ID が含まれる画面フロー変数です。
              メッセージングコンポーネント名 作成した Apex ベースのフォームメッセージングコンポーネントの名前を選択します。
              Apex フォームデータ [initialData] を選択します。これは、入力データが含まれる画面フロー変数です。
              Apex フォーム入力画面 ID [initialScreenId] を選択します。これは、初期画面 ID が含まれる画面フロー変数です。

              実行時に、画面アクションは Apex ベースのフォームメッセージングコンポーネントを呼び出して、この入力データを渡します。

            5. 画面フローを保存して有効化します。
              拡張メッセージングコンポーネントは、動的 WhatsApp フローをコールし、入力データを提供します。
          4. サービス担当者が画面フローを実行できるようにするには、有効な画面フローをサービスコンソールページに組み込みます。
            たとえば、フローコンポーネントをメッセージングセッションレコードページに追加します。

            メッセージングセッションレコードページには、フローのコンポーネントがあります。

            メッセージングセッション中に、ページから画面フローを起動するには、サービス担当者は [次へ] をクリックできます。

            顧客との会話にフローのメッセージングコンポーネントを挿入するには、サービス担当者は [Insert Message (メッセージの挿入)] をクリックします。

            営業担当は、[メッセージを挿入] をクリックして顧客に送信できます。

            その後、サービス担当者は顧客にメッセージを送信できます。

           
          読み込み中
          Salesforce Help | Article