目录
n8n 常用核心节点教程:掌握 HTTP Request、If、Switch、Merge、Loop 和 Wait
n8n 有上百个集成节点,但大多数工作流都由少数几个核心节点组成。熟悉它们,就能应对绝大多数情况。
触发器
| 节点 | 何时启动 |
|---|---|
| Manual Trigger | 手动点击运行(用于测试) |
| Schedule Trigger | 按计划运行,例如每天 8 点、每 15 分钟或按 Cron 表达式运行 |
| Webhook | 收到 HTTP 请求,参见 Webhook 教程 |
| Form Trigger | 有人提交 n8n 内置表单时 |
| Chat Trigger(When chat message received) | 收到聊天消息时,用于 AI 助手 |
| Execute Workflow Trigger | 被其他工作流调用时(子流程) |
| Error Trigger | 其他工作流发生错误时 |
| 各服务的触发器 | 例如 Gmail 收到新邮件、Google Sheets 新增行或 Telegram 收到消息 |
Schedule Trigger 的 Cron 模式示例:
0 9 * * 1-5 周一到周五 09:00
*/15 * * * * 每 15 分钟
0 0 1 * * 每月 1 日 00:00
HTTP Request:调用任何 API
对于 n8n 没有提供集成的服务,几乎都可以用 HTTP Request 处理:
- Method:GET、POST、PUT、PATCH、DELETE
- Authentication:使用凭据,参见 凭据管理
- Send Query Parameters / Headers / Body:设置参数
- Options → Pagination:自动处理分页,一次取回所有页面的数据
- Options → Batching:控制每秒的请求数,避免触发 API 限流
最方便的技巧:从 API 文档复制 cURL 命令,在 HTTP Request 节点中点击 Import cURL 并粘贴,所有设置都会自动填好。
Edit Fields (Set):整理数据
新增、修改、重命名字段,或只保留需要的字段(开启 Keep Only Set Fields)。先整理好数据再传给后续节点,后面的操作会容易很多。
If:二选一
设置条件,符合条件的数据从 true 输出,不符合条件的数据从 false 输出:
┌─ true ──▶ [通知主管]
[订单] ─▶ [If 金额 > 10000]
└─ false ─▶ [常规处理]
条件可以比较字符串、数字、日期和布尔值,也可以用 AND / OR 组合多个条件。注意数据类型:API 返回的 "10000" 是字符串,进行数字比较前要先转换,或开启 Convert types where required。

Switch:多个分支
根据某个值走不同的路线,例如按客户投诉类型分配给不同部门:
| 规则 | 输出 |
|---|---|
{{ $json.category }} 等于“物流” | 输出 0 → 物流组 |
| 等于“质量” | 输出 1 → 质检组 |
| 等于“退款” | 输出 2 → 财务组 |
| 其他(Fallback) | 输出 3 → 客服主管 |
Filter:只保留符合条件的数据
与 If 类似,但只有一个输出,不符合条件的数据会直接丢弃。
Merge:合并两条路线
需要合并两个分支的数据时使用,模式说明参见 数据结构与 items。
Loop Over Items:分批处理
n8n 本身会对每个 item 执行一次,大多数情况下不需要循环。以下情况需要使用 Loop Over Items(旧称 Split in Batches):
- API 有速率限制,需要每次处理 10 条数据,并在中间等待
- 某些节点一次只能处理一条数据
[获取 500 条] ─▶ [Loop Over Items 每批 10 条] ─loop─▶ [调用 API] ─▶ [Wait 1 秒] ─┐
│ │
└─done─▶ [发送完成通知] ◀────────────────────┘
循环中的最后一个节点要连接回 Loop Over Items 的输入。全部处理完成后,数据会从 done 输出。
Wait:等待
- 等待一段时间(例如 5 分钟后再检查付款状态)
- 等到指定时间
- 等待外部调用(Webhook)后再继续,例如等主管点击“批准”链接
等待超过 65 秒时,n8n 会把执行状态保存到数据库,不会占用资源。
Execute Workflow:子流程
将常用步骤(例如“发送通知到 Slack 和 Email”)做成独立工作流,以 Execute Workflow Trigger 开头,再由其他工作流通过 Execute Workflow 节点调用。这样做的好处是:
- 相同的逻辑只需维护一份
- 大型流程拆分成小块后,更容易阅读和调试
在 n8n 2.x 中,父工作流收到的是子流程最后一个节点的输出。
Code:编写代码
对于表达式和现有节点无法处理的逻辑,可以用 JavaScript 或 Python 编写代码,参见 代码节点。
No Operation, do nothing
什么也不做的节点。可以放在 If 的某个分支中,让流程图更清楚地表示“这种情况不做处理”。
选择节点的顺序
遇到需求时,可以按以下顺序考虑:
- 有没有现成的服务节点?(例如 Google Sheets、Slack)
- 能不能用 Edit Fields + 表达式 处理?
- 能不能用数据转换节点(Split Out、Aggregate、Filter、Sort)处理?
- 调用 API 时使用 HTTP Request
- 以上方法都不行,再用 Code 节点
更新于 2026年10月12日