用 Flow Orchestration 编排复杂流程

单个 Flow 如同独奏乐手,而 Flow Orchestration 是协调全局的指挥家。本文跟随一个候选人招聘流程,带你掌握阶段(Stage)、步骤(Step)、交互式与后台操作、决策(Decision)与工作项(Work Item)等核心概念。你将学会如何规划编排、识别步骤与阶段、构建所需的各个 Flow,并一步步搭建 record-triggered 编排、配置动态分配与决策分支,最后运行、监控与调试整个自动化流程。...

📅 2026/10/5 ✍️ ponybai 🏷️ salesforce, headless

一、识别 Flow Orchestration 的业务用途

slide_2

本模块讲解 Salesforce 平台最强大的自动化工具之一——Flow Orchestration。它把多个 Flow 组合成一个协调的工作流,就像指挥家指挥乐队一样。你将构建一个完整的招聘流程:从创建职位申请,经过招聘人员电话筛选与招聘经理面试,到最后发出录用通知。在此过程中,你将掌握阶段(Stage)、步骤(Step)、交互式与后台操作、决策(Decision)以及工作项(Work Item)等核心概念。

学习目标

slide_3

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

  • 列出用 Flow Orchestration 自动化复杂业务流程的好处
  • 区分 autolaunched 与 record-triggered 两种编排类型
  • 识别三大构建块:阶段(stages)、步骤(steps)、流程(flows)
  • 识别适合 Flow Orchestration 的业务流程

什么是 Flow Orchestration?(指挥家类比)

slide_4

单个 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!

二、规划一个编排流程

slide_5

在动手构建之前,规划至关重要。本单元用一个候选人招聘流程作为例子,学习如何分析业务流程、识别阶段与步骤、设计决策点,并创建一张能直接映射到编排结构的流程图。

设计编排:先想清楚再动手

slide_6

Flow Orchestration 中最重要的一步发生在你打开 Flow Builder 之前:设计。先可视化你的整个端到端流程,为你想自动化的部分创建一张流程图,这样就不会漏掉任何步骤。这种可视化能帮助你确定要在 Flow Builder 中创建哪些 Flow、哪些自动化需要第三方系统的协助,以及哪些操作应在后台进行、哪些需要用户输入。

规划编排时,可以在可视化流程的过程中问这些问题:

  • 流程可能以哪些方式开始和结束?
  • 谁是用户或组,他们在流程中扮演什么角色?
  • 哪些任务分配给哪些角色?
  • 是否有些步骤只在某些时候执行?
  • 是否需要暂停和恢复流程?
  • 能否使用入口条件或其他优化来减少不必要的操作?
  • 考虑维护与变更管理:谁负责这个业务流程,变更或迭代的可能性有多大?
  • 分析你现有的 Flow,看能否将它们纳入编排。

Ursa Major Solar 想用 Flow Orchestration 协调其新的候选人招聘流程,自动化从招聘人员初筛到录用决策的整个周期。

要开始招聘流程:

  1. 创建一个新职位(Position)
  2. 为该职位创建一份职位申请(Job Application)
  3. 招聘人员选择要面试的候选人
  4. 向候选人发送一封邮件,通知电话筛选

候选人被选定后,接下来的步骤:

  1. 进行候选人筛选
  2. 招聘人员通过屏幕表单对候选人在多项技能上进行评估,候选人获得 1 到 5 的分数
  3. 招聘人员根据设定标准标记候选人是「晋级」还是「被拒绝」

接下来是决策时间。标准与潜在结果是什么?

  1. 如果候选人初筛的总体分数大于或等于 3,则晋级到招聘经理面试
  2. 向成功晋级的候选人发送邮件,安排与招聘经理的面试
  3. 如果候选人被拒绝,则自动发送一封邮件,告知其申请不会继续推进

最后,轮到招聘经理进行最终面试:

  1. 进行面试
  2. 经理通过打分给出反馈
  3. 提交评分后即做出决策——经理是否想推荐录用该候选人?

现在所有环节都已记录在案,接下来思考:哪些任务可以合并到单个 Flow 中?你的步骤和阶段会是什么样?

三、构建编排流程

slide_7

现在开始动手。我们将创建一个在 Position 对象上触发的 record-triggered 编排,添加 Recruiter Screening 阶段及其三个步骤,配置每个步骤的 Flow、被分配人与完成条件,为候选人打分添加决策,最后激活这个编排。这是蓝图变为可运行流程的地方。

逐步构建招聘编排流程

slide_8

我们已经画出了整个流程,接下来分析流程图,把它逻辑地组织成步骤。记住:步骤可以顺序或并发运行;交互式步骤需要用户介入,后台步骤则不需要;步骤可以分配给组、队列和资源。根据流程图,我们把任务组织成以下步骤:

步骤名称步骤类型Flow 类型
Create the job application(创建职位申请)InteractiveScreen
Phone screen scheduled(安排电话筛选)BackgroundAutolaunched
Conduct the phone screen(进行电话筛选)InteractiveScreen
Send a rejection email to a candidate(向候选人发送拒绝邮件)BackgroundAutolaunched
Schedule an interview with the hiring manager(安排与招聘经理的面试)BackgroundAutolaunched
Conduct the interview with the hiring manager and the candidate(进行招聘经理与候选人的面试)InteractiveScreen
Make a hiring decision(做出录用决策)InteractiveScreen

阶段总是顺序运行,而步骤可以并行运行。一个阶段包含你想逻辑分组的关联步骤。同一时间只有一个阶段处于进行中。据此,本流程的步骤可以分组为三个阶段:

阶段名称步骤Flow
Initial Screening(初筛)Create the job application;Phone screen scheduled;Conduct the phone screenScreen flow;Email alert;Screen flow
Hiring Manager Interview(招聘经理面试)Schedule an interview;Conduct the interview;Make a hiring decisionEmail alert;Screen flow(合并两个步骤)
Candidate Rejected(候选人被拒绝)Send a rejection email to a candidateEmail 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 构建完成后,就可以组装编排了:

  1. 从 Setup 进入 Quick Find 输入 Flows,选择 Flows
  2. 点击 New Flow,在 New Automation 窗口的 Search automations 字段输入 orch
  3. 选择 Record-Triggered Orchestration(因为要在 Position 记录创建时启动编排)

配置 Start 元素:

  1. Object 选择 Position
  2. Trigger the Orchestration When 选择 A record is created
  3. Condition Requirements 选择 All Conditions Are Met (AND)
  4. Field 选择 Status,Operator 选择 Equals,Value 选择 New
  5. Orchestration Label 输入 Recruiting Orchestration - Exercise
  6. Description 输入 Candidate recruiting process from initial screening to offer of employment.
  7. 点击 Save

接着添加第一个阶段 Recruiter Screening:

  1. 在 Start 元素之后的路径上,点击添加元素按钮,选择 Stage
  2. Label 输入 Recruiter Screening(API Name 自动变为 Recruiter_Screening)
  3. Select When to Complete the Stage 选择 When all steps have been marked Complete, the stage is marked Completed
  4. 点击 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 安排与招聘经理的面试。

  1. 在 Recruiter Screening 阶段与 End 元素之间添加元素,选择 Decision
  2. Label 输入 Go to next round
  3. 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
  4. OUTCOME ORDER:Default Outcome 的 Label 输入 No
  5. 点击 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 会激活当前版本并自动停用之前已激活的版本。

四、运行并监控编排流程

slide_9

编排已构建并激活——现在运行它。我们将创建一个 Position 来触发流程,通过记录页面上的 Orchestration Work Guide 逐步完成每个步骤,在 Setup 中监控编排运行、在需要时取消,并调试问题。这是你看到自动化流程真正运转起来的地方。

运行编排流程:用户体验

slide_10

要启动编排(通过创建 Position 记录触发):

  1. 在 App Launcher 搜索并选择 Recruiting
  2. 点击 Positions → New
  3. 填写 Title、将 Status 设为 New、填写 Description、Department、Pay Grade,并在 Hiring Manager 字段选择一名经理
  4. 点击 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(错误)。

  1. 在 App Launcher 搜索并选择 Orchestration Runs
  2. 点击某个编排的链接查看详情
  3. 点击 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