Skip to content

n8n 基础教程

本教程面向第一次接触 n8n 的用户,覆盖核心概念、界面要点、基础工作流搭建、数据处理与表达式、凭据管理、错误处理与运行方式等。读完后你可以独立搭建并运行一个基础自动化流程。

1. n8n 是什么

  • n8n 是一个可视化的自动化工作流工具,通过“节点(Node)”把不同服务/系统连接起来。
  • 典型用途:定时拉取数据、清洗与转换、写入数据库/表格、调用 API、发送通知等。

2. 核心概念

  • 工作流(Workflow):由多个节点组成的自动化流程。
  • 节点(Node):工作流中的一个步骤,例如 HTTP 请求、读取表格、发送邮件。
  • 触发器(Trigger):工作流的起点,比如定时触发、Webhook、表格变更等。
  • 执行(Execution):工作流的一次运行。
  • 凭据(Credentials):用于连接外部服务的密钥或账号信息。

3. 安装与启动(常见方式)

具体方式以官方文档为准,这里给出常见入门路径。

3.1 桌面版

  • 适合本地试用与学习,安装后直接打开应用即可创建工作流。

3.2 Docker 方式

bash
# 示例:启动并映射端口
# docker run -it --rm -p 5678:5678 n8nio/n8n

3.3 Node.js / npm 方式

bash
# 示例:全局安装并启动
# npm install -g n8n
# n8n

启动后通常访问:http://localhost:5678

4. 界面快速认识

  • 左侧:节点库、搜索节点。
  • 画布:拖拽节点并连线形成工作流。
  • 右侧面板:当前节点的配置项。
  • 顶部:执行、保存、启停等操作。

5. 第一个工作流:定时 + HTTP + 通知

目标:每 10 分钟请求一次公开 API,把结果发到某个通知渠道(例如邮件或聊天工具)。

5.1 步骤

  1. 添加 Schedule Trigger(或 Cron)节点,设置间隔 10 分钟。
  2. 添加 HTTP Request 节点,请求 API(例如天气、汇率或自建接口)。
  3. 添加 Set 节点,整理需要的字段(比如只保留 namevalue)。
  4. 添加 通知节点(Email、Telegram、Slack 等)。
  5. 连接节点并保存,点击执行测试。

5.2 数据流示意

Schedule Trigger → HTTP Request → Set → Notification

6. 数据与表达式

n8n 节点之间传递的是结构化 JSON 数据。

6.1 访问上一步数据

  • 在字段中使用表达式语法:<span v-pre>&#123;&#123; $json.fieldName &#125;&#125;</span>
  • 访问上一步节点:<span v-pre>&#123;&#123; $node["HTTP Request"].json &#125;&#125;</span>

6.2 常见用法

  • 拼接字符串:<span v-pre>&#123;&#123; $json.firstName + " " + $json.lastName &#125;&#125;</span>
  • 取数组第一个元素:<span v-pre>&#123;&#123; $json.items[0] &#125;&#125;</span>
  • 时间处理:可用 JavaScript 表达式进行简单计算

7. 常用节点类型

  • 触发器类:Schedule Trigger、Webhook Trigger
  • 数据处理类:Set、Function、IF、Switch、Merge
  • 数据存储类:MySQL、Postgres、Google Sheets
  • 通信通知类:Email、Slack、Telegram、Webhook

8. 凭据与安全

  • Credentials 中集中管理密钥。
  • 建议使用最小权限的 API Key。
  • 不要在节点中硬编码密钥,统一从 Credentials 引用。

9. 错误处理与重试

  • 节点可配置 Continue On Fail,避免因单条数据失败导致整体中断。
  • 使用 IF / Switch 节点分流错误数据。
  • 对关键节点增加重试机制或告警。

10. 执行模式与版本管理

  • 手动执行:测试阶段常用。
  • 激活工作流:上线后自动执行。
  • 版本管理:建议对工作流做导出备份或接入 Git 管理(如果环境支持)。

11. 常见问题排查

  • 没有数据传递:检查节点连线方向与上一步输出。
  • 表达式报错:检查字段名与数据结构,必要时先插入 Set 节点查看数据。
  • Webhook 不触发:确认地址正确、工作流已激活、网络可达。

12. 实战建议

  • 先用少量节点跑通流程,再逐步拆分与重构。
  • 复杂逻辑尽量拆成多个小工作流,用 Webhook 串联。
  • 关键节点添加日志或告警,便于运维。

13. 进阶方向

  • 自建 n8n + 数据库(Postgres)
  • 使用队列模式与多实例扩展
  • 自定义节点开发

如果你告诉我你的具体场景(比如“从表格读取数据并发邮件”),我可以给你一份更贴近业务的工作流步骤或模板。

坚持是一种品格