n8n 教程:无代码创建工作流
一个 n8n 工作流由节点组成:一个触发器启动它(Webhook、时间表、应用内事件),动作节点执行操作,逻辑节点分支。入门可使用云端版本;如果想把数据保留在内部,请以 Docker 容器启动 n8n 并设置 WEBHOOK_URL 以及 Basic Auth,否则传入的 Webhook 无法到达该实例。不写代码也能完成大部分工作:可以通过双大括号中的表达式从前一个节点提取值,使用 IF 做分支,用 Split In Batches 处理大批量数据,通过 Retry 和一个 Error-Trigger 处理错误。只有在需要进行没有现成节点的变换时才需要 JavaScript。

Inhaltsverzeichnis
n8n 并不是面向开发者的工具,尽管文档可能听起来像是。它是为公司中那些本来就会写 Excel 公式的人准备的工具:财务控制人员、总经理助理、带有分析表格的车间主管。会写 SVERWEIS 公式的人也能搭建 n8n 工作流。下面第三个示例——每周报告——正是这样的案例,视具体情况每周可节省数小时工作时间。
本教程正是为这样的人写的。无需 Docker 环境折腾,无需 TypeScript 自定义节点。集中讲解:如何部署 n8n、在 45 分钟内搭建出第一个可用工作流,以及在什么情况下您应该真正找开发人员协助。
什么是 n8n?
n8n 是一个工作流自动化平台,您可以用它连接应用并自动化流程——无需编程。其特点:
- Open Source:代码可查看并可定制
- Self-Hosting möglich:对您的数据拥有完全控制权
- Fair Code Lizenz:大多数使用场景免费
- Visueller Editor:通过拖放创建工作流
- 400+ Integrationen:从 Google 到 GitHub,从 Slack 到 Shopify
n8n vs. Zapier vs. Make
| Feature | n8n | Zapier | Make |
|---|---|---|---|
| Preis | Kostenlos (Self-Host) / ab 20€ (Cloud) | Ab 20$/Monat | Ab 9€/Monat |
| Self-Hosting | Ja | Nein | Nein |
| Open Source | Ja | Nein | Nein |
| Integrationen | 400+ | 6.000+ | 1.500+ |
| Komplexe Logik | Sehr gut | Begrenzt | Gut |
| Lernkurve | Mittel | Niedrig | Mittel |
| DSGVO | Optimal (Self-Host) | Problematisch | Gut |
n8n ist ideal für:
- 有数据保护要求的公司
- 有一定技术能力的团队
- 需要复杂分支的工作流
- 注重预算的自动化方案
安装并配置 n8n
方案 1:n8n Cloud(最简单的入门方式)
- 打开 n8n.io
- 点击 “Start Free”
- 注册账号
- 完成 - 您可以立即开始使用
Preis: 14 天免费,然后从 20€/月 起
方案 2:使用 Docker 自行托管(推荐)
前提:已安装 Docker
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
然后在浏览器中打开 http://localhost:5678。
生产环境使用 Docker Compose:
version: '3.8'
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=sicheres_passwort
- WEBHOOK_URL=https://n8n.ihre-domain.de/
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
方案 3:通过 npm 安装
npm install n8n -g
n8n start
理解 n8n 用户界面
工作流编辑器
登录后您会看到空白的工作流编辑器。主要元素:
- Canvas:放置节点的工作区
- Node-Panel(右侧):所有可用的集成
- Ausführen-Button(上方):手动触发工作流
- Speichern(上方):保存工作流
- Aktivieren(上方):启用以便自动运行
什么是 Nodes?
节点是工作流的构建模块。每个节点都有特定功能:
- Trigger-Nodes:触发工作流(例如 Webhook、定时、邮件到达)
- Action-Nodes:执行动作(例如 发送邮件、保存数据)
- Logic-Nodes:控制流程(例如 If/Else、Switch、Merge)
您的第一个工作流:当 Notion 新建页面时发送邮件
目标: 当 Notion 中创建新页面时,向您发送一封邮件。
步骤 1:添加触发器
- 点击 Canvas 上的 +
- 搜索 “Notion”
- 选择 “Notion Trigger”
- 配置连接:
- 点击 “Create New Credential”
- 按照 Notion API 的说明完成设置
- 选择:
- Event:Page Added to Database
- Database:您要监控的数据库
步骤 2:添加发送邮件节点
- 在 Notion 节点右侧点击 +
- 搜索 “Send Email”
- 配置:
- From Email: ihre@email.de
- To Email: ihre@email.de
- Subject:Neue Notion-Seite: {{ $json.properties.Name.title[0].plain_text }}
- Text:Es wurde eine neue Seite erstellt.
步骤 3:启用工作流
- 点击 Speichern
- 点击 Aktivieren(右上角开关)
- 工作流现在会自动运行!
工作流示例 2:线索通知
场景: 网站表单提交 → 发送 Slack 通知 + 在 CRM 建档
节点列表
- Webhook(Trigger):接收表单数据
- HubSpot:创建联系人
- Slack:在团队频道发送消息
操作步骤
- Webhook 配置:
- 节点:"Webhook"
- HTTP Method:POST
- Path:lead-form
- 复制 Webhook URL
- 在 HubSpot 创建联系人:
- 节点:"HubSpot"
- Operation:Create/Update Contact
- Email:{{ $json.body.email }}
- First Name:{{ $json.body.firstname }}
- Last Name:{{ $json.body.lastname }}
- 发送 Slack 消息:
- 节点:"Slack"
- Channel:#sales
- Text:
Neuer Lead!
Name: {{ $json.body.firstname }} {{ $json.body.lastname }}
E-Mail: {{ $json.body.email }}
- 将 Webhook URL 写入表单的 Action-URL
工作流示例 3:自动报告
场景: 每周一 9:00 → 从 Google Sheets 读取数据 → 通过邮件发送
节点列表
- Schedule Trigger:周一 9:00
- Google Sheets:读取数据
- Function:格式化数据
- Send Email:发送报告
配置细节
- Schedule Trigger:
- Trigger Times:Add Cron Time
- Mode:Every Week
- Day of Week:Monday
- Hour:9
- Minute:0
- Google Sheets:
- Operation:Read Rows
- Spreadsheet:您的表格
- Range:A:E(或您需要的列范围)
- Function(JavaScript):
// 数据格式化为表格
const rows = items.map(item => item.json);
let table = "| Name | Umsatz | Status |\n|---|---|---|\n";
rows.forEach(row => {
table += `| ${row.Name} | ${row.Umsatz}€ | ${row.Status} |\n`;
});
return [{ json: { report: table } }];
- Send Email:
- Subject:Wöchentlicher Report - {{ $now.format('DD.MM.YYYY') }}
- HTML:{{ $json.report }}
n8n 的重要概念
Expressions(表达式)
表达式用于生成动态值。语法:{{ }}
示例:
{{ $json.email }}- 来自前一个节点的值{{ $now }}- 当前日期/时间{{ $json.name.toUpperCase() }}- 使用 JavaScript 函数{{ $node["Google Sheets"].json.data }}- 来自特定节点的数据
使用 IF 分支
IF 节点用于条件逻辑:
- 添加一个 "IF" 节点
- 条件示例:
{{ $json.status }}equals "urgent" - True 路径:执行某个动作
- False 路径:执行另一个动作
使用 Split In Batches 处理循环
针对大量数据:
- 添加 "Split In Batches" 节点
- 设置 Batch Size(例如 10)
- 循环直到处理完所有批次
错误处理
Error Trigger:当其他工作流失败时触发该工作流
Retry on Fail:对单个节点启用
- 打开节点设置
- "On Error" → "Continue" 或 "Retry"
高级技巧
为外部事件创建 Webhooks
Webhook 是可以被外部服务调用的 URL。
创建 Webhook:
- 将 Webhook 节点设为触发器
- 选择 HTTP Method(GET、POST 等)
- 定义 Path(例如 /customer-update)
- 复制 URL 并在外部服务中配置
测试 Webhook:
- 在浏览器中直接访问 GET Webhook
- 用 Postman 测试 POST Webhook
- 在 n8n 中使用 "Listen for test event"
使用 HTTP Request 调用无原生集成的 API
对于没有原生 n8n 集成的服务:
- 添加 "HTTP Request" 节点
- 配置:
- Method:GET、POST、PUT、DELETE
- URL:API 端点
- Authentication:API Key、OAuth 等
- Body:JSON 数据
示例:调用未知 API
{
"method": "POST",
"url": "https://api.example.com/data",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
},
"body": {
"name": "{{ $json.name }}",
"email": "{{ $json.email }}"
}
}
当需要复杂逻辑时使用 Code-Node
当可视化节点不够用时,可以使用 JavaScript:
// 处理所有 Items
const results = [];
for (const item of items) {
const data = item.json;
// 计算
const total = data.price * data.quantity;
const tax = total * 0.19;
results.push({
json: {
...data,
total,
tax,
gross: total + tax
}
});
}
return results;
n8n 最佳实践
1. 保持工作流模块化
- 一个工作流 = 一项任务
- 将复杂流程拆分为多个工作流
- 通过 Webhook 串联工作流
2. 加入错误处理
- 对关键工作流设置 Error Trigger
- 失败时通知(Slack、邮件)
- 对不稳定的 API 使用重试逻辑
3. 安全管理凭据
- 不要在工作流中直接写 API Key
- 使用 n8n 的 Credentials 功能
- Self-Hosting 时使用环境变量
4. 在启用前测试
- 使用 "Execute Workflow" 进行测试
- 使用测试数据
- 检查每个节点的输出
5. 做好文档
- 为工作流起有意义的名称
- 使用 Sticky Notes 解释关键点
- 注释复杂的 Expressions
常见问题与解决方法
问题:Webhook 无法到达 n8n
可能原因:
- n8n 无法被公网访问
- 防火墙拦截
- 缺少 HTTPS
解决方法:
- 测试时使用隧道服务(ngrok)
- 配置反向代理(nginx、Traefik)
- 设置 WEBHOOK_URL 环境变量
问题:达到 API 限额
解决方法:
- 使用 Split In Batches
- 在请求间加 Wait 节点
- 在 HTTP Request 节点中设置速率限制
问题:数据格式不正确
解决方法:
- 使用 Set 节点重构数据
- 用 Function 节点做复杂转换
- 使用 Date & Time 节点处理日期格式
团队使用 n8n
协同工作(n8n Cloud)
- 一个 Workspace 支持多个用户
- 共享工作流
- 所有人可见执行历史
团队自托管
- 生产环境建议使用 PostgreSQL 而非 SQLite
- 高负载时启用 Queue Mode
- 使用多个 Worker 实现扩展
结论
n8n 是一款强大的工作流自动化工具——尤其适合重视数据保护或需要最大灵活性的场景。相比 Zapier 学习曲线略陡,但可实现的功能也更强大。
您的下一步:
- 选择 n8n Cloud 或 本地安装
- 搭建第一个简单工作流(例如 RSS → 邮件)
- 逐步构建更复杂的流程
- 自托管时搭建生产环境
Weiterführende Ressourcen:
- n8n vs. Make - 详细比较
- Beste No-Code Tools - n8n 的替代方案
您想在公司内部使用 n8n 吗? 我们提供设置、工作流开发和托管支持——让您专注于流程优化。
Tool-Tipp: 我们的免费 Automatisierungs-Check 可以在几分钟内判断某个流程是否适合自动化,包含 ROI 估算和工具推荐。