SuperAPI AI 工具集

n8n-subworkflows

办公与效率

查看项目

更新于 10-16 05:05

技能介绍

用途:本技能讲解如何在 n8n 中构建可复用、可组合的子工作流(sub-workflow)。子工作流相当于函数:Execute Workflow Trigger 声明类型化输入,主体执行逻辑,最后一个节点返回输出;调用方通过 Execute Workflow 节点像普通步骤一样调用它。它是 n8n 的主要复用机制,可带来封装、复用、可测试与可替换性,避免同一逻辑被复制到多个工作流后各自漂移。

主要能力与规则:两条硬性要求——一是先搜索再构建,用 n8n_list_workflows() 扫描库、n8n_get_workflow({ id: "<candidate>" }) 查看候选的输入输出与主体,能复用就复用;二是 Execute Workflow Trigger 默认使用 Define Below 加显式类型字段,而非 passthrough。只有两种例外可用 passthrough:需要接收二进制(图片/文件/PDF),或确实零输入。

输入输出契约:声明的字段与最后节点输出即子工作流的 API。字段名、类型、用途和关键词要写进工作流描述,便于人和智能体检索。返回自然形状而非存储形状;预期失败返回 { ok: false, error: "..." } 而非抛错;契约一旦有调用方就冻结,新增可选字段安全,重命名或删除字段会导致静默契约破坏,需在同一变更中迁移所有调用方。建议用末尾 Set 节点(命名 Return)显式塑造返回结构。

调用方式:mode 取 all(默认,一次运行处理全部条目)或 each(每个条目运行一次,适合按单条目假设的逻辑);waitForSubWorkflow 默认 true 表示阻塞等待,设为 false 则即发即忘。mode: each 加 waitForSubWorkflow: false 是 n8n 中唯一真正并行的方式,需配合完成状态跟踪。输入契约差异大时可用 N+1 模式拆分。带类型 Define Below 触发器的子工作流还可作为 AI 智能体工具,由智能体通过 $fromAI 填参。

限制:社区 MCP 无法按标签过滤或发现工作流,发现只能靠名称(动词前缀约定);n8n 不会对未识别的输入字段报错,字段重命名需人工核对所有调用方;输入模式与字段必须由触发器节点自身声明,需用 n8n_update_partial_workflow 配置。资料未提供收费、价格与平台信息。