【n8n教程】:掌握节点类型,上手工作流自动化

如果说 n8n 是一个自动化的积木系统,那么**节点(Node)**就是这些积木的基本单元。这篇教程将帮你快速理解 n8n 中的各种节点类型,让你从初学者晋升为自动化高手!


一、什么是节点?为什么要理解节点?

想象你要从家里寄送一个包裹到另一个城市。这个过程包括多个步骤:

在 n8n 中,每一个步骤都对应一个节点,而整个寄包过程就是一个工作流(Workflow)

节点的本质:每个节点都是一个独立的功能单元,接收来自上一个节点的数据,进行处理,然后传递给下一个节点。节点之间的连接形成了数据流。


二、节点的两大基础分类

2.1 触发器节点(Trigger Nodes)⚡

触发器是工作流的起点,它决定了工作流何时开始运行。

常见触发器类型:

触发器类型功能使用场景
Webhook通过 HTTP 请求触发接收第三方应用的数据,如表单提交、用户请求
Cron(定时器)按照时间表自动触发定时任务,如每天凌晨 2 点执行备份
手动触发(Manual Trigger)点击按钮手动执行测试工作流、调试功能
应用事件(On app event)监听第三方应用的事件当 Slack 收到消息、Google Sheet 被编辑时

实际例子

2.2 动作节点(Action Nodes)✅

动作是工作流的执行部分,它们代表具体的任务操作。

常见动作类型:

动作类型功能示例
HTTP Request调用外部 API从天气 API 获取数据
发送邮件发送电子邮件发送通知邮件
数据库操作读写数据库从 MySQL 读取用户数据
Set/Edit Field设置或修改数据字段将接收到的数据添加新字段
Function(函数)运行自定义 JavaScript 代码复杂数据转换

三、核心节点详解

3.1 核心节点的定义

核心节点(Core Nodes) 是 n8n 内置的基础节点,不依赖第三方服务,提供通用的数据处理和逻辑控制能力。这些节点是搭建任何工作流的基础。

3.2 最常用的核心节点

Webhook 节点 🔗


    
    
    
  作用:为工作流开放一个"入口",接收来自外部的 HTTP 请求
配置关键项:
  - HTTP Method:选择 GET 或 POST
  - Authentication:是否需要身份验证
  - 自动生成的 URL:用于接收请求

实际应用

Set/Edit Field 节点 📝


    
    
    
  作用:创建、修改或删除数据字段
使用场景:清洗数据、添加新字段、数据转换

例子


    
    
    
  输入数据:
{
  "name": "张三",
  "email": "zhangsan@example.com"
}

使用 Set 节点添加字段:
{
  "name": "张三",
  "email": "zhangsan@example.com",
  "timestamp": "2025-11-29",
  "processed": true
}

IF 节点 🔀


    
    
    
  作用:根据条件分支处理,类似编程中的 if-else
用法:设置条件,满足条件执行一个分支,不满足执行另一个分支

例子


    
    
    
  IF: email 包含 "@vip.com"
  THEN: 发送 VIP 欢迎邮件
  ELSE: 发送普通欢迎邮件

Merge 节点 🔗


    
    
    
  作用:合并来自多个分支的数据
用法:当工作流从一个点分成多个分支后,用 Merge 重新汇合

Loop Over Items 节点 🔄


    
    
    
  作用:对数组中的每个元素重复执行相同操作
用法:处理多条数据时必用

例子


    
    
    
  输入:[用户1, 用户2, 用户3]
处理:对每个用户都发送一封邮件

Function 节点 🧠


    
    
    
  作用:编写自定义 JavaScript 代码
用法:处理复杂的数据转换、自定义逻辑

简单例子


    
    
    
  // 将收入的数据转换为大写
return
 items.map(item => {
  item.json.name = item.json.name.toUpperCase();
  return
 item;
});

3.3 集群节点(Cluster Nodes)

集群节点是多个节点的组合,作为一个整体提供功能。

例子


四、理解数据流和表达式

4.1 数据如何在节点间流动


    
    
    
  Webhook 节点 (收取数据)
     ↓
  Set 节点 (处理数据)
     ↓
   IF 节点 (判断)
   ↙       ↖
[是]        [否]
 ↓          ↓
发邮件    记录日志

4.2 使用表达式引用上游数据

在任何节点的配置中,你可以使用表达式来引用前面节点的输出:


    
    
    
  {{ $json.fieldName }}           # 引用当前节点的字段
{{ $node["节点名称"].json.field }}  # 引用其他节点的数据
{{ $now }}                      # 获取当前时间
{{ $randomString }}             # 生成随机字符串

五、凭证与安全(Credentials)

在 n8n 中,连接外部服务需要凭证信息。

常见凭证类型

安全特性


六、完整案例:构建你的第一个工作流

案例描述

构建一个简单的自动邮件欢迎系统

工作流步骤

步骤 1:添加 Webhook 节点

步骤 2:添加 Set 节点(数据处理)

步骤 3:添加 IF 节点(逻辑判断)

步骤 4:添加发邮件节点

步骤 5:合并分支(可选)

完整工作流 JSON(可直接导入 n8n)


    
    
    
  {
  "nodes"
: [
    {

      "parameters"
: {
        "path"
: "user-signup",
        "responseMode"
: "onReceived",
        "options"
: {}
      }
,
      "id"
: "webhook-node",
      "name"
: "Webhook",
      "type"
: "n8n-nodes-base.webhook",
      "typeVersion"
: 2,
      "position"
: [0, 0]
    }
,
    {

      "parameters"
: {
        "mode"
: "raw",
        "jsonOutput"
: "{\"userType\": \"VIP\",\"receivedAt\": \"{{ $now }}\"}"
      }
,
      "id"
: "set-node",
      "name"
: "Set Fields",
      "type"
: "n8n-nodes-base.set",
      "typeVersion"
: 3.4,
      "position"
: [220, 0]
    }
,
    {

      "parameters"
: {
        "conditions"
: {
          "string"
: [
            {

              "value1"
: "{{ $json.userType }}",
              "value2"
: "VIP",
              "operation"
: "equals"
            }

          ]

        }

      }
,
      "id"
: "if-node",
      "name"
: "Check User Type",
      "type"
: "n8n-nodes-base.if",
      "typeVersion"
: 1,
      "position"
: [440, 0]
    }
,
    {

      "parameters"
: {
        "respondWith"
: "text",
        "responseBody"
: "{{ $json.userType }} 用户已处理"
      }
,
      "id"
: "respond-node",
      "name"
: "Respond to Webhook",
      "type"
: "n8n-nodes-base.respondToWebhook",
      "typeVersion"
: 1.2,
      "position"
: [660, 0]
    }

  ]
,
  "connections"
: {
    "Webhook"
: {
      "main"
: [
        [
{ "node": "Set Fields", "type": "main", "index": 0 }]
      ]

    }
,
    "Set Fields"
: {
      "main"
: [
        [
{ "node": "Check User Type", "type": "main", "index": 0 }]
      ]

    }
,
    "Check User Type"
: {
      "main"
: [
        [
{ "node": "Respond to Webhook", "type": "main", "index": 0 }],
        [
{ "node": "Respond to Webhook", "type": "main", "index": 0 }]
      ]

    }

  }

}

如何导入工作流

  1. 1. 在 n8n 主页,点击菜单 → "Import workflow"
  2. 2. 选择上面的 JSON 内容
  3. 3. 点击"导入"即可自动生成整个工作流
  4. 4. 根据你的需求修改节点配置(如添加实际的邮箱服务)

七、初学者常见问题

Q1:什么时候用 If 节点,什么时候用 Switch 节点?

Q2:Function 节点和 Set 节点有什么区别?

Q3:如何调试工作流?

Q4:工作流执行失败了怎么办?


总结要点

要点说明
节点工作流的基本构件,每个节点完成一个任务
触发器决定工作流何时启动(Webhook、Cron、Manual)
动作具体的操作(发邮件、调用 API、数据处理)
核心节点内置的通用节点(Set、If、Function、Loop)
数据流数据从一个节点流向下一个节点的过程
表达式使用 {{ }} 语法引用和转换数据
凭证安全存储的身份认证信息

祝你使用 n8n 愉快!从今天开始,让重复的工作自动化,把时间投入到更有创意的事情上吧! 🚀


官方文档[1]
n8n系列教程[2]

引用链接

[1] 官方文档: https://docs.n8n.io/integrations/builtin/node-types/
[2] n8n系列教程: https://www.undsky.com/blog/?category=n8n教程#