n8n工作流自动化工具允许通过可视化界面设计和实现复杂的自动化流程。站长百科将详细介绍n8n中各种逻辑功能的使用方法,帮助大家构建更高效的工作流。
一、使用条件语句进行拆分
在n8n中,可以使用IF节点或Switch节点将单个工作流分支拆分为多个分支,根据不同条件执行不同的操作。
示例场景对比:
1、线性工作流:用户提交错误→发送邮件给支持团队(单一路径)
2、分支工作流:用户提交错误→根据问题是否紧急拆分→根据支持计划再次拆分(多路径)
二、合并数据
合并操作允许你将多个数据流重新整合为一个。n8n提供了多种合并方式:
1、合并不同数据流
使用Merge节点将来自不同分支的数据合并。例如:
- 追加数据集:将多个数据集按顺序连接
- 仅保留新项目:合并时只保留不重复的项
- 仅保留现有项目:合并时只保留已存在的项
2、合并不同节点的数据
即使工作流没有明确分支,也可以使用Merge节点合并来自前两个节点的数据,生成单一数据集。
3、合并多次执行的数据
在循环场景中,使用Code节点合并同一节点多次执行产生的数据。
4、比较和合并数据
使用Compare Datasets节点对数据集进行比较后合并,并根据比较结果输出不同的数据流。
三、在n8n中循环
循环功能适用于需要处理多个项目的场景,例如向联系人列表中的每个客户发送消息。
n8n的自动循环机制:
大多数节点会自动处理传入的每个项目。例如,将Slack节点连接到Customer Datastore节点,Slack节点会自动为每个客户发送一条消息。
手动控制循环:
1、Execute Once参数:若只需处理第一个项目,可在节点的Settings选项卡中启用此参数。
2、创建自定义循环:对于不支持自动迭代的节点,通过将节点输出连接回自身输入,并添加IF节点作为循环终止条件。
四、等待机制
等待功能允许你暂停工作流执行,用于:
1、限制API调用频率(避免触发限流)
2、等待外部事件完成(如文件上传、支付确认)
支持两种等待方式:
- 指定固定时间
- 等待Webhook触发后继续
五、n8n子工作流
子工作流允许将复杂工作流拆分为多个独立模块,提高可维护性和复用性。
创建步骤:
1、新建工作流,添加Execute Sub-workflow Trigger节点
2、配置输入数据模式:
- Define using fields below:手动定义输入字段和类型
- Define using JSON example:通过JSON示例定义输入结构
- Accept all data:接受所有类型的输入数据
3、设计子工作流逻辑并保存
调用子工作流:
在父工作流中使用Execute Workflow节点或Execute Sub-workflow节点调用已创建的子工作流。
六、错误处理
为确保工作流稳定性,建议配置错误处理机制。
创建错误工作流:
1、新建工作流,以Error Trigger节点作为起点
2、设计错误处理逻辑(如发送警报、记录日志)
3、在目标工作流的Settings中关联错误工作流
错误数据结构:
当工作流执行失败时,错误工作流会接收到包含错误信息的JSON数据:
[
{
“execution”: {
“id”: “231”,
“url”: “https://n8n.example.com/execution/231”,
“retryOf”: “34”,
“error”: {
“message”: “Example Error Message”,
“stack”: “Stacktrace”
},
“lastNodeExecuted”: “Node With Error”,
“mode”: “manual”
},
“workflow”: {
“id”: “1”,
“name”: “Example Workflow”
}
}
]
七、多分支工作流执行顺序
执行顺序取决于n8n版本:
- 1.0之前的版本:并行执行各分支,按节点层级依次处理(每个分支的第一个节点→第二个节点→…)
- 1.0及之后的版本:串行执行各分支,按画布位置从上到下、从左到右依次完成每个分支







