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

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

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


点击获取最新AI资讯、n8n工作流、开发经验分享

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

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

  • 触发:你决定要寄包裹(这是你的触发器)
  • 打包:准备包裹的内容(数据处理)
  • 选择物流:选择快递公司(外部服务集成)
  • 检查:确认包裹内容和地址(逻辑判断)
  • 发送:交给快递员(执行操作)

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

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


在这里插入图片描述

二、节点的两大基础分类

2.1 触发器节点(Trigger Nodes)⚡

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

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

实际例子

  • 当有人提交联系表单时,用 Webhook 触发工作流
  • 每个工作日早上 9 点自动发送日报,用 Cron 触发
  • 调试新功能时,用手动触发测试

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:用于接收请求

实际应用

  • 接收来自 Typeform 表单的数据
  • 从 GitHub Webhook 接收代码提交通知
  • 接收来自自己网站的用户反馈
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)

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

例子

  • Datatable 节点:提供表格数据编辑和展示功能
  • 一个根节点 + 多个子节点协同工作

四、理解数据流和表达式

4.1 数据如何在节点间流动

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

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

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

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

五、凭证与安全(Credentials)

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

常见凭证类型

  • API Key(API 密钥)
  • 用户名 + 密码
  • OAuth 2.0 授权
  • 私钥(用于数据库连接)

安全特性

  • 所有凭证都被加密存储
  • n8n 使用自动生成的加密密钥
  • 敏感信息不会在日志中暴露

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

案例描述

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

  • 通过 Webhook 接收新用户注册数据
  • 根据用户类型(普通/VIP)发送不同的欢迎邮件

工作流步骤

步骤 1:添加 Webhook 节点

  • 在 n8n 界面点击"+"号添加节点
  • 搜索"Webhook"并选择
  • 配置为接收 POST 请求
  • 复制生成的 Webhook URL

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

  • 点击 Webhook 节点的输出端,拖到空白处
  • 搜索"Set"并添加
  • 配置:添加字段"userType"来标记用户类型

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

  • 连接 Set 节点到 IF 节点
  • 配置条件:IF userType = “VIP”

步骤 4:添加发邮件节点

  • 在 IF 节点的"真"分支添加 Gmail 节点
  • 在"假"分支添加另一个 Gmail 节点
  • 分别配置 VIP 和普通用户的邮件内容

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

  • 使用 Merge 节点将两个分支的结果合并
  • 用于后续的统一处理或日志记录

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

七、初学者常见问题

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

  • If:只有两种情况(是/否)
  • Switch:多种情况(可以有 3 个或更多分支)

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

  • Set:图形界面配置,适合简单操作
  • Function:写代码,适合复杂转换

Q3:如何调试工作流?

  • 点击节点的"执行"按钮逐个测试
  • 查看每个节点的输出数据(右侧面板)
  • 使用 Webhook 测试 URL 模拟真实请求

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

  • 检查凭证是否正确配置
  • 查看错误日志(底部面板)
  • 确保节点间的数据格式匹配
  • 使用表达式时检查字段名是否存在

总结要点

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

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


官方文档
n8n系列教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

undsky_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值