执行子工作流
使用执行子工作流节点在运行 n8n 的主机上运行不同的工作流。
节点参数
来源
选择节点应从哪里获取子工作流的信息:
- 数据库:选择此选项可通过 ID 从数据库加载工作流。您还必须输入以下任一信息:
- 从列表
- :从您帐户可用的工作流列表中选择工作流。
- 工作流 ID
- :输入工作流的 ID。工作流的 URL 包含 后的 ID
- 。例如,如果工作流的 URL 为
- ,
- 工作流 ID
- 为
- 。
- 本地文件:选择此选项可从本地保存的 JSON 文件加载工作流。您还必须输入:
- 工作流路径
- :输入您希望节点执行的本地 JSON 工作流文件的路径。
- 参数:选择此选项可从参数加载工作流。您还必须输入:
- 工作流 JSON
- :输入您希望节点执行的 JSON 代码。
- URL :选择此选项可从 URL 加载工作流。您还必须输入:
- 工作流 URL
- :输入要从中加载工作流的 URL。
工作流输入
如果您使用
数据库和列表选项选择子工作流,则子工作流的输入项将自动显示,供您填写或映射值。您可以选择移除请求的输入项,在这种情况下,子工作流会接收该项的值。您还可以启用
“尝试转换类型” ,以尝试将数据自动转换为子工作流项请求的类型。如果子工作流的工作流输入触发节点使用“接受所有数据”输入数据模式,则不会出现输入项。
模式
使用此参数控制节点的执行模式。请从以下选项中选择:
- 使用所有项目运行一次:将所有输入项目传递到节点的单次执行中。
- 为每个项目运行一次:依次为每个输入项目执行一次节点。
节点选项
此节点包含一个选项:
等待子工作流完成。这可让您控制主工作流是否应等待子工作流完成后再进入下一步(打开),或者主工作流是否应继续而不等待(关闭)。模板和示例
没有任何
设置并使用子工作流程
本节将介绍如何设置父工作流和子工作流。
创建子工作流
-
创建新的工作流程。
- 选择
- “选项”
- 菜单 >
- “设置”
- 。n8n 打开“
- 工作流设置
- ”模式。
- 更改
- “此工作流可通过以下方式调用
- 有关配置工作流的更多信息,
- 请参阅
- 添加执行子工作流触发节点(如果您在触发节点下搜索,这也被称为当由另一个工作流执行时)。
- 设置输入数据模式以选择如何定义子工作流的输入数据:
- 使用以下字段定义
- :选择此模式可定义调用工作流需要提供的各个输入名称和数据类型。
- 或
- 将自动提取此处定义的字段。
- 使用 JSON 示例定义
- :选择此模式可提供 JSON 对象示例,演示预期的输入项及其类型。
- 接受所有数据
- :选择此模式可无条件接受所有数据。子工作流不会定义任何必需的输入项。此子工作流必须处理任何输入不一致或缺失的值。
- 根据需要添加其他节点来构建子工作流功能。
- 保存子工作流。
子工作流不得包含错误
如果子工作流出现错误,父工作流就无法触发它。
在构建之前将数据加载到子工作流中
这需要能够
加载以前执行的数据,该功能在 n8n Cloud 和注册社区计划中可用。如果您想要将数据加载到子工作流中以便在构建时使用:
- 创建子工作流并添加执行子工作流触发器。
- 将节点的输入数据模式设置为接受所有数据,或者使用字段或 JSON 定义输入项(如果已知)。
- 在子工作流设置中,将“保存成功的生产执行”设置为“保存” 。
- 跳到设置父工作流并运行它。
- 按照步骤加载以前执行的数据。
- 如有必要,调整输入数据模式以匹配父工作流发送的输入。
您现在可以在触发节点中固定示例数据,从而能够在配置其余工作流程时使用真实数据。
调用子工作流
- 打开您想要调用子工作流的工作流。
- 添加执行子工作流节点。
-
在
“执行子工作流”节点中,设置要调用的子工作流。您可以选择通过 ID 调用工作流、从本地文件加载工作流、在节点中添加工作流 JSON 作为参数,或通过 URL 定位工作流。查找您的工作流程 ID
子工作流的 ID 是其 URL 末尾的字母数字字符串。
-
填写子工作流定义的必填输入项。
- 保存您的工作流程。
当你的工作流执行时,它会将数据发送到子工作流,并运行它。
您可以通过打开“执行子工作流”节点并选择“
查看子执行”链接,跟踪从父工作流到子工作流的执行流程。同样,子工作流的执行包含一个指向父工作流执行的链接,以便反向导航。数据如何在工作流之间传递
举个例子,假设在
工作流 A中有一个执行子工作流节点。该执行子工作流节点调用另一个名为工作流 B的工作流:- 执行子工作流节点将数据传递给工作流 B的执行子工作流触发节点(在画布中标题为“由另一个节点执行时”) 。
- 工作流 B的最后一个节点将数据发送回工作流 A中的执行子工作流节点。