子工作流
您可以从另一个工作流调用一个工作流。这允许您构建模块化、类似微服务的工作流。如果您的工作流规模过大,遇到
内存问题,它也能提供帮助。创建子工作流需要使用“执行工作流”和“执行子工作流触发器”节点。子工作流执行不计入您计划的每月执行或活动工作流限制。
设置并使用子工作流程
本节将介绍如何设置父工作流和子工作流。
创建子工作流
-
创建新的工作流程。
- 选择
- “选项”
- 菜单 >
- “设置”
- 。n8n 打开“
- 工作流设置
- ”模式。
- 更改
- “此工作流可通过以下方式调用
- 有关配置工作流的更多信息,
- 请参阅
- 添加执行子工作流触发节点(如果您在触发节点下搜索,这也被称为当由另一个工作流执行时)。
- 设置输入数据模式以选择如何定义子工作流的输入数据:
- 使用以下字段定义
- :选择此模式可定义调用工作流需要提供的各个输入名称和数据类型。
- 或
- 将自动提取此处定义的字段。
- 使用 JSON 示例定义
- :选择此模式可提供 JSON 对象示例,演示预期的输入项及其类型。
- 接受所有数据
- :选择此模式可无条件接受所有数据。子工作流不会定义任何必需的输入项。此子工作流必须处理任何输入不一致或缺失的值。
- 根据需要添加其他节点来构建子工作流功能。
- 保存子工作流。
子工作流不得包含错误
如果子工作流出现错误,父工作流就无法触发它。
在构建之前将数据加载到子工作流中
这需要能够
加载以前执行的数据,该功能在 n8n Cloud 和注册社区计划中可用。如果您想要将数据加载到子工作流中以便在构建时使用:
- 创建子工作流并添加执行子工作流触发器。
- 将节点的输入数据模式设置为接受所有数据,或者使用字段或 JSON 定义输入项(如果已知)。
- 在子工作流设置中,将“保存成功的生产执行”设置为“保存” 。
- 跳到设置父工作流并运行它。
- 按照步骤加载以前执行的数据。
- 如有必要,调整输入数据模式以匹配父工作流发送的输入。
您现在可以在触发节点中固定示例数据,从而能够在配置其余工作流程时使用真实数据。
调用子工作流
- 打开您想要调用子工作流的工作流。
- 添加执行子工作流节点。
-
在
“执行子工作流”节点中,设置要调用的子工作流。您可以选择通过 ID 调用工作流、从本地文件加载工作流、在节点中添加工作流 JSON 作为参数,或通过 URL 定位工作流。查找您的工作流程 ID
子工作流的 ID 是其 URL 末尾的字母数字字符串。
-
填写子工作流定义的必填输入项。
- 保存您的工作流程。
当你的工作流执行时,它会将数据发送到子工作流,并运行它。
您可以通过打开“执行子工作流”节点并选择“
查看子执行”链接,跟踪从父工作流到子工作流的执行流程。同样,子工作流的执行包含一个指向父工作流执行的链接,以便反向导航。数据如何在工作流之间传递
举个例子,假设在
工作流 A中有一个执行子工作流节点。该执行子工作流节点调用另一个名为工作流 B的工作流:- 执行子工作流节点将数据传递给工作流 B的执行子工作流触发节点(在画布中标题为“由另一个节点执行时”) 。
- 工作流 B的最后一个节点将数据发送回工作流 A中的执行子工作流节点。
子工作流转换
请参阅
子工作流转换,了解如何将现有工作流划分为子工作流。