跳到主要内容

执行子工作流触发器节点#

此节点用于响应另一个工作流而启动工作流,应作为工作流中的首个节点。

n8n支持从其他工作流调用工作流,适用于以下场景:

  • 复用工作流:例如多个工作流从不同来源提取和处理数据后,可统一调用单个报表生成工作流
  • 将大型工作流拆分为小型组件

使用方法#

本节点响应来自执行子工作流调用n8n工作流工具节点的调用而运行。

创建子工作流#

  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的执行子工作流节点