Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

认识变量、路径和循环

学习目标 

完成本单元后,您将能够:

  • 了解变量的独特特性。
  • 描述计划路径的优点。
  • 解释 Flow Builder 循环是如何运行的。
  • 定义调试的目的。

等等,还有更多!

是的,还有更多要介绍的 Flow Builder 概念,它们更高级一些。观看下面的视频,这些视频将复杂的流概念(例如变量和循环)变得更易于理解。本单元末尾的测验将根据视频内容提出问题。请务必观看视频,以便获得回答问题所需的信息。 

什么是变量?

您可能还记得代数中的变量。Flow Builder 中的变量非常相似,但希望不会那么无聊(无意冒犯您的代数老师)。观看下面的视频,看看变量如何像午餐盒一样,既可以装炸玉米饼,也可以装比萨。 

查看脚本

[旁白] 想要了解 Salesforce 流?首先要了解变量的概念。简而言之,当一个值可以根据某些条件变化时,就会在流中使用变量。变量就是一个包含一条信息的容器。流中的每个变量都有一个名称和一个值。在流中移动时,您可以访问变量中的值,甚至可以更改值。这就是为什么它被称为变量。

把它想象成午餐。您的午餐盒就是变量。名称是“我的午餐”,值是三明治。星期一,您用午餐盒,即变量,来装三明治。星期二,您还是用同一个午餐盒,变量,来装一块披萨。就像午餐盒一样,变量也可以是“空”的。现在您对变量有了大概的了解,让我们来了解一下流中的变量的作用。

例如,流中的一个变量可以称为“联系人 ID”。假设“联系人 ID”变量的值是客户主要联系人的 ID。流扫描客户对象上的所有联系人以查找某些特性,并得出结论认为另外的某个人应该是主要联系人。然后,流将新联系人的 ID 分配给“联系人 ID”变量。请务必了解,此更改实际上并未保存在您的 Salesforce 组织中。变量是流内部信息的容器。这些更改不会保存到您的 Salesforce 组织,直到您发出保存指令。

祝贺您!要理解变量可能很困难。请记住,变量在流内部时包含信息;变量的值可能会发生变化;您必须采取更多步骤,流才能对组织中的实际数据进行更改。


变量类型

关于午餐盒变量的另一个视频?是的。关于自动化中的变量,总是有更多的东西需要学习:变量类型,如何将变量收集在一起的限制,等等。观看下面的视频,了解更多变量知识吧。 

查看脚本

[旁白] 欢迎参加今天的午餐盒讲座。第一个商业午餐盒发明于 19 世纪。这是个玩笑,算是吧。这个视频是关于变量的。午餐盒是一个 Flow Builder。变量是容纳信息的容器,就像午餐盒容纳不同的食物一样。

然而,虽然流午餐盒中的数据类型保持不变,但午餐盒中内容的值可能会在整个流中发生变化。保温瓶是用来盛装液体的,对吧?同样地,文本数据类型的变量保存文本,数字数据类型的变量保存数字。

如果您构建过 Salesforce字段,那么您应该熟悉变量类型、文本、数字、货币、日期、日期/时间、选项列表的多种选择。但有些可能对您来说是新的。布尔用于存储 True、False 或空白值。它类似于复选框字段,只是这里的空白并不等于 False。空白表示空或无。另一个变量类型是 Apex 定义的。此变量数据类型操纵通常从 Apex 代码或 Web 服务调用返回的复杂数据对象。我们选择了变量类型后,就可以选择允许多个值。这样,我们的变量就可以转换为集合变量。

这很像是用一个更大的午餐盒来装很多三明治。我们的集合变量只保存相同类型的变量。例如,数字变量只能与其他数字一起。就像三明治只能与其他三明治放在一起一样,联系人记录只能与其他联系人记录放在一起。我们不能在集合中混合对象。

总之,变量类型类似于记录中的字段类型。任何变量类型都可以在该类型的变量集合中。如果您的午餐盒是装玉米卷的容器,那么午餐就只能吃玉米卷。和往常一样,务必在 Sandbox 组织中测试您的流。


计划路径

有些人每天早上醒来 10 分钟后就喝咖啡。Flow Builder 也可以这样做。不是喝咖啡,而是按照时间执行计划。观看下面的视频,了解计划路径如何给您的组织带来喝咖啡式的提振。 

查看脚本

[旁白] 在 Salesforce,我们经常讨论路径,让我们花几分钟时间重点讲一下路径,特别是计划路径。我们可以在记录触发流中使用计划路径来计划未来而不是立即的流操作。

我们来看一个示例。创建潜在客户记录后,我们的流启动。流是由创建记录触发的。使用计划路径在未来几分钟、几小时或几天内完成某件事,例如在潜在客户创建日期三天后向其发送电子邮件。不再局限于只能根据创建日期进行计划。计划路径可以基于对象上的任何日期或日期/时间字段,它们可以在该日期、之后甚至之前触发。

假设有一个记录触发流,在创建联系人时设置成员资格到期日期。在同一流中,您可以计划在会员资格到期前五天发送电子邮件提醒。如果您熟悉工作流规则或进程生成器,则计划路径相当于进程生成器中的时间触发工作流规则或基于时间的操作。

现在,我们来讨论两个看起来像计划路径但实际上不是的例子。记录触发流中的 start 元素提供了一个选项,可以包含异步运行路径来访问外部系统。在需要更高级的流之前,您可以忽略这一点。不要被计划触发流搞糊涂了。这是一种可以计划运行一次、每天或每周运行的流。例如,您可以将计划触发流设置为每月运行一次,以将在此期间未更改的任何潜在客户标记为“冷”。

总结一下,在记录触发流中使用计划路径,以便在流最初触发后的任何时间自动执行步骤。必须创建或更新记录才能将其设置在计划路径上。计划路径可以基于对象上的任何日期或日期/时间字段。请确保始终在 Sandbox 中测试流。


流循环

还记得当您一周五天都在办公室工作时,有人会被困在冰箱清理工作中吗?该视频展示了处理有问题的容器和处理流循环中的记录集是一样的。 

查看脚本

[旁白] 流循环的话题很复杂,但不要因此觉得惶恐。Flow Builder 中的循环会查看集合,就像查看一份记录列表一样,并根据每条记录执行某些操作。

流循环功能非常强大,允许您一次性在数据库中创建、更新或删除数百条记录。虽然流中的循环可能听起来很复杂,但当我们将其应用到实际应用中时,这个概念就很容易理解了。

这周末轮到 Oscar 清理冰箱了,让我们来和他一起吧。Oscar 将采取流循环的所有步骤,只不过他处理的是剩菜,而不是 Salesforce 记录。以下简要分析了各个流元素(即流可以进行的操作)是如何与冰箱清理相关联的。

我们需要的第一个流元素是“获取记录”。我们使用标准条件来确定我们想要获得哪些记录。在此例中,Oscar 取出了了所有未标记的剩菜。接下来,我们添加一个循环元素。流在循环过程中逐一评估每条记录。在我们的示例中,这意味着 Oscar 将逐一检查每份剩菜。接下来我们将添加一个决策元素。是要保留这些剩菜还是扔掉?决策元素在流循环中不是必需的,但在此案例中很有用。对于我们想要更新的记录,我们将添加一个“分配”元素来指示我们预期的更改,比如更新日期字段。在我们的示例中,Oscar 决定保留这个菜并为其添加一个带有当天日期的标签。我们添加第二个“分配”元素,它就像一个容器。我们将记录放入容器中,用于临时保存我们计划保留的所有记录。这就像 Oscar 把所有的剩菜放在一个盒子里一样。现在,我们的第一条记录已经完成了这个循环,接下来我们从头开始处理下一条记录。

Oscar 检查了下一个菜品。在决策元素之后,我们需要为流构建一条备用路径。Oscar 将如何处理他不想保留的剩菜?让我们添加另一个“分配”元素。这次我们将使用一个容器来保存我们计划删除的所有记录。Oscar 用室内堆肥箱来存放不需要的剩菜。然后循环从下一个项目重新开始。依此类推,直到所有记录都完成这个循环。在循环之后,我们需要对数据库进行实际的更改。盒子和堆肥箱只是用来暂时存放我们的物品。

让我们向流中添加一个“更新记录”元素,以完成对保留记录的更改。请记住,我们为保留项目添加了日期值。Oscar 将他的保留盒放回他的数据库冰箱中。让我们添加一个“删除记录”元素来删除我们不想要的记录。在 Oscar 这里是指户外堆肥箱。您注意到了吗?Oscar 是一次性把所有的东西都拿到户外堆肥箱,而不是一件一件地拿过去。后者会浪费很多时间。对流来说也是一样的。您肯定希望保留您的数据元素,在此例中,我们在循环之外使用了更新和删除元素。当您在循环期间将记录放入分配元素中时,您只是表明您打算在循环之后更新它,就像是把它放在一边以便稍后处理。一次性进行所有更改效率更高,就像用一个容器将所有堆肥放到外面去一样。

恭喜,您不仅了解了流循环,还帮助 Oscar 有效地清理了他的冰箱。别担心,Oscar 下次需要帮助时一定会告诉您的。


调试

了解最有价值的 Flow Builder 内置功能之一:调试。调试可以帮助您识别、隔离和纠正自动化中的问题。您甚至可以学习如何在你的 Sandbox 组织中移除一个象征性的沙堡。

查看脚本

[旁白] Flow Builder 自动化存在问题,需要进行一些故障排除。我有个好消息,Flow Builder 附带了一个内置的调试工具。调试可以帮助您识别问题并隔离源头,这样您就可以纠正问题或确定解决问题的方法。我们知道您的自动化系统总是设置得很完美,从不中断,所以您不需要调试工具。即使对于最有经验的 Flow Builder 专家来说,也并非如此。

Flow Builder 调试工具是任何构建流的人都必须具备的。Flow Builder 中的调试工具完成后,将显示结果细分。自动化成功了吗?失败了吗?在哪里失败的?结果细节将概述面试是如何开始的,即是什么触发了流程,发生了哪些记录交互,以及这些操作是否成功。

Flow Builder 调试工具不仅可用于故障排除,还可用于初始测试。功能包括在自动化投入生产之前对其进行测试。在调试期间指定特定的输入变量。调试不同的自动化路径。按创建、更新或删除记录触发流。以其他用户身份运行自动化。生成调试及其路径的详细信息。创建新自动化或修复现有自动化问题时,请使用 Flow Builder 调试工具。

请记住,在 Flow Builder 中调试时,它实际上在与组织中的数据交互。这就是必须始终在 Sandbox 组织中调试流的原因。在 Sandbox 组织中测试时,一个非常有用的功能是回滚模式选项。如果在调试流时使用回滚模式,Flow Builder 将在自动化完成后回滚自动化对组织所做的更改。

综上所述,所有新的或更新的 Flow Builder 自动化都应该通过调试进行测试。调试有许多功能,例如指定输入变量、显示流元素结果以及作为另一个用户执行自动化。最佳实践是在 Sandbox 组织中调试并使用回滚模式。


测试您学到的知识

您已经观看了视频,现在通过参加测验并获得徽章来测试您对 Flow Builder 的了解吧。

资源

在 Salesforce 帮助中分享 Trailhead 反馈

我们很想听听您使用 Trailhead 的经验——您现在可以随时从 Salesforce 帮助网站访问新的反馈表单。

了解更多 继续分享反馈