必须用子工作流封装复用审批校验等公共逻辑,否则维护成本指数级上升;创建时需勾选「设为子工作流」,定义明确输入参数,调试后恢复勾选;主流程通过工作流节点调用并映射参数,可配合loop批量处理;需勾选“执行完毕后再下一步”控制同步性,并勾选“传递触发者”确保操作归属清晰。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在扣子平台搭建多个工作流时,发现审批校验、用户通知、订单状态同步等逻辑反复出现在不同流程中,每次修改都要挨个改三四个地方,一不小心就漏掉一个——这时必须用子工作流封装复用,否则维护成本会指数级上升。
创建可被调用的子工作流
第一步:在资源库中点击右上角「+」→「工作流」,新建一个独立工作流,命名为“通用订单校验”,勾选「设为子工作流」。【必须勾选】,否则无法被其他工作流调用。
第二步:在这个新工作流里,只放校验所需节点——比如数据库查询订单是否存在、LLM节点判断是否超时、条件分支返回true/false,最后接结束节点。注意:开始节点的输入参数名要明确,例如叫order_id,后续主流程传参才不会错位。
第三步:调试阶段可临时取消「设为子工作流」标识,让该工作流能单独运行测试;正式上线前务必重新勾选,否则主流程调用时会报“找不到子工作流”错误。
主工作流中调用子工作流
方法一:拖入工作流节点→在配置面板「选择子工作流」下拉框中找到你刚建好的“通用订单校验”→在输入映射区域,把主流程变量(如{{input.order_id}})拖到右侧对应字段。如果子工作流定义了多个输入参数,这里必须一一匹配,缺一个会导致执行中断且无报错提示。
方法二:若子工作流需批量处理,可在主流程中使用Loop节点包裹工作流节点,将数组变量传入;也可直接将数组整体传给子工作流的单个输入参数,由子工作流内部用代码节点拆解处理——后者更节省节点数,但要求子工作流具备健壮的异常捕获能力。
控制子工作流执行行为
第一步:勾选「子流程执行完毕后,再开始下一个节点」。这样主流程会在该节点处暂停,直到子工作流返回结果才走下一步。不勾选则两者完全异步,适合日志记录、埋点上报等不影响主干逻辑的任务。
第二步:在子工作流节点配置中,勾选「传递触发者」。此时子工作流内所有操作(如数据库写入、消息通知)的发起人显示为主流程的实际触发者,而不是“工作流系统”。【不勾选时,审批记录里会显示“系统自动执行”,人工审计时容易被质疑】











