Loading
Agentforce 联系中心
目录
选择筛选器

          没有结果
          没有结果
          以下是一些搜索提示

          检查关键字的拼写。
          使用更普遍的搜索词。
          选择更少的筛选器,并扩大搜索范围。

          搜索所有 Salesforce 帮助
          使用屏幕流将输入数据传递到动态 WhatsApp 流

          使用屏幕流将输入数据传递到动态 WhatsApp 流

          屏幕流可以收集客户数据,并将其安全地传递给变量。然后,这些变量可以作为使用基于 Apex 的表单消息传递组件创建的动态 WhatsApp 流的输入。要将个性化内容添加到消息,请在基于 Apex 的表单消息传递组件中,添加对此输入数据的动态引用。例如,要安排兽医预约,屏幕流会收集特定详细信息,例如动物类型和问题,并将此信息动态传输到基于 Apex 的表单消息传递组件。

          所需的 Edition

          查看支持的版本。
          复选标记 本文适用于: 增强 WhatsApp 渠道,Unified WhatsApp
          X 图标 本文不适用于: 增强应用程序内聊天、增强 Web 聊天、标准和增强 Facebook Messenger、标准和增强 SMS、增强 Apple Messages for Business、增强 LINE 以及自带渠道
          所需用户权限
          要创建消息传递组件:

          自定义应用程序权限和查看设置和配置权限

          或者

          系统管理员

          要在消息中发送和接收消息: 消息传递客服人员

          在创建基于 Apex 的表单消息传递组件时,这些标准输入参数默认可用。

          参数 描述
          FormData 存储传递到流的输入数据。数据存储为键值对的 JSON 字符串。要引用此数据,您必须在数据模型中定义数据的结构。数据模型的结构必须与 JSON 的结构相匹配。您可以使用 Apex 或屏幕流访问此数据。
          FormEntryScreenId 存储条目屏幕的 ID,这是消息传递最终用户看到的第一个屏幕。

          您可以在“组件详细信息”部分的“参数”选项卡中找到这些默认参数。显示默认创建的 FormData 和 FormEntryScreenID 参数。

          为了帮助您了解如何使用这些参数和屏幕流来传递输入数据,让我们看一个示例。

          1. 打开基于 Apex 的表单消息传递组件的流格式。
            1. 在流格式中,单击管理数据,为从 FormData 参数传入的所有输入数据定义数据模型。

              例如,FormData 参数存储此输入数据。

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

            2. 要将字段添加到数据模型,请单击添加字段并配置其属性。
              对 FormData 参数中的每个字段执行此步骤。要创建结构,请为字段选择对象数据类型,并添加嵌套字段。
              数据模型有三个定义的字段。
            3. 定义完数据模型后,保存它。
          2. 要在流属性中使用数据模型字段中的值,请添加动态引用。
            1. 打开流格式,并查找要使用动态引用的属性。
              例如,您可以为正文屏幕元素的文本内容字段添加动态引用。
            2. 在类型字段中,选择动态引用
            3. 在选择参考字段中,选择数据模型字段。
              屏幕 1 上的名字输入字段、姓氏输入字段和选定的动物类型都可以用作动态引用。

              动态引用可以从数据模型字段或屏幕中定义的输入字段中提取数据。

            4. 在画布中,预览动态引用。
              动态引用从名字输入字段中提取数据。
          3. 要将数据传递到消息传递组件,请创建屏幕流。
            屏幕流可以从消息传递会话收集数据,并将其用于基于 Apex 的表单消息传递组件。为了说明它的工作原理,让我们创建一个示例屏幕流。
            1. 定义屏幕流变量。
              变量
              sessionId 存储消息传递会话记录 ID。
              initialData 存储基于 Apex 的表单的输入数据。此 JSON 字符串中的字段必须与添加到数据模型的字段名称相匹配。
              initialScreenId 存储基于 Apex 的表单的初始屏幕 ID。这是消息传递最终用户看到的第一个屏幕。
              meuName 存储消息传递最终用户的名称。
              items 此集合变量存储项目列表。
            2. 在屏幕流中,按此顺序添加这些操作。要从 Salesforce 对象检索数据,请添加获取记录操作。要将值分配到屏幕变量,请添加分配操作。
              操作 描述
              getSession 获取记录操作 根据会话 ID 获取消息传递会话。您可以从该消息传递会话获取相关数据。在这种情况下,它会检索并存储 ID 和 MessagingEndUserId 字段值。
              getMEU 获取记录操作 根据 MessagingEndUserId 获取消息传递用户记录。
              setMEUName 分配操作 meuName变量设置为消息传递用户记录中消息传递用户名字段的值。
              getDynamicFlowItem Get Records action 从 DynamicFlowItem 对象获取所有 DynamicFlowItem 记录,并将 ID、Id__c 和 itemTitle__c 字段存储在 items 集合变量中。
              GenerateJson Apex 操作 将输入数据从 itemsmeuName 变量转换为 JSON 格式。JSON 对象的字段映射到流数据模型中的字段。此操作基于 Apex 类。请参阅此表后的示例 Apex 类。
              setData 分配操作 InitialData 变量设置为生成的 JSON 操作的值。

              此 Apex 类将结构化输入数据(用户名和 Salesforce 记录列表)转换为单个 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. 要使服务代表能够运行屏幕流,请在服务控制台页面中嵌入活动屏幕流。
            例如,将流组件添加到消息传递会话记录页面。

            消息传递会话记录页面包含流的组件。

            在消息传递会话期间,要从页面启动屏幕流,服务代表可以单击下一步

            要将流的消息传递组件插入与客户的对话中,服务代表可以单击插入消息

            代表可以单击插入消息将其发送给客户。

            然后,服务代表可以向客户发送消息。

           
          正在加载
          Salesforce Help | Article