n8n 节点到底怎么用?一条工作流讲透
先看最终效果:每天早上 8 点,n8n 自动去一个公开接口取回信息;把复杂数据整理成一段读得懂的摘要;按“有没有重要内容”分成两条路;最后把结果发到你的邮箱、Telegram 或 Notion。你不需要先学编程,先学会看懂每一个节点像什么、负责哪一段工作就够了。

很多人第一次打开 n8n,会被满屏节点和连线吓住。其实它不像写程序,更像安排一支小型团队:有人负责按时开门,有人负责把资料拿回来,有人负责整理,有人负责判断轻重缓急,最后有人把结果送到你手上。所谓“工作流”,就是把这些角色按顺序排好,让它在合适的时候自己协作。
n8n 官方把节点分成两类:触发器负责让工作流开始,动作负责在流程中取数据、改数据、判断、通知或操作外部服务;凭据则是节点访问邮箱、表格、AI 或其他服务时使用的授权信息。n8n 对节点类型的说明 与其把节点死记硬背,不如先把它们放到一条真实的信息简报流程中理解。

先建立一张“节点地图”:一条工作流究竟由什么组成?
把一条自动化工作流想成一家小型日报社。触发器是早上拉开卷帘门的人;数据获取节点是外出采访的记者;整理节点是编辑台;判断节点是主编;通知节点是投递员。每个节点只做一件小事,但节点之间把上一站的结果传给下一站,最后就能完成一件原本需要你反复手动操作的任务。
| 日报社里的角色 | n8n 里的对应节点 | 它真正解决的问题 |
|---|---|---|
| 开门的人 | Manual Trigger、Schedule Trigger、Webhook | 什么时候开始工作 |
| 记者 | HTTP Request、RSS、Gmail、Google Sheets 等 | 去哪里拿数据 |
| 编辑台 | Edit Fields、表达式、Code | 把数据改成下一站看得懂的形状 |
| 主编 | If、Switch、Filter | 根据规则走不同路线 |
| 拼版员 | Merge、Aggregate、Split Out | 把多路数据合并、拆开或汇总 |
| 投递员 | Telegram、Gmail、Notion、Discord、Webhook Response | 把结果送出去或存起来 |
| 值班记录 | Executions | 这次到底跑了什么、哪里出错 |
后面你看到的复杂工作流,无非都是这几类角色的不同组合。先掌握它们,比一开始导入几十个陌生模板更稳。
第一个节点:Manual Trigger——先按一次“试运行”按钮
Manual Trigger(手动触发器)就是你第一次搭流程时最好的练习伙伴。它像测试用的门铃:你点一下“Execute Workflow”,流程才开始跑。它不会半夜自己执行,也不会突然向外部服务发一堆请求,非常适合检查每一个节点的输入和输出。

新手最常见的误会是:为什么我都连好节点了,工作流却没有自己运行?答案是,Manual Trigger 本来就只在你手动执行时工作。它的作用不是让流程长期自动化,而是让你能安全地观察流程。搭完一个节点就按一次执行,看到输出正确后再加下一个节点,这是最省时间的做法。
最小操作:新建工作流后,点击画布上的 Add first step,搜索 Manual Trigger,添加后不需要填写参数。右上角点击 Execute Workflow,它就会把一次执行机会交给下一个节点。
可以怎么扩展:任何自动化都可以先用 Manual Trigger 搭好,再换成 Schedule Trigger 或 Webhook。这样你调试时不怕定时任务反复触发,也不怕 Webhook 被外部请求误调用。
第二个节点:Schedule Trigger——让 n8n 像闹钟一样准时开工
当你不想每天手动按执行,就轮到 Schedule Trigger(定时触发器)。它像一个可编程闹钟:你告诉它“每天早上 8 点”“每周一下午 3 点”或“每 30 分钟”,它就按规则启动工作流。n8n 的定时触发器支持秒、分钟、小时、天、周、月与 Cron 表达式;但工作流必须保存并发布,定时任务才会真正运行。官方 Schedule Trigger 文档 还特别提醒,定时结果会受工作流或实例时区影响。

如果你做的是“每日新闻简报”“每天汇率提醒”“每周整理阅读清单”,这个节点就是整条流程的起点。最简单的配置是选择 Days,设为每 1 天,在 Trigger at Hour 选择 8,分钟填 0。这样它会在设定时区的每天 8:00 启动一次。
| 你希望它做什么 | 建议配置 | 适合的场景 |
|---|---|---|
| 每天早上发简报 | Days → 每 1 天 → 8:00 | 新闻、天气、待办提醒 |
| 每周整理一次 | Weeks → Monday → 9:00 | 周报、账单、资料归档 |
| 每 30 分钟检查一次 | Minutes → 每 30 分钟 | 价格、库存、订单状态 |
| 工作日才提醒 | Cron 或按周选择周一至周五 | 上班提醒、工作日报 |
常见错误:测试能跑、第二天却没跑。先检查三件事:工作流是否已发布;n8n 机器是否持续运行;工作流/实例时区是否设置正确。自托管 n8n 如果没有显式设置时区,可能使用默认时区,导致你以为的 8 点不是机器以为的 8 点。
可以怎么扩展:定时触发器后面接 RSS,可以做订阅简报;接 HTTP Request,可以做公开 API 数据巡检;接 Google Sheets,可以做每天自动汇总;接 AI 节点,可以将生数据改写成你喜欢的语气。
第三个节点:Webhook——给工作流装上一只“专属门铃”
定时任务是“到点自己开始”,而 Webhook(网页钩子) 是“有人按门铃才开始”。它会生成一个链接,外部服务、网页表单、手机快捷指令甚至你自己的脚本,把数据发到这个链接,n8n 就立即开始工作。你可以把它理解为工作流对外开放的一个小窗口。

例如,你在 iPhone 快捷指令里录完一句语音,快捷指令把文本提交到 Webhook;n8n 收到后再交给 AI 整理,最后写进 Obsidian。这就是你现有“语音转笔记”案例背后的启动方式。Webhook 还有一个非常重要的概念:测试地址和生产地址不是同一个。测试地址只在你点了 Listen for Test Event 或运行测试时暂时生效;发布工作流后,外部服务应该使用生产地址。n8n 官方 Webhook 文档 对两者区别有明确说明。
一个最简单的测试请求如下。请把 YOUR_N8N_DOMAIN 与路径换成你自己的实际值;测试地址通常带有 /webhook-test/,生产地址通常带有 /webhook/。
curl -X POST 'https://YOUR_N8N_DOMAIN/webhook-test/quick-note' \
-H 'Content-Type: application/json' \
-d '{"text":"今天想到一个可以写成文章的 n8n 选题"}'
安全提醒:公开 Webhook 不应该把链接当密码 。用于敏感业务时,请开启 Header Auth、Basic Auth 或 JWT,并在需要时设置 IP 白名单。不要把 API Key、账号密码直接放进请求正文或公开文章中。
可以怎么扩展:Webhook 可以接入网页表单、Notion Button、iOS 快捷指令、Telegram Bot、支付回调、设备状态回调。它是“让外部世界主动叫醒 n8n”的基础节点。
第四个节点:HTTP Request——不会写接口,也能让 n8n 去“跑腿”
HTTP Request(HTTP 请求)是最值得学的通用节点。它像一位会看地址、会带通行证的跑腿员:只要一个网站或服务提供 API,它就可以去请求数据、提交数据,或者调用一个动作。很多没有专用 n8n 节点的服务,最后都能通过 HTTP Request 连接起来。

你不用先理解全部 HTTP 知识。第一步只要掌握四个位置:Method 是你要“拿”还是“交”;URL 是要去哪;Authentication 是要不要出示门禁卡;Send Body 是要不要带一份表单。获取公开数据最常用 GET,向服务提交数据最常用 POST。
| 场景 | Method | 类比 | 典型用途 |
|---|---|---|---|
| 读取公开信息 | GET | 去公告栏抄一份通知 | 汇率、天气、公开数据、RSS 替代接口 |
| 提交一条内容 | POST | 把填写好的申请表交到窗口 | 创建笔记、发消息、写入数据库 |
| 修改一条内容 | PATCH / PUT | 把旧表单拿回来改一项 | 更新待办、更新客户状态 |
| 删除一条内容 | DELETE | 申请撤销一份记录 | 删除临时文件、清理测试数据 |
最小练习:在 Manual Trigger 后添加 HTTP Request,Method 选择 GET,URL 填一个你确认可信的公开 API 地址,点击 Execute step。先看 Output 面板返回的 JSON,不要急着把它发给 AI。理解“原始数据长什么样”,后面的整理才会有方向。
可以怎么扩展:你现有的汇率、新闻、资料检索流程,本质上都可以理解为“HTTP Request 去取资料”加上“后续节点整理资料”。以后想接任何小众工具,先找它有没有 API;有 API,就大概率能用这个节点接入。
第五个节点:Edit Fields——给一堆杂乱资料重新贴标签
取回来的数据往往很乱:字段名字很长、内容很深、还带着一堆你根本不需要的信息。Edit Fields(旧版本常被称为 Set)就是整理台。它不负责去外面拿新资料,而是把手头这批资料重命名、删减、补充或重新排版,让下一站更容易使用。

假设 HTTP Request 返回了几十个字段,但你只想保留标题、链接和发布时间。你可以在 Edit Fields 中建立三个新字段:title、url、publishedAt,然后从左边的输入数据里拖对应字段到右边。n8n 会自动写出表达式。表达式通常长得像这样:
{{ $json.title }}
它的意思不是“写一段代码”,而是“拿当前这条资料里的 title 字段”。官方将表达式定义为:让节点参数随着前面节点的数据动态变化的语法。表达式与数据处理的官方说明 也强调,复杂处理之前先让数据结构变得清楚,通常比直接写 Code 节点更适合新手。
| 你看到的问题 | Edit Fields 可以做什么 | 生活化理解 |
|---|---|---|
| 字段名称看不懂 | 改成自己能读懂的字段名 | 给收纳盒贴新标签 |
| 数据太多 | 只保留需要的字段 | 出门前只带必要物品 |
| 缺少一个固定说明 | 新增常量字段 | 每份文件都盖上同一枚章 |
| 想把多个字段拼成一句话 | 用表达式组合字段 | 把几张便签写成一条完整消息 |
可以怎么扩展:Edit Fields 是 AI 前最重要的“清洗台”。先把标题、正文、来源、日期整理好,再交给 AI 摘要,输出会更稳定,也更省 Token。
第六个节点:If 与 Switch——让工作流学会在岔路口做判断
只有一条直线的工作流很快就会不够用。你会遇到这样的需求:“只有出现重大新闻才提醒我”“金额大于 500 才写进预算表”“文本里含有‘紧急’才发 Telegram”。这时要用 If 或 Switch。

If 适合只有“是/否”两条路的判断。它像一道门:条件成立走 true,不成立走 false。例如,判断一条新闻标题是否包含“发布会”;包含就交给 AI 深度摘要,不包含就只存档。
Value 1:{{ $json.title }}
Operation:contains
Value 2:发布会
Switch 适合三条以上路线。它像快递分拣柜:科技新闻发到“科技”频道,财经新闻发到“财经”频道,其他内容发到“稍后阅读”。当你的规则从“要不要做”变成“分别怎么做”,就该用 Switch。
新手容易犯的错:只连接了true分支,忘了处理false分支。这样不符合条件的数据会安静消失。刚开始可以先在false后接一个简单通知或日志节点,确认哪些数据被挡住了,再决定是否真的丢弃。
可以怎么扩展:If 可以做“重复内容不再发送”“有附件才继续处理”“AI 评分超过阈值才发布”;Switch 可以做“按语言、项目、客户、内容类型走不同模板”。
第七个节点:Merge、Aggregate 与 Split Out——处理“多份资料”而不是“一条资料”
现实任务常常不止一条数据。你可能从三个网站拿到新闻,或者一个接口一次返回 50 条记录。此时最容易混乱的不是节点本身,而是你不知道数据现在是一条、十条还是一组列表。Split Out、Merge、Aggregate 就是管理队伍人数的节点。

Split Out 像把一箱混在一起的 50 封信拆成 50 封单独处理;每一条都可以分别过滤、翻译、评分。Merge 像把两位记者的稿件放到同一张编辑台上;它适合将不同来源的数据合并。Aggregate 则像把一天里散落的几十张便签订成一份日报;它适合在发邮件或交给 AI 前,把多条结果汇总为一个列表或一段材料。
| 节点 | 它改变的是什么 | 典型应用 |
|---|---|---|
| Split Out | 一组列表 → 多条单独资料 | 逐条处理 RSS、订单、文件列表 |
| Merge | 两路资料 → 一起进入后续步骤 | 合并天气与日程、合并标题与正文 |
| Aggregate | 多条资料 → 一份汇总资料 | 每日简报、每周账单、批量 AI 摘要 |
| Remove Duplicates | 相似/相同资料 → 留一份 | 避免每天重复推送相同新闻 |
可以怎么扩展:你的新闻检索案例可以自然改成:多个来源 → Merge → Remove Duplicates → AI 评分 → Aggregate → Telegram 日报。这也是为什么先学数据结构比先学 AI 更重要。
第八个节点:Code——当现成积木不够时,才拿出小工具箱
Code 节点允许你写 JavaScript 或 Python 来做复杂转换。它像编辑台旁边的小工具箱:大多数时候用不着,但当你需要特殊格式、复杂计算或一次处理多个字段时,它能补上现成节点做不到的部分。

不过对小白来说,最重要的原则是:先不用 Code,就不要用 Code。能用 Edit Fields、If、Merge、Remove Duplicates 完成的事,就先用可视化节点。因为可视化节点更容易检查、更容易交给未来的自己维护。Code 节点适合最后再学,而不是一开始就拿它解决所有问题。
如果你确实需要一个最小示例,下面这段代码会给当前每一条数据增加一个“已处理时间”字段:
return items.map((item) => {
item.json.processedAt = new Date().toISOString();
return item;
});
不要直接把网上复杂代码整段复制进自己的工作流。先知道输入是什么、想要输出什么,再一点点增加逻辑。任何代码节点都应该配一个 Execute Step 测试,看清 Output 以后再接到下一站。
第九个节点:通知节点——别让工作流做完事却没人知道
工作流最后一站通常是通知或保存。这不是一个固定节点,而是一类节点:Telegram、Gmail、Discord、Notion、Google Sheets、Obsidian/WebDAV,甚至 Respond to Webhook。它们都是把前面整理好的结果交出去。

新手经常把通知节点放得太早:刚取到原始数据就直接发,最后收到的是几十行难读的 JSON。更舒服的顺序通常是:取数据 → 整理字段 → 判断/去重 → 汇总 → 再通知。这样你收到的是一份可以直接阅读的结果,而不是工作流内部的原始零件。
| 你想得到什么 | 适合的最后一站 | 为什么 |
|---|---|---|
| 立刻在手机看到提醒 | Telegram、Discord、企业微信等 | 到达快、适合短消息 |
| 留下一份长期知识库 | Notion、Obsidian、Google Drive | 方便以后搜索与整理 |
| 做表格记录 | Google Sheets、Airtable、数据库 | 适合持续累积的数据 |
| 给外部系统一个结果 | Respond to Webhook、HTTP Request | 让 n8n 成为一个小型接口 |
把九类节点连起来:从“看懂”到“做出第一个可用工作流”
现在回到开头的每日信息简报。你可以用这一条最容易理解的路线练习:
Schedule Trigger
→ HTTP Request
→ Edit Fields
→ If
→ Aggregate
→ Telegram / Gmail / Notion
它对应的生活语言是:闹钟响了 → 记者去取资料 → 编辑整理标题和链接 → 主编筛掉不重要内容 → 拼成一份日报 → 投递到你常用的地方。

先把这条路线跑通,不需要一开始就接 AI。等你能稳定收到一份结构清楚的日报,再在 Aggregate 和通知节点之间加一个 AI 节点,让它做“提炼三条重点”“按我的语气改写”“标出需要立刻看的内容”。这样 AI 扮演的是编辑助手,而不是替你掩盖前面数据混乱的问题。
从基础节点继续往外扩展:你已经可以做什么?
当你会触发、取数、整理、判断、汇总和通知后,n8n 已经不只是“玩具”。下面这些工作流都可以由同一套基础节点扩展出来。
| 你现在拥有的节点能力 | 可以扩展出的工作流 | 最值得先加的一项 |
|---|---|---|
| Schedule + HTTP Request + Telegram | 每日汇率、天气、价格、新闻提醒 | Remove Duplicates,避免重复发送 |
| Webhook + Edit Fields + Notion | 表单收集、快捷指令记录、灵感箱 | If,过滤空内容 |
| Gmail/Telegram + If + Sheets | 邮件分类、账单登记、咨询分流 | 标签规则与人工确认 |
| RSS + Split Out + AI + Aggregate | 多源内容筛选、每日阅读简报 | 来源链接和去重逻辑 |
| Webhook + AI + Obsidian | 语音笔记整理、会议纪要、选题扩写 | 固定输出模板 |
| 任意流程 + Error Trigger/通知 | 失败报警、执行监控 | 明确谁需要收到提醒 |
你会发现,新的工作流并不是“再学一百个节点”,而是把已经学会的几类节点换成不同的资料来源和去向。真正的进步是:看到一个重复动作时,能先问自己四个问题——它从哪里开始?资料从哪里来?中间要怎么判断和整理?最后要送到哪里?答案写出来,工作流骨架就已经出现了。
动手前的最后检查:别让第一条工作流输在小地方
| 检查项目 | 为什么要检查 |
|---|---|
| 每加一个节点都先 Execute Step | 立刻看见输入输出,不让错误积累到最后 |
| 凭据只存到 Credentials | 不把 API Key 写在节点、截图或导出的工作流里 |
| 定时任务发布前先确认时区 | 避免“我的 8 点”与服务器的 8 点不是同一时间 |
| Webhook 分清 Test 与 Production URL | 测试地址不能代替正式运行地址 |
| If 的 true 和 false 都想清楚 | 避免数据悄悄走丢 |
| 先把原始数据整理好再交给 AI | 输出更稳定,成本也更可控 |
| 每条长期任务都留一个失败提醒 | 自动化不是永远不出错,而是出错时你能第一时间知道 |
从今天起,不必再把 n8n 画布看成复杂的“代码流程图”。把它当成一张可以安排人的白板:触发器负责叫人上班,数据节点负责跑腿,整理节点负责收拾,条件节点负责判断,通知节点负责交付。你不需要一次学完所有节点;先用这套骨架做出一个每天真正为你节省几分钟的小流程,再慢慢把它扩展成自己的数字工作台。