目录

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。

If 节点的条件设置与 true 分支输出
If 节点:views 大于 100 的 2 条数据从 True Branch 输出,其余数据走 False Branch

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 的某个分支中,让流程图更清楚地表示“这种情况不做处理”。

选择节点的顺序

遇到需求时,可以按以下顺序考虑:

  1. 有没有现成的服务节点?(例如 Google Sheets、Slack)
  2. 能不能用 Edit Fields + 表达式 处理?
  3. 能不能用数据转换节点(Split Out、Aggregate、Filter、Sort)处理?
  4. 调用 API 时使用 HTTP Request
  5. 以上方法都不行,再用 Code 节点

更新于 2026年10月12日