Record-Triggered Flow允许企业在Salesforce中基于创建、更新或删除记录事件在后台自动执行操作。这大大减少了业务用户花费在执行重复性任务上的时间,并且还降低了人为错误的风险。

在使用Record-Triggered Flow时,确保企业具有Salesforce Flow设计策略非常重要,以避免未来在维护、增强和故障排除上花费过多精力。


【资料图】

什么是Salesforce Flow设计策略?

在组织中构建Record-Triggered Flow时,需要确保根据最佳实践进行构建。使用旧工具和Apex,这是一个简单的过程:在编写Apex Triggers时为每个对象创建一个Trigger,并在使用Process Builder时为每个对象创建一个流程。

对于Record-Triggered Flows,最佳实践不止一个,而是两种。创建Salesforce Flow设计策略允许你创建Record-Triggered Flows,该Flow在整个组织中遵循一致的设计语言。

拥有Flow设计策略意味着如果其他人在更新Flow、创建新Flow或排查哪个Flow触发了特定操作,会非常便利。如果需要创建一个新Flow,仍然可以遵循Flow设计策略,确保其设计与组织中的其他自动化保持一致。

Record-Triggered Flow最佳实践

01、三原则

此最佳实践包括每个对象最多有3个Record-Triggered Flows:

Create/Update (Before) Create/Update (After) Delete (Before)

最终,基于特定对象内发生的操作触发的所有功能,都可以仅使用这三个Flow来执行。然后,使用决策逻辑来拆分Flow操作,并仅将特定功能应用于满足特定条件的记录。

这种方法的优势在于,针对特定事件发生的所有功能都包含在一个Flow中。这使得故障排除变得更加容易,因为你可以在单个Flow Canvas上查看所有内容。

02、多个小Flow(带有进入标准)

此最佳实践包括创建多个Record-Triggered Flows并使用进入标准(Entry Criteria)来限制将触发它的记录数。这减少了Flow被调用的次数,导致Flow执行期间的性能改进。

与上一个最佳实践不同,你将能够使用Flow Trigger Explorer来设置Flow的执行顺序,而不是在其中使用具有有序功能的单个Flow。

此方法可以提高性能,特别是对于具有大量记录,并触发大量操作的组织。使用多个小Flow时的一个关键考虑因素是,如果你正在使用一个对象,并且需要跨多个Flow频繁地更新其子记录,你将需要在为单个操作调用的每个流中使用“Get Records”元素,所有这些都计入你的Governor Limits。

两种最佳实践的注意事项

如何控制操作被触发的顺序?

三原则:在Flow内(使用决策标准筛选掉记录)。

多个小Flow:Flow Trigger Explorer / Flow 上的Trigger Order值。

应该考虑哪些性能因素?

三原则:Flow将由所有记录事件(创建、更新或删除)触发。无论它是否执行一项还是所有操作,都会调用Flow。任何子记录都可以在Flow开始时收集,并在Flow中的每个场景中重复使用。

多个小Flow:只有符合条件的记录才会调用Flow。如果你在多个Flow中使用“Get Records”元素来收集相同的数据集,则每个触发的Flow都会调用一次。

我的Flow在运行时可以执行多少个元素?

三原则:每个Flow在运行时最多可执行2,000个元素。

多个小Flow:每个Flow在运行时最多可执行2,000个元素。

Flow设计策略中还应包含哪些内容?

Flow设计策略不应仅包含设计、构建和读取Record-Triggered Flows的结构化方式,还应该考虑如何构建所有类型的Flow

例如,考虑Screen Flows。Salesforce本身非常注重产品体验的统一,这就是为什么他们开发了自己的设计策略/系统,被称为Salesforce Lightning设计系统 (SLDS)。

此外,Flow设计策略还应涵盖资源、元素和变量的命名约定等内容。这样,Flow不仅可以做到结构相似,而且Flow的每个单独构建块也将遵循相同的模式。

- END -

责任编辑:

推荐内容