子工作流转换
功能可用性
适用于 n8n 版本 1.97.0 的所有计划。
使用子工作流转换功能,将您的工作流重构为可重用的部分。引用其他节点的表达式将自动更新,并作为参数添加到
“执行工作流触发器”节点中。请参阅
子工作流程以了解该概念的一般介绍。为子工作流选择节点
要将工作流的一部分转换为子工作流,您必须选择原始工作流中要转换的节点。
通过选择一组有效节点来执行此操作。选择必须是连续的,并且必须从最多一个起始节点和一个结束节点连接到工作流的其余部分。选择必须满足以下条件:
- 不能包含触发节点。
- 所选节点中只有一个节点可以接收来自所选节点之外节点的传入连接。
- 该节点可以接收多个传入连接,但只能接收一个输入
- 分支
- 例如
- ,这意味着它不能是
- 该节点不能接收来自所选节点中其他节点的传入连接。
- 选择中的单个节点只能与选择之外的节点建立传出连接。
- 该节点可以有多个传出连接,但只能有一个输出分支(
- 例如,
- 该节点不能与选择中的其他节点建立传出连接。
- 选择必须包括输入和输出节点之间的所有节点。
如何将工作流的一部分转换为子工作流
在画布上选择所需的节点。右键单击画布背景,然后选择
“转换为子工作流” 。需要注意的事项
大多数子工作流转换都没有问题,但需要牢记一些注意事项和限制:
- 您必须手动设置输入和输出的类型约束:默认情况下,子工作流的输入和输出允许所有类型。您可以在子工作流的“执行子工作流触发器”节点和“编辑字段(设置)”节点(标记为“返回” ,且仅在子工作流有输出时才包含)中设置预期类型。
- 对 AI 节点的有限支持:处理 AI 工具等子节点时,您必须全部选择它们,并且可能需要在转换之前复制与其他 AI 代理共享的任何节点。
- 使用 v1 执行顺序:新的工作流程使用执行顺序,而不管父工作流程的设置如何 - 您可以在设置中将其更改回来。
-
访问器函数(例如、和)需要格外小心:使用这些函数的表达式并不总是能干净地转换到子工作流上下文。n8n 可能会转换它们以尝试保留它们的功能,但您应该检查它们是否在新的上下文中按预期工作。
子节点参数后缀
n8n 会为这些函数访问的变量名添加诸如、和 之类的后缀。这有助于保留原始表达式的相关信息,因为在子工作流上下文中,项的排序可能有所不同。
- 该函数需要固定索引:使用该函数时,不能使用表达式作为索引值。您必须传递一个固定的数字。