当我们刚开始学习 n8n,可能会创建这样的一个最基础的工作流:
Webhook → Set → Email
它的作用非常简单:
只要有人提交一个信息(比如姓名、电话),就自动发邮件。
看上去很基础,但只要你认真看这一条链,你就会发现:
为什么 Set 节点必不可少。
一、先看这个超级基础的工作流
我们就通过这个简单实际场景来理解 Set 节点是如何工作的。
1.Webhook 节点:接收用户提交的数据 返回的数据长这样:
{
"id": "CUST12345",
"name": "王小明",
"phone": "13888888888",
"timestamp": "2025-01-15 09:20:11",
"user_email": "xiaoming@example.com"
}
2.Set 节点:整理数据、修正格式、生成新字段
3.Email 节点:将整理后的内容发给销售人员
这个流程做的事情很简单:
有人提交线索 → 整理 → 发邮件
但在真实使用中,我们会遇到这样的问题:
来自 Webhook 的数据通常不一定符合我们期望的格式。
比如我们直接把上面那段内容丢给Emali,那一定很乱,一点都不适合直接给人看。
我们希望丢给Email的是这样一段内容:
{
"客户姓名": "王小明",
"联系电话": "138888888888",
"email": "xiaoming@example.com",
"提交时间": "2025年1月15日 09:20"
}
对比下我们会发现差异:①id值这个字段我们并不需要。②字段的命名需要改成我们期望的样式 ③时间字段,我们希望展示为2025年1月15日 09:20而不是2025-01-15 09:20:11
那么这个时候,就需要set节点了。
二、说说什么是 Set 节点?
来一段概念
Edit Fields (Set) 节点(简称 Set 节点)是 n8n 工作流中负责数据清洗、整理和加工的核心工具。
想象一下,你从不同的信息来源获取了数据,它们就像散装的原材料。Set 节点的作用就是充当一个“数据加工厂”,确保流向下一个节点的数据是规范、完整且符合要求的。
核心重要性: 它解决了数据在不同系统间传输时的格式不兼容问题。
三、Set 节点在这里做了什么
回到我们的案例
假设我们希望最终生成的数据是这样:
{
"客户姓名": "王小明",
"联系电话": "138888888888",
"email": "xiaoming@example.com",
"提交时间": "2025年1月15日 09:20"
}
这些内容无法直接从 Webhook 中获得,必须加工
我们需要在 Set 节点中进行以下 4 个关键操作:
| 序号 | 目标 | Set 节点操作 |
|---|---|---|
| 1. 清理数据 | 移除不需要的内部ID。 | 移除字段 |
| 2. 规范命名 | 比如将 name 改为 客户姓名。 | 重命名字段 |
| 3. 修改字段格式 | 将2025年1月15日 09:20 改为 2025-01-15 09:20:11 | 修改字段格式 |
如何操作: 我们把上一个webhook节点output出来的字段,拖拽到set里面

然后在字段这里修改名称
或者对字段进行加工(比如修改日期展示格式)
如果不需要的字段,我们就不用拖拽到里面。 比如id字段,我们并不需要

配置完成并运行之后,set节点就会输出我们想要的格式了。

[
{
"客户姓名": "王小明",
"联系电话": "13888888888",
"email": "xiaoming@example.com",
"提交时间": "2025年1月15日 09:20"
}
]
通过set节点,我们就把数据进行了一遍加工,变成了更符合我们需求的样子。
通过这个例子,我们已经看懂 Set 节点的基本用途了
它在这个简单流程里做了三件事:
① 新增字段(给下游需要的字段)
② 修改字段内容(格式更友好)
③ 删除不需要的字段(让数据更干净)
这个就是set节点最基础的作用和用法了。更高级的用法,我们后面再开一篇详细来说。
📋 这套节点配置示例,我整理成模板了
跟着上面步骤搭要花点时间。想直接拿现成的改,加我微信备注「字段」,我发你。
🤔 卡在某一步了?
最容易卡的是表达式语法和字段引用方式。如果你照着做没跑通,或者你们公司情况不太一样,可以找我聊聊,我免费帮你看看怎么调。不合适我也会直说。
扫码加我,备注「字段」领模板
想看更多这类方案,我都整理在 吨师傅工具箱 里了:客户管理、进销存、工单报修……按场景分好类,可以直接抄。


