n8n 节点到底怎么用?一条工作流讲透

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

很多人第一次打开 n8n,会被满屏节点和连线吓住。其实它不像写程序,更像安排一支小型团队:有人负责按时开门,有人负责把资料拿回来,有人负责整理,有人负责判断轻重缓急,最后有人把结果送到你手上。所谓“工作流”,就是把这些角色按顺序排好,让它在合适的时候自己协作。

n8n 官方把节点分成两类:触发器负责让工作流开始,动作负责在流程中取数据、改数据、判断、通知或操作外部服务;凭据则是节点访问邮箱、表格、AI 或其他服务时使用的授权信息。n8n 对节点类型的说明 与其把节点死记硬背,不如先把它们放到一条真实的信息简报流程中理解。

总览图:像一条小型流水线的 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 节点:手动按下测试门铃

新手最常见的误会是:为什么我都连好节点了,工作流却没有自己运行?答案是,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 文档 还特别提醒,定时结果会受工作流或实例时区影响。

Schedule Trigger 节点:闹钟、日历与每天 8 点的自动执行

如果你做的是“每日新闻简报”“每天汇率提醒”“每周整理阅读清单”,这个节点就是整条流程的起点。最简单的配置是选择 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 就立即开始工作。你可以把它理解为工作流对外开放的一个小窗口。

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 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)就是整理台。它不负责去外面拿新资料,而是把手头这批资料重命名、删减、补充或重新排版,让下一站更容易使用。

Edit Fields 节点:把杂乱数据放到标签台重新命名和整理

假设 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 与 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 拆分清单,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,就不要用 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。它们都是把前面整理好的结果交出去。

通知节点:像素小人物把整理后的日报投递到 Telegram、邮箱、Notion 和 Obsidian

新手经常把通知节点放得太早:刚取到原始数据就直接发,最后收到的是几十行难读的 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 画布看成复杂的“代码流程图”。把它当成一张可以安排人的白板:触发器负责叫人上班,数据节点负责跑腿,整理节点负责收拾,条件节点负责判断,通知节点负责交付。你不需要一次学完所有节点;先用这套骨架做出一个每天真正为你节省几分钟的小流程,再慢慢把它扩展成自己的数字工作台。