跳转至

执行子工作流#

使用执行子工作流节点在运行 n8n 的主机上运行不同的工作流。

节点参数#

来源#

选择节点应从何处获取子工作流的信息:

  • 数据库:选择此选项通过 ID 从数据库加载工作流。您还必须输入以下之一:
    • 从列表中选择:从您账户可用的工作流列表中选择工作流。
    • 工作流 ID:输入工作流的 ID。工作流的 URL 在 /workflow/ 后包含 ID。例如,如果工作流的 URL 是 https://my-n8n-acct.app.n8n.cloud/workflow/abCDE1f6gHiJKL7,那么工作流 IDabCDE1f6gHiJKL7
  • 本地文件:选择此选项从本地保存的 JSON 文件加载工作流。您还必须输入:
    • 工作流路径:输入您希望节点执行的本地 JSON 工作流文件的路径。
  • 参数:选择此选项从参数加载工作流。您还必须输入:
    • 工作流 JSON:输入您希望节点执行的 JSON 代码。
  • URL:选择此选项从 URL 加载工作流。您还必须输入:
    • 工作流 URL:输入您要从中加载工作流的 URL。

工作流输入#

如果您使用数据库从列表中选择选项选择子工作流,子工作流的输入项将自动显示,供您填写或映射值。

您可以选择性地移除请求的输入项,在这种情况下,子工作流会接收 null 作为该项的值。您还可以启用尝试转换类型来尝试自动将数据转换为子工作流项请求的类型。

如果子工作流的工作流输入触发器节点使用"接受所有数据"输入数据模式,则不会显示输入项。

模式#

使用此参数控制节点的执行模式。从这些选项中选择:

  • 使用所有项目运行一次:将所有输入项传递到节点的单次执行中。
  • 为每个项目运行一次:依次为每个输入项执行节点一次。

节点选项#

此节点包含一个选项:等待子工作流完成。这让您可以控制主工作流是否应该等待子工作流完成后再继续下一步(开启),还是主工作流应该继续而不等待(关闭)。

模板和示例#

Browse 执行子工作流 integration templates, or search all templates

设置和使用子工作流#

本节将介绍如何设置父工作流和子工作流。

创建子工作流#

  1. 创建一个新的工作流。

    从现有工作流创建子工作流

    您可以选择使用 执行子工作流 节点直接从现有的父工作流创建子工作流。在节点中,选择 数据库从列表中 选项,然后在列表中选择 创建子工作流

    您也可以在上下文菜单中使用 子工作流转换 直接提取选定的节点。

  2. 可选:配置哪些工作流可以调用子工作流:

    1. 选择 选项 Options menu 菜单 > 设置。n8n 会打开 工作流设置 模态框。
    2. 更改 此工作流可被以下调用 设置。有关配置工作流的更多信息,请参考 工作流设置
  3. 添加 执行子工作流 触发器节点(如果您在触发器节点下搜索,此节点的标题也是 当被其他工作流执行时)。
  4. 设置 输入数据模式 来选择您将如何定义子工作流的输入数据:
    • 使用下方字段定义:选择此模式来定义调用工作流需要提供的各个输入名称和数据类型。调用工作流中的 执行子工作流节点调用 n8n 工作流工具节点 将自动拉取此处定义的字段。
    • 使用 JSON 示例定义:选择此模式来提供一个示例 JSON 对象,展示预期的输入项目及其类型。
    • 接受所有数据:选择此模式来无条件接受所有数据。子工作流不会定义任何必需的输入项目。此子工作流必须处理任何输入不一致或缺少值。
  5. 根据需要添加其他节点来构建子工作流功能。
  6. 保存子工作流。

子工作流不得包含错误

如果子工作流中存在错误,父工作流无法触发它。

在构建之前将数据加载到子工作流中

这需要 从之前的执行中加载数据 的能力,该功能在 n8n Cloud 和已注册的社区计划中可用。

如果您想在构建过程中将数据加载到子工作流中使用:

  1. 创建子工作流并添加 执行子工作流触发器
  2. 将节点的 输入数据模式 设置为 接受所有数据,或者如果已知输入项目,则使用字段或 JSON 定义它们。
  3. 在子工作流 设置 中,将 保存成功的生产执行 设置为 保存
  4. 跳过并设置父工作流,然后运行它。
  5. 按照步骤 从之前的执行中加载数据
  6. 如有必要,调整 输入数据模式 以匹配父工作流发送的输入。

现在您可以在触发器节点中固定示例数据,使您能够在配置工作流的其余部分时使用真实数据。

调用子工作流#

  1. 打开您想要调用子工作流的工作流。
  2. 添加 执行子工作流 节点。
  3. 执行子工作流 节点中,设置您想要调用的子工作流。您可以选择通过 ID 调用工作流、从本地文件加载工作流、在节点中添加工作流 JSON 作为参数,或通过 URL 定位工作流。

    查找您的工作流 ID

    您的子工作流 ID 是其 URL 末尾的字母数字字符串。

  4. 填入子工作流定义的必需输入项目。

  5. 保存您的工作流。

当您的工作流执行时,它将向子工作流发送数据并运行它。

您可以通过打开执行子工作流节点并选择 查看子执行 链接来跟踪从父工作流到子工作流的执行流程。同样,子工作流的执行中包含一个返回父工作流执行的链接,以便在另一个方向上导航。

数据如何在工作流之间传递#

举个例子,假设您在 工作流 A 中有一个执行子工作流节点。执行子工作流节点调用另一个名为 工作流 B 的工作流:

  1. 执行子工作流节点将数据传递给 工作流 B 的执行子工作流触发器节点(在画布中标题为"当被其他节点执行时")。
  2. 工作流 B 的最后一个节点将数据发送回 工作流 A 中的执行子工作流节点。
此页面是否
💬 微信

🚀 与作者交流

关注公众号
n8n实战笔记公众号
n8n实战笔记
📚 教程 💡 案例 🔧 技巧
添加微信
添加作者微信
1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持