前言
n8n的系统性学习,对各知识点地毯式学习🔍~
前面课程
定制n8n的AI老师,有AI老师制定学习大纲,参考之前的文档(本系列n8n学习大纲,也在这里):
【n8n】如何跟着AI学习n8n_01:定制AI老师-CSDN博客
第二课开始基础知识学习
【n8n】如何跟着AI学习n8n【02】:基础节点学习-CSDN博客
【n8n】如何跟着AI学习n8n【02.5】:第一部分总练习-CSDN博客
👌好了,下面的课程还是基础知识,苍天大厦,都是一砖一瓦堆砌而成,继续搬砖💪
🧭 Day 7:集成第三方 API ------ 使用 HTTP Request
节点
🧱 学习内容详解
1. HTTP Request
节点简介
HTTP Request
节点是 n8n 中与外部系统通信的核心节点,支持:
- 发送任意 HTTP 请求(GET / POST / PUT / DELETE 等)
- 设置请求地址(URL)
- 添加 Headers(如 Content-Type、Authorization)
- 设置 Query 参数(如
page=1
) - 设置 Body(如 JSON 数据)
- 使用表达式动态设置参数(如动态拼接 URL)
🧪 实战任务:调用 GitHub API 获取用户信息
✅ 任务目标:
创建一个流程,输入 CSDN 用户名id,使用 HTTP Request
节点调用页面信息。
Start → Set(设置 userid) → HTTP Request(GET /:userid)
🔧 操作步骤:
-
Start
节点 -
Set
节点:- 添加字段
username
,值设为octocat
(GitHub 示例用户)
- 添加字段
-
HTTP Request
节点:- Method:
GET
- URL:
https://blog.csdn.net/{``{ $input.item.json.userid}}
- Method:
-
code
节点:用于查看 API 返回结果
⚠️说明:
在浏览器,访问:https://blog.csdn.net/2501_90561511,会显示教主的CSDN博客:
set节点设置界面:

添加http request节点:

http request节点设置:

可通过浏览器控制台,查看后台发送的信息:

⚠️补充:
某些 API 服务(如 GitHub)必须 设置
User-Agent
,否则会返回403 Forbidden
错误,这时就可以在"send headers"中设置。
🧭 Day 8:Webhook 自动化触发流程
🧱 学习内容详解
1. 什么是 Webhook?
Webhook 是一种基于 HTTP 的回调机制 ,允许第三方服务将数据推送到 n8n 的指定 URL,从而触发自动化流程。
例如:
- 当某个表单一提交,Webhook 接收到数据后,触发发送 Slack 消息
- 当 GitHub 有新提交,Webhook 接收事件,触发 CI/CD 流程
2. n8n 中 Webhook 节点的作用
在 n8n 中,Webhook 节点会生成一个唯一的 URL,您可以:
- 将该 URL 配置到外部系统(如表单工具、GitHub、Zapier )
- Webhook 接收到数据后,流程开始执行后续节点
🧪 实战任务:构建 Webhook 触发流程
✅ 任务目标:
创建一个流程,使用 Webhook 接收外部 请求,然后提取数据并输出。
流程逻辑
Webhook → Set(提取数据)
🔧 操作步骤:
Step 1:添加 Webhook 节点
- 点击右下角 "+" 按钮
- 输入
webhook
,选择Webhook
节点

- 添加后,点击节点配置面板
配置:
HTTP Method
:Get
Path
:输入一个唯一路径,如/form-submission
🧠 Webhook 节点会生成一个 URL:http://localhost:5678/webhook-test/form-submission

点击"listen for test event",n8n会监听地址http://localhost:5678/webhook-test/form-submission:

拷贝这个监听地址,打开一个浏览器窗口,访问此地址,显示:

n8n收方的访问信息,作为输出内容,并结束监听:

修改webhood配置:
HTTP Method
:Post
post方式不能直接用浏览器,通过url访问,这里用curl方式,在dos窗口,输入如下命令:
curl -X POST http://localhost:5678/webhook-test/form-submission -H "Content-Type: application/json" -d "{\"name\": \"Alice\", \"email\": \"alice@example.com\"}"
执行成功,会返回信息:

webhook节点会接受到,curl传入的数据:

也可以使用测试工具网站Hoppscotch, Hoppscotch • Open source API development ecosystem,操作方便一点:

备注:
Hoppscotch使用的更多内容,参考文档
👌特别要好评一下👌
- 😄Hoppscotch在线可以测试本地地址,类似的工具postman网站,就只能用桌面程序测试,在线测试不了,教主对此感觉非常神奇,哈哈😄
Step 2:添加 Set
节点
- 点击 "+" 添加
Set
节点 - 连接 Webhook → Set
在 Set
节点中设置字段,例如:
Name | Value |
---|---|
name | {``{ $input.json.name }} (从 Webhook 数据中提取) |
{``{ $input.json.email }} |
Set节点设置及测试:
💡
$input.json
表示 Webhook 接收到的原始数据
Step 3:执行流程(触发 Webhook)
- 保存流程
- 点击 Webhook 节点右上角的 "Execute Workflow"(执行流程)
- n8n 将进入监听模式,等待外部请求

📌 提示:Webhook 流程不会自动执行,需要外部服务发送请求触发
Step 5:使用 Hoppscotch 或 curl 测试 Webhook
使用测试工具网站Hoppscotch, Hoppscotch • Open source API development ecosystem,测试:
-
Method:
POST
-
Body:
raw
→JSON
,输入:{
"name": "Alice",
"email": "alice@example.com"
}
运行界面:

🧭 Day 9:Webhook + Slack 自动通知流程
🧱 学习内容详解
1. Webhook 节点的作用
Webhook 是一种事件驱动的自动化触发方式,允许您接收外部系统的 HTTP 请求并触发流程执行。
常用于:
- 接收表单提交通知
- 接收 GitHub、GitLab、Notion、Google Form 签名
- 接收 API 回调
2. 通知 节点的作用
自动发送消息,是自动化通知流程的重要组成部分。
🧪 实战任务:构建 Webhook 触发 Slack 通知/SMTP通知流程
✅ 任务目标:
当某个外部系统(如表单)发送 POST 请求到 n8n 的 Webhook,n8n 接收后提取数据,并自动发送 Slack 消息通知。
流程结构如下:
Webhook → Set(提取 name 和 email) → Slack(发送通知)
🔧 操作步骤
在上一个练习的基础上,set节点后,增加下面节点。
Step :添加并配置 Slack 节点
📌Slack 是一款流行的企业协作和即时通讯平台,专为团队工作设计。它于2013年推出,已成为全球数百万团队使用的协作工具。
核心功能
频道(Channels) - 按项目、主题或团队组织的对话空间
- 公开频道:整个组织可见
- 私密频道:仅受邀成员可见
- 共享频道:与外部组织协作
即时消息 - 支持一对一或群组对话
文件共享 - 可直接上传和预览多种文件类型
应用集成 - 支持与数千种第三方工具(如Google Drive、Zoom、GitHub等)集成
搜索功能 - 强大的历史记录搜索能力
Slack 节点功能概述
Slack 节点允许用户与 Slack 平台进行交互。以下是关于 Slack 节点的详细介绍和相关知识。
Slack 节点在 n8n 中可以实现以下功能:
- 发送消息到 Slack 频道或用户
- 从 Slack 获取消息
- 响应 Slack 事件(如特定关键词触发)
- 与 Slack 的交互式组件(如按钮、菜单)交互
- 管理 Slack 频道、用户和工作空间
=====》》》但是,国内经常访问不了,下面就来尝试一下替代方案吧,对同胞们来讲,更实用~
✅ 替代方案 :使用 SMTP
节点发送邮件通知
📨 作用:
- 当流程触发时,自动发送一封邮件到您的邮箱
- 适合需要接收通知、记录流程触发信息的场景
🧱 配置邮件节点的前提条件:
您需要一个支持 SMTP 的邮箱服务,例如:
- Gmail
- QQ 邮箱
- 163 邮箱
- 自建邮件服务器(如 Mailgun、SendGrid)
📝 示例流程:
Webhook → Set(提取数据) → SMTP(发送邮件)
这里以QQ邮箱为例,需要首先设置邮箱支持SMTP,如何设置QQ邮箱支持,从程序发送邮件,请参考文档:
增加smtp节点:

然后选择"send an email"

进入设置:

使用smtp,需要授权凭证,这里新建一个,或者用之前配置好的,配置项如下:

保存后会验证有效性,选择凭证后,填入其他信息。
必填字段
- From Email : 发件人邮箱(必须与SMTP账户一致,如
123456789@qq.com
)。 - To Email : 收件人邮箱(如
recipient@example.com
)。 - Subject : 邮件标题(如
测试邮件
)。 - Email Body: 邮件正文(支持纯文本或HTML)。
可选功能
- 附件 :可在 Add File 上传或通过表达式引用文件路径。
- 抄送/密送 :在 CC/BCC 字段添加其他收件人。
设置示例:

html代码:
<h1>{{ $json.name }}申请注册!</h1>
<p>其邮箱是:<strong>{{ $json.email }}</strong></p>
点击"test step",可以查到发送过程,打开自己的邮箱,可以看到邮件信息:

🧭 Day 10:n8n 与 Google Sheets 集成
🧱 学习内容详解
1. Google Sheets
节点简介
Google Sheets
节点可以实现与 Google 表格的集成,支持以下操作:
- 读取数据(Get)
- 添加数据(Append)
- 更新数据(Update)
- 清除数据(Clear)
非常适合用于:
- 接收表单数据并写入表格
- 创建自动化报告
- 集成用户注册、订单、反馈等数据源
=====》》》很遗憾,国内访问不google,本节跳过,我们就把数据存在数据库里吧,比excel更强大~
⚠️备注:n8n中的excel 365,看起来也行,但注册账号太太麻烦,免费额度还很低,所以果断抛弃了🥱
🧭 Day 11:n8n 与数据库集成(MySQL示例)
🧱 学习内容详解
1. 数据库节点选择
n8n 支持主流关系型数据库,您可根据实际需求选择:
数据库类型 | 适用场景 | 节点名称 |
---|---|---|
PostgreSQL | 复杂查询、JSON 数据支持 | PostgreSQL |
MySQL | Web 应用常用数据库 | MySQL |
2. 配置数据库节点的前提条件
📌 连接信息准备
- 主机地址 :数据库服务器的 IP 或域名(如
localhost
或127.0.0.1
) - 端口 :默认 PostgreSQL 用
5432
,MySQL 用3306
- 用户名/密码:有读写权限的数据库账号
- 数据库名称 :目标数据库名(如
n8n_automation
)
🔒 安全建议
- 使用 SSH 隧道 或 VPN 连接生产数据库
- 为 n8n 创建专用数据库用户(最小权限原则)
🧪 实战任务:Webhook 数据写入数据库(mysql示例)
✅ 任务目标
构建一个完整流程:
- 接收 Webhook 提交的用户数据
- 使用
Function
节点清洗数据 - 将数据写入MySQL 数据库
流程结构:
Webhook → Set → Function(数据清洗)→ MySQL(Insert)
🔧 操作步骤(以 MySQL 为例)
Step 1:数据库准备
mysql的安装及数据库表的创建,参考文档:
【数据库】MySQL 详细安装与基础使用教程(8版本下载及安装)-CSDN博客
数据库及表信息:

Step 2:添加 Webhook
节点
- 方法:
POST
- Path:
/form-submission
Step 3:添加 Set
节点
提取字段:
<JSON>
{
"raw_name": "{{ $json.body.name }}",
"raw_email": "{{ $json.body.email }}"
}

Step 4:添加 Code节点
数据清洗脚本:
<JAVASCRIPT>
const cleanedData = {
name: $input.first().json.raw_name.toUpperCase().trim(),
email: $input.first().json.raw_email.toLowerCase().trim()
};
return [ { json: cleanedData } ];

Step 5:添加 MySQL
节点



凭证设置信息:

⚠️警告⚠️:
主机不能用127.0.0.1,或者localhost,必须用host.docker.internal,因n8n部署在docker的容器里,容器里的localhost是其容器内部的重装系统,其所在的主机,需要通过host.docker.internal访问,如果你的n8n不是这种情况,自行判断。
【Docker 容器内的应用(如n8n),访问不到外部主机的应用(如mysql)】相关文档请参考:
https://blog.csdn.net/2501_90561511/article/details/149812379
配置节点参数:

然后,查看数据库,就增加了数据:

step6:自行优化
上边mysql设置的id,是写的固定值,小伙伴们自行优化一下,在前边节点增加id字段值的增加,就更完美了。
结束语
今天就到这里,就到这里,已经加班好多分钟了,太投入了,小红花🌸🌸🌸