一、识别 Flow Orchestration 的业务用途
本模块讲解 Salesforce 平台最强大的自动化工具之一——Flow Orchestration。它把多个 Flow 组合成一个协调的工作流,就像指挥家指挥乐队一样。你将构建一个完整的招聘流程:从创建职位申请,经过招聘人员电话筛选与招聘经理面试,到最后发出录用通知。在此过程中,你将掌握阶段(Stage)、步骤(Step)、交互式与后台操作、决策(Decision)以及工作项(Work Item)等核心概念。
学习目标
完成本单元后,你将能够:
- 列出用 Flow Orchestration 自动化复杂业务流程的好处
- 区分 autolaunched 与 record-triggered 两种编排类型
- 识别三大构建块:阶段(stages)、步骤(steps)、流程(flows)
- 识别适合 Flow Orchestration 的业务流程
什么是 Flow Orchestration?(指挥家类比)
单个 Flow 就像单个乐手——各自能演奏得很好,但只能独奏。而 Flow Orchestration 是指挥家——它把多个 Flow 组合成一个单一、协调的工作流。通过这种组织,你可以更灵活地创建审批流程、更自由地把工作分配给任何 Salesforce 用户、更好地控制记录的生命周期,并消除流程之间的延迟、引导不同团队协同推进。
借助 Flow Orchestration,你可以:
- 协调逐步推进的活动
- 向团队成员展示交接点发生在哪里
- 支持并行工作流(多个步骤同时运行)
- 组合自动化操作与人工工作项
- 监控整个流程及其关联的工作项
Flow Orchestration 有两种主要类型,区别在于触发方式:
- Record-triggered(记录触发):当指定类型的记录被创建或更新时运行。
- Autolaunched(自动启动):通过自定义 Apex 类、REST API 或自定义 URL 调用。
你使用三大构建块来构建编排:
- 阶段(Stages):一个编排必须至少包含一个阶段。阶段包含你想分组的关联操作或步骤,这些步骤可以是交互式或后台任务。同一时间只有一个阶段处于进行中,你需要配置每个阶段被判定为完成的条件(退出条件)。
- 步骤(Steps):步骤分组在阶段中,可以顺序或并发运行。交互式步骤(Interactive)需要用户交互,而后台步骤(Background)不需要。
- 流程(Flows):所有步骤都需要一个 Flow 才能运行。交互式步骤运行 Screen Flow,后台步骤运行 Autolaunched Flow。你还可以使用评估流程来启动一个步骤或将交互式步骤标记为完成。
- 工作项(Work Items):当编排中的交互式步骤运行时,它会创建一个工作项并分配给用户、组或队列。随后编排会向所有被分配的用户发送一封邮件,内含指向指定记录页面的链接。工作项在 Orchestration Work Guide 中完成。
与 Flow 的组成类似,编排也有决策元素(Decision)和连接器(Connectors):
- Decision 元素是一个条件检查器,它根据条件结果将用户路由到编排的不同路径——相当于开发者所说的 if-then 语句:IF 某条件为真 THEN 执行某个动作;否则检查其他条件。
- Connectors 定义编排在运行时可以采取的可用路径,所走的路径取决于 Decision 元素某个结果的条件何时被满足。
Flow Orchestration 的实施能带来几大好处:
- 提高效率与生产力:并行工作流缩短了任务与通知之间的时间。当你自动化任务分配时,请求会被分配给正确的用户,让他们高效完成并跟踪所有分配的工作。
- 减少错误、节省时间:用户无需在工具之间来回切换即可完成分配的工作,从而降低数据不准确或缺失的概率。
- 提升客户与员工满意度:监控工具帮助团队主动解决问题,并提供快速、有效行动所需的可见性。
Flow Orchestration 可以定制以满足不同行业和业务目标的需求。几个典型用例:
- 自动化事件管理:当客服代理与运营团队遇到与某事件相关的工单激增时,创建响应计划。运营团队可以与工程部门一起调查根因,与市场部门一起联系客户,并找到保持合规的变通方案。在调查原因的同时,并行工作流可以运行,缩短解决时间。
- 组织销售周期:当潜在客户从潜客转化为客户时,精简涉及的复杂工作流——挖掘、资格评估、评估、提案、报价、客户审批、成交与跟进。构建编排来自动化销售、客户管理、订单履行、计费与应收账款等职能,并在团队之间自动化交接,确保工作流按正确顺序进行。
- 管理抵押贷款审批:自动化抵押申请、处理与承保流程。当处理人员需要产权公司提供额外文件的同时进行房产评估时,可以并行运行流程。
任何涉及多个角色与职能的业务流程都很适合 Flow Orchestration!
二、规划一个编排流程
在动手构建之前,规划至关重要。本单元用一个候选人招聘流程作为例子,学习如何分析业务流程、识别阶段与步骤、设计决策点,并创建一张能直接映射到编排结构的流程图。
设计编排:先想清楚再动手
Flow Orchestration 中最重要的一步发生在你打开 Flow Builder 之前:设计。先可视化你的整个端到端流程,为你想自动化的部分创建一张流程图,这样就不会漏掉任何步骤。这种可视化能帮助你确定要在 Flow Builder 中创建哪些 Flow、哪些自动化需要第三方系统的协助,以及哪些操作应在后台进行、哪些需要用户输入。
规划编排时,可以在可视化流程的过程中问这些问题:
- 流程可能以哪些方式开始和结束?
- 谁是用户或组,他们在流程中扮演什么角色?
- 哪些任务分配给哪些角色?
- 是否有些步骤只在某些时候执行?
- 是否需要暂停和恢复流程?
- 能否使用入口条件或其他优化来减少不必要的操作?
- 考虑维护与变更管理:谁负责这个业务流程,变更或迭代的可能性有多大?
- 分析你现有的 Flow,看能否将它们纳入编排。
Ursa Major Solar 想用 Flow Orchestration 协调其新的候选人招聘流程,自动化从招聘人员初筛到录用决策的整个周期。
要开始招聘流程:
- 创建一个新职位(Position)
- 为该职位创建一份职位申请(Job Application)
- 招聘人员选择要面试的候选人
- 向候选人发送一封邮件,通知电话筛选
候选人被选定后,接下来的步骤:
- 进行候选人筛选
- 招聘人员通过屏幕表单对候选人在多项技能上进行评估,候选人获得 1 到 5 的分数
- 招聘人员根据设定标准标记候选人是「晋级」还是「被拒绝」
接下来是决策时间。标准与潜在结果是什么?
- 如果候选人初筛的总体分数大于或等于 3,则晋级到招聘经理面试
- 向成功晋级的候选人发送邮件,安排与招聘经理的面试
- 如果候选人被拒绝,则自动发送一封邮件,告知其申请不会继续推进
最后,轮到招聘经理进行最终面试:
- 进行面试
- 经理通过打分给出反馈
- 提交评分后即做出决策——经理是否想推荐录用该候选人?
现在所有环节都已记录在案,接下来思考:哪些任务可以合并到单个 Flow 中?你的步骤和阶段会是什么样?
三、构建编排流程
现在开始动手。我们将创建一个在 Position 对象上触发的 record-triggered 编排,添加 Recruiter Screening 阶段及其三个步骤,配置每个步骤的 Flow、被分配人与完成条件,为候选人打分添加决策,最后激活这个编排。这是蓝图变为可运行流程的地方。
逐步构建招聘编排流程
我们已经画出了整个流程,接下来分析流程图,把它逻辑地组织成步骤。记住:步骤可以顺序或并发运行;交互式步骤需要用户介入,后台步骤则不需要;步骤可以分配给组、队列和资源。根据流程图,我们把任务组织成以下步骤:
| 步骤名称 | 步骤类型 | Flow 类型 |
|---|---|---|
| Create the job application(创建职位申请) | Interactive | Screen |
| Phone screen scheduled(安排电话筛选) | Background | Autolaunched |
| Conduct the phone screen(进行电话筛选) | Interactive | Screen |
| Send a rejection email to a candidate(向候选人发送拒绝邮件) | Background | Autolaunched |
| Schedule an interview with the hiring manager(安排与招聘经理的面试) | Background | Autolaunched |
| Conduct the interview with the hiring manager and the candidate(进行招聘经理与候选人的面试) | Interactive | Screen |
| Make a hiring decision(做出录用决策) | Interactive | Screen |
阶段总是顺序运行,而步骤可以并行运行。一个阶段包含你想逻辑分组的关联步骤。同一时间只有一个阶段处于进行中。据此,本流程的步骤可以分组为三个阶段:
| 阶段名称 | 步骤 | Flow |
|---|---|---|
| Initial Screening(初筛) | Create the job application;Phone screen scheduled;Conduct the phone screen | Screen flow;Email alert;Screen flow |
| Hiring Manager Interview(招聘经理面试) | Schedule an interview;Conduct the interview;Make a hiring decision | Email alert;Screen flow(合并两个步骤) |
| Candidate Rejected(候选人被拒绝) | Send a rejection email to a candidate | Email alert |
在 Flow Builder 中创建编排之前,务必先构建好所有必需的 Flow,并在构建完成后激活每个 Flow。尽量构建可复用的 Flow:例如用通用的邮件提醒 Flow,把面试日期、时间等具体信息作为输入参数传入,这样能减少需要维护的 Flow 数量。
下面逐个构建所需的 Flow:
1. 创建职位申请(Create the Job Application)——可以把「创建职位申请」和「选择候选人」合并到一个 Screen Flow 中,让招聘人员录入职位申请并创建工作项;收到工作项通知后,招聘人员选择要筛选的候选人。该 Flow 会用录入的数据创建一条 Job Application 记录。
2. 安排电话筛选(Schedule the Phone Screen)——创建一个独立的 Autolaunched Flow,在上一步候选人选择流程创建 Job Application 记录时启动,通过邮件提醒通知候选人面试安排。
3. 进行招聘人员电话筛选(Conduct the Recruiter Phone Screen)——把候选人筛选、打分与决策合并到一个 Screen Flow 中,让招聘人员给候选人打分并标记是否晋级,创建一条 Review 记录保存分数,并把分数赋给一个可供编排后续使用的输出变量。
4. 安排面试(Schedule the Interview)——创建在候选人分数 >= 3 时运行的 Autolaunched Flow,通过邮件提醒通知候选人已与招聘经理安排面试。
5. 拒绝候选人(Reject a Candidate)——创建在候选人分数 < 3 时运行的 Autolaunched Flow,向被拒绝的候选人发送邮件。
6. 进行招聘经理面试(Conduct the Hiring Manager Interview)——招聘人员与招聘经理的评估标准相同,因此直接复用招聘人员的 Screen Flow;招聘经理给候选人打分并标记是否发出录用通知,创建 Review 记录并输出分数变量。
所有 Flow 构建完成后,就可以组装编排了:
- 从 Setup 进入 Quick Find 输入
Flows,选择 Flows - 点击 New Flow,在 New Automation 窗口的 Search automations 字段输入
orch - 选择 Record-Triggered Orchestration(因为要在 Position 记录创建时启动编排)
配置 Start 元素:
- Object 选择 Position
- Trigger the Orchestration When 选择 A record is created
- Condition Requirements 选择 All Conditions Are Met (AND)
- Field 选择 Status,Operator 选择 Equals,Value 选择 New
- Orchestration Label 输入
Recruiting Orchestration - Exercise - Description 输入
Candidate recruiting process from initial screening to offer of employment. - 点击 Save
接着添加第一个阶段 Recruiter Screening:
- 在 Start 元素之后的路径上,点击添加元素按钮,选择 Stage
- Label 输入
Recruiter Screening(API Name 自动变为Recruiter_Screening) - Select When to Complete the Stage 选择 When all steps have been marked Complete, the stage is marked Completed
- 点击 Save
现在向阶段添加三个步骤(Add Step 提供 Background Step、Interactive Step、MuleSoft Step 三种选项):
步骤 1——Create a job application(Interactive):
- Label 输入
Create a job application;Select When to Start the Step 选择 When the stage starts, the step starts - Action 选择 Enter Job Application Flow(Screen Flow)
- 输入变量 varPositionId 选择 Triggering Position__c > Record ID
- Assignee Type 选择 Resource,Resource 选择 Triggering Position__c > Owner ID (User) > Username(动态分配,避免硬编码用户名)
- Related Record ID 选择 Triggering Position__c > Record ID(用于把指定记录页面链接给所有被分配用户)
- Select When to Complete the Action 选择 When the assigned user has completed the action, the step is marked Completed
步骤 2——Notify candidate(Background):
- Select When to Start the Step 选择 When another step is marked Complete, the step starts,Step Name 选 Create a job application
- Action 选择 Interview Email Notification Flow
- 输入变量 varCandidateId 选择 Recruiter Screening > Create a job application > Outputs > varCandidateId(把上一步的输出作为当前步骤的输入,把职位与电话筛选关联起来)
步骤 3——Recruiter phone screen(Interactive):
- 启动条件选择 When another step is marked Complete,Step Name 选 Notify candidate
- Action 选择 Interview Screen Flow
- 输入变量 jobApplicationId 选择 Recruiter Screening > Create a job application > Outputs > varJobApplicationId
- Assignee Type 选择 Resource,Resource 选择 Triggering Position__c > Owner ID (User) > Username
- Related Record ID 选择 Triggering Position__c > Record ID
- 完成条件选择 When the assigned user has completed the action
Recruiter Screening 阶段完成!接下来添加决策(Decision):IF 候选人分数低于 3 THEN 不继续推进;IF 分数 >= 3 THEN 安排与招聘经理的面试。
- 在 Recruiter Screening 阶段与 End 元素之间添加元素,选择 Decision
- Label 输入
Go to next round - OUTCOME DETAILS:Label 输入
Yes,Condition Requirements 选 All Conditions Are Met (AND),Resource 选择 Recruiter Screening > Recruiter phone screen > Outputs > varReviewScore,Operator 选 Greater Than or Equal,Value 输入3 - OUTCOME ORDER:Default Outcome 的 Label 输入
No - 点击 Save,再点击 Activate(让编排对 Work Guide 组件可用)
完整的编排还包含后续两个阶段:
- Hiring Manager Interview 阶段:包含两个步骤。候选人初筛分数 >= 3 时晋级到招聘经理面试,先安排面试(Notify candidate of hiring manager interview 后台步骤),再由招聘经理进行最终面试(Hiring Manager review 交互式步骤)。
- Decision(Make offer):评分提交后,检查经理是否想推荐录用该候选人。
- Candidate Rejected 阶段:只包含一个步骤。若候选人被拒绝,后台步骤(Thank you for your interest)运行并发送自动邮件,告知申请不会继续推进。
构建编排时,把交互式步骤分配给队列或公共组而不是特定用户,可以避免流程瓶颈——关联工作项创建时,队列或公共组的所有成员都会收到邮件。
Salesforce 中可以有多个版本的编排,但同一时间只有一个版本处于激活状态。若修改了编排,请点击 Save As New Version → Save → Activate。Activate 会激活当前版本并自动停用之前已激活的版本。
四、运行并监控编排流程
编排已构建并激活——现在运行它。我们将创建一个 Position 来触发流程,通过记录页面上的 Orchestration Work Guide 逐步完成每个步骤,在 Setup 中监控编排运行、在需要时取消,并调试问题。这是你看到自动化流程真正运转起来的地方。
运行编排流程:用户体验
要启动编排(通过创建 Position 记录触发):
- 在 App Launcher 搜索并选择 Recruiting
- 点击 Positions → New
- 填写 Title、将 Status 设为 New、填写 Description、Department、Pay Grade,并在 Hiring Manager 字段选择一名经理
- 点击 Save——这会创建 Position 记录,从而自动触发编排(因为 Status = New)
Work Guide 组件出现在 Position 记录页面上,显示分配给当前登录用户的工作项,引导用户一步步完成他们在流程中的部分。招聘人员的工作项流转如下:
- Enter Job Application——填写候选人信息,点击 Next
- Schedule Phone Screen——自动运行(后台)
- Conduct Phone Screen——按每项公司价值观给候选人打 1-5 分;分数 >= 3 则晋级到招聘经理面试,< 3 则候选人被拒绝(流程结束)
招聘经理的工作项流转如下:
- Schedule Interview——自动运行
- Conduct Interview——给候选人打分,推荐录用/不录用;推荐录用则进入 Create Offer(输入薪资与 offer 到期日),否则候选人被拒绝
如果你是一名 Salesforce 管理员,可以使用 Orchestration Runs 选项卡查看组织中所有进行中、已取消和已完成的编排运行状态,从而识别瓶颈和改进机会。常见状态包括:Not Started(未开始)、Started(已开始)、Completed(已完成)、Canceled(已取消)、Error(错误)。
- 在 App Launcher 搜索并选择 Orchestration Runs
- 点击某个编排的链接查看详情
- 点击 Related 选项卡查看阶段与步骤详情以及运行历史——它逐步记录了编排已完成的内容、由谁完成以及耗时多久
如果不再需要某个正在运行的编排,可以在 Orchestration Run 视图中点击该编排运行的下拉箭头,选择 Cancel Orchestration,所有待处理的工作项将被终止。
你还可以调试进行中的编排:在 Orchestration Runs 页面对目标进行中的编排选择 Debug Orchestration(该选项仅对与 Flow 审批流程无关的编排运行出现),跟随蓝色路径查看当前所处位置,并在 Debug Details 中查看已执行的每个步骤或决策的详细信息。
当编排中的交互式步骤运行时,它会创建工作项并分配给用户、组或队列。使用 All Work Items 列表视图查看所有工作项,使用 All Open Orchestration Work Items 列表视图查看所有已分配但未完成的工作项(被分配用户只能看到自己待处理的工作项)。
至此,你已经掌握了如何运行、监控与调试编排,以及如何查看编排创建的工作项。你可以试验这个招聘编排,添加一个入职阶段——有了 Flow Orchestration 的强大能力,可能性是无限的。
文章来源:Trailhead - Orchestrate Complex Processes with Flow Orchestration








