自动化基于地理位置的操作
设置流,为所有移动工作人员大规模自动化操作。
所需的 Edition
| 适用于:Salesforce Classic(并非在所有组织中可用)和 Lightning Experience |
| Field Service 核心功能、受管软件包和移动应用程序适用于 Enterprise、Unlimited 和 Developer Edition。 |
| 要访问 Field Service 移动应用程序,用户需要 Field Service 移动用户许可证。 |
| 所需用户权限 | |
|---|---|
| 创建和编辑自定义对象: | 自定义应用程序 |
| 要编辑对象权限: | 管理简档和权限集 |
| 在 Flow Builder 中打开、编辑或创建流: | 管理流 |
创建流
为移动工作人员可以查看的基于地理位置的操作创建流。设置流有助于您自动化基于位置的操作,这样您就不需要将操作添加到单个服务预约中。
- 从“设置”中,在快速查找框中,输入流程自动化,然后选择流。
- 单击新建流。
- 选择从头开始,然后单击下一步。
- 选择记录触发的流,单击创建。
-
在“配置开始”窗口中,确定何时触发流。
- 对于对象,查找并选择服务预约。
- 对于“何时触发流”,选择创建或更新记录。
- 对于优化流,选择操作和相关记录。
- 单击保存。
-
输入标签。
API 名称基于您输入的标签进行填充。
- 保存流。
为流创建资源
- 打开工具箱。
-
为已分配资源记录创建资源。
- 对于资源类型,选择变量。
- 输入 API 名称,例如 AssignedResourceRecord。
- 对于数据类型,选择记录。
- 对于对象,查找并选择已分配资源。
- 选择可用于输入和可用于输出。
-
为移动工作人员进入地理围栏时触发的基于地理位置的操作创建资源。
- 对于资源类型,选择变量。
- 输入 API 名称,例如 EnterGeolocationAction。
- 对于数据类型,选择记录。
- 对于对象,查找并选择基于地理位置的操作。
- 选择可用于输入和可用于输出。
-
为移动工作人员退出地理围栏时触发的基于地理位置的操作创建资源。
- 对于资源类型,选择变量。
- 输入 API 名称,例如 ExitGeolocationAction。
- 对于数据类型,选择记录。
- 对于对象,查找并选择基于地理位置的操作。
- 选择可用于输入和可用于输出。
-
为基于地理位置的操作的集合创建资源。
- 对于资源类型,选择变量。
- 输入 API 名称,例如 GeolocationActions。
- 对于数据类型,选择记录。
- 对于对象,查找并选择基于地理位置的操作。
- 选择可用于输入和可用于输出。
- 选择允许多个值(集合)。
将元素添加到流
您只能添加一个在服务预约之前触发的基于地理位置的操作和一个在之后触发的操作。
-
为已分配资源添加获取记录元素。
- 输入标签,例如,获取已分配资源。
- 输入 API 名称,例如 GetAssignedResource。
- 对于对象,查找并选择已分配资源。
- 对于条件要求,选择所有条件均已满足 (AND)。
- 对于字段,查找并选择 ServiceAppointmentId。
- 对于运算符,选择等于。
-
对于值,查找并选择服务预约记录,然后查找并选择服务预约 ID。
当您单击该值时,它如下所示:{!$Record.Id}.
- 对于存储的记录数量,选择仅限第一个记录。
- 对于如何存储记录数据,请选择选择字段并分配变量(高级)。
- 对于字段值的存储位置,选择记录变量中一起。
- 对于记录,查找并选择您为已分配资源记录创建的变量。在我们的示例中,这是 AssignedResourceRecord 变量。
- 对于选择要存储在变量中的已分配资源字段,添加 ServiceResourceId 字段。
-
添加检查分配的服务资源是否存在的决策元素。
- 输入标签,例如,是否已分配服务资源。
- 输入 API 名称,例如 IsServiceResourceAssigned。
- 设置决策,以便流在未分配资源时结束,并在分配资源时继续。要确定是否存在已分配资源,对于资源,查找并选择您为已分配资源记录创建的变量。在我们的示例中,这是 AssignedResourceRecord 变量。对于运算符,选择为空,对于值,查找并选择假。
-
为基于地理位置的操作添加获取记录元素。
- 输入标签,例如,获取基于地理位置的操作。
- 输入 API 名称,例如 GetGeolocationBasedActions。
- 对于对象,查找并选择基于地理位置的操作。
- 对于条件要求,选择所有条件均已满足 (AND)。
- 对于字段,查找并选择 ReferenceRecordId。
- 对于运算符,选择等于。
-
对于值,查找并选择服务预约记录,然后查找并选择服务预约 ID。
当您单击该值时,它如下所示:{!$Record.Id}.
- 对于存储的记录数量,选择所有记录。
- 对于如何存储记录数据,请选择选择字段并分配变量(高级)。
- 对于记录集合,查找并选择您为基于地理位置的操作集合创建的变量。在我们的示例中,这是 GeolocationActions 变量。
- 对于选择要存储在变量中的基于地理位置的操作字段,添加 ActionType、Name 和 TriggerType 字段。
- 选择无记录返回时,将指定变量设置为空。
-
添加决策元素,以检查是否有任何基于地理位置的操作与此服务资源相关联。
- 输入标签,例如,具有基于地理位置的操作?。
- 输入 API 名称,例如 HasGeolocationBasedActions。
- 设置决策,以便流在操作存在时结束,并在不存在时继续。要确定操作是否存在,对于资源,查找并选择您为基于地理位置的操作集合创建的变量。在我们的示例中,这是 GeolocationActions 变量。对于运算符,选择为空,对于值,查找并选择真。
-
为移动工作人员进入地理围栏时触发的操作添加创建记录元素。
- 输入标签,例如,创建 Enter 操作。
- 输入 API 名称,例如 CreateEnterAction。
- 对于如何设置记录字段值,选择手动。
- 对于对象,查找并选择基于地理位置的操作。
-
对于 ActionData:
如果此流由平台警报触发,请勿填写 ActionData。如果此流打开记录,以 JSON 格式输入记录的 ID。例如,{"viewRecord":"1WLxx000000003FGAQ"。如果此流启动快速操作,以 JSON 格式输入快速操作的 API 名称,因为它显示在页面布局中。例如,{"quickAction":"Global.LogACall"}。快速操作的类型必须是流、Lightning Web 组件或创建和更新记录。
要在对象管理器中查找快速操作的 API 名称,请打开服务预约对象并单击页面布局。打开移动工作人员的页面布局,并将鼠标悬停在所需的快速操作上。API 名称在工具提示中显示为操作的名称。在此示例中,API 名称是 ServiceAppointment.SendEmail。
- 对于 ActionType 的值,查找并选择平台警报、快速操作或查看记录。
- 输入名称。
- 对于 Radius 的值,输入距离触发该操作的服务预约的米数。最小半径是 100 米。
- 对于 TriggerType 的值,查找并选择 Enter。
-
添加 ReferenceRecordId 字段。对于值,查找并选择服务预约记录,然后查找并选择服务预约 ID。
当您单击该值时,它如下所示:{!$Record.Id}.
- 选择手动分配变量。
-
对于变量,查找并选择您为基于地理位置的操作创建的变量,该操作在移动工作人员进入地理围栏时触发。在我们的示例中,这是 EnterGeolocationAction 变量。然后,查找并选择基于地理位置的操作的 ID。
当您单击该值时,它类似于以下示例:{!EnterGeolocationAction.Id}.
-
添加“创建记录”元素,以共享移动工作人员进入地理围栏时触发的操作。
- 输入标签,例如,创建 输入操作 共享。
- 输入 API 名称,例如 CreateEnterActionShare。
- 对于如何设置记录字段值,选择手动。
- 对于对象,查找并选择基于地理位置的操作共享。
- 对于 AccessLevel,查找并选择读/写。
-
添加 ParentId 字段。对于值,查找并选择您为基于地理位置的操作创建的变量,该操作在移动工作人员进入地理围栏时触发。在我们的示例中,这是 EnterGeolocationAction 变量。然后,查找并选择基于地理位置的操作的 ID。
当您单击该值时,它类似于以下示例:{!EnterGeolocationAction.Id}.
- 添加 RowCause 字段。对于值,查找并选择手动共享。
-
添加 UserOrGroupId 字段。对于值,查找并选择您为已分配资源记录创建的变量。在我们的示例中,这是 AssignedResourceRecord 变量。然后,添加 ServiceResource、RelatedRecord 和用户 ID。
当您单击该值时,它类似于以下示例:{!AssignedResourceRecord.ServiceResource.RelatedRecord.Id}.
-
为移动工作人员退出地理围栏时触发的操作添加创建记录元素。
- 输入标签,例如,创建退出操作。
- 输入 API 名称,例如 CreateExitAction。
- 对于如何设置记录字段值,选择手动。
- 对于对象,查找并选择基于地理位置的操作。
-
对于 ActionData:
如果此流由平台警报触发,请勿填写 ActionData。如果此流打开记录,以 JSON 格式输入记录的 ID。例如,{"viewRecord":"1WLxx000000003FGAQ"。如果此流启动快速操作,以 JSON 格式输入快速操作的 API 名称,因为它显示在页面布局中。例如,{"quickAction":"Global.LogACall"}。快速操作的类型必须是流、Lightning Web 组件或创建和更新记录。
- 对于 ActionType 的值,查找并选择平台警报、快速操作或查看记录。
- 输入名称。
- 对于 Radius 的值,输入距离触发该操作的服务预约的米数。最小半径是 100 米。
- 对于 TriggerType 的值,查找并选择退出。
-
添加 ReferenceRecordId 字段。对于值,查找并选择服务预约记录,然后查找并选择服务预约 ID。
当您单击该值时,它如下所示:{!$Record.Id}.
- 选择手动分配变量。
-
对于变量,查找并选择您为基于地理位置的操作创建的变量,该操作在移动工作人员退出地理围栏时触发。在我们的示例中,这是 ExitGeolocationAction 变量。然后,查找并选择基于地理位置的操作的 ID。
当您单击该值时,它类似于以下示例:{!ExitGeolocationAction.Id}.
-
添加“创建记录”元素,以共享移动工作人员退出地理围栏时触发的操作。
- 输入标签,例如,创建退出操作共享。
- 输入 API 名称,例如 CreateExitActionShare。
- 对于如何设置记录字段值,选择手动。
- 对于对象,查找并选择基于地理位置的操作共享。
- 添加 RowCause 和 UserOrGroupId 字段。对于 AccessLevel、RowCause 和 UserOrGroupId 的值,输入与您在创建退出操作元素中输入的值相同的值。
-
添加 ParentId 字段。对于值,查找并选择您为基于地理位置的操作创建的变量,该操作在移动工作人员进入地理围栏时触发。在我们的示例中,这是 EnterGeolocationAction 变量。然后,查找并选择基于地理位置的操作的 ID。
当您单击该值时,它类似于以下示例:{!ExitGeolocationAction.Id}.
- 保存并激活流。
- 运行流以验证它是否有效。
此示例中创建的流会在每次创建新服务预约或更新时运行。
在服务资源到达或离开服务预约区域时,流会为基于地理位置的操作对象创建两个关联记录:创建输入操作和创建退出操作。该流通过定义的操作提示分配的服务资源。这些记录与服务预约对象相关联,并与服务资源共享。
本文章是否解决您的问题?
请与我们共享您的想法,以便我们进行改进!
