跳到主要内容

执行子工作流#

使用执行子工作流节点可在运行 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 作为该项值。也可启用尝试转换类型来自动将数据转换为子工作流项要求的类型。

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

运行模式#

通过此参数控制节点执行模式。可选选项:

  • 所有项单次运行:将所有输入项传入节点的单次执行
  • 逐项单次运行:按顺序为每个输入项执行一次节点

节点选项#

此节点包含等待子工作流完成选项,用于控制主工作流是否需等待子工作流完成后才继续下一步(开启),或主工作流是否无需等待直接继续(关闭)。

模板与示例#

不依赖第三方 API 从 Google 地图抓取企业邮箱 作者:Akram Kadri 查看模板详情

将 n8n 工作流备份至 Github 作者:Jonathan 查看模板详情

使用 n8n、Apify 和 OpenAI o3 自托管 AI 深度研究智能体 作者:Jimleuk 查看模板详情

浏览执行子工作流集成模板搜索所有模板

设置并使用子工作流#

本节逐步演示父工作流和子工作流的设置方法。

创建子工作流#

  1. 创建新工作流

    基于现有工作流创建子工作流

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

    也可通过右键菜单中的子工作流转换直接提取选定节点。

  2. 可选:配置可调用该子工作流的工作流:

    1. 选择选项 选项菜单 > 设置,打开工作流设置弹窗
    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 的执行子工作流节点