Skip to content

09 n8n 自动化工作流:从0到1(10节课入门大纲)

介绍

课程目标

本课程专为零基础学员设计。课程将从最基本的概念和安装讲起,通过10节课的“理论+实践”,带领学员掌握 n8n 的核心功能,最终能独立构建实用的自动化工作流,解决实际问题。

课程大纲

第一节课:课程介绍 - 什么是 n8n?

课程目标: 建立宏观认知。理解 n8n 是什么,能做什么,为什么我们要用它。 理论知识:

什么是自动化? 为什么要自动化?(告别重复劳动)

什么是 n8n? 它和 Zapier, IFTTT, 脚本有什么区别?(开源、强大、灵活)

n8n 核心三要素(高阶认知):

触发器 (Trigger): 工作流如何开始?(如:”每小时“,”收到消息时“)

节点 (Node): 它具体做了什么?(如:“读取数据“,”发送通知“)

数据流 (Data Flow): 信息如何传递?(JSON 数据)

能力展示: 展示1-2个酷炫的成品(如:RSS自动发通知、AI自动回复邮件),激发学员兴趣。 本节无实践: 纯概念课,确保学员在同一认知起跑线。

第二节课:环境准备 - 跑起你的 n8n

课程目标: 成功安装并启动 n8n,熟悉基本界面。 理论知识:

两种运行方式:

n8n Cloud (云版本): 优点(免维护、省事)、缺点(付费、国内访问可能慢)。

Self-Hosted (自托管): 优点(免费、数据私有、功能全)、缺点(需技术维护)。

(重点)本地安装:

Docker 简介: 为什么我们用 Docker?(环境隔离、一键启动)

提供一个最简的 docker-compose.yml 文件。

演示如何通过 docker-compose up -d 一键启动 n8n。 动手实验(环境安装):

目标: 所有学员都成功在本地(或云上)启动 n8n 并打开 Web 界面。

界面导览: 首次登录,快速介绍画布、节点面板、保存按钮、执行按钮。

第三节课:Hello World - 你的第一个工作流

课程目标: 建立“我能行”的信心,完成第一个最简单的工作流,理解“执行”的概念。 理论知识:

工作流 (Workflow) 和 节点 (Node) 的关系。

Start 节点: 所有工作流的起点(用于手动测试)。

Set 节点: 最常用的节点之一,用于设置、修改数据。

“执行” (Execute) 的概念:运行一次工作流,看看发生了什么。

Input / Output 面板: 如何查看节点的输入和输出。 动手实验(Hello World):

目标: 构建一个手动触发,并能输出“Hello, n8n”的工作流。

节点: Start (手动触发) -> Set 节点。

步骤:

在 Set 节点中,设置一个 string 类型的 message 字段,值为 "Hello, n8n"。

点击 "Execute Workflow"。

重点: 在 Set 节点的 Output 面板中,看到 { "message": "Hello, n8n" } 的 JSON 结果。

第四节课:核心灵魂(上) - 理解数据流 (JSON)

课程目标: 彻底理解 n8n 的数据“语言”——JSON。 理论知识:

n8n 的数据结构: 一切皆 JSON。

什么是 JSON? 键值对 (Key-Value Pairs) 的概念。

数据如何流动? 上一个节点的 Output (输出),会成为下一个节点的 Input (输入)。

数据包 (Items) 的概念: n8n 处理的是一个“项目数组” (Array of Items)。 动手实验(数据传递):

目标: 观察数据是如何从一个节点原封不动地流到下一个节点的。

节点: Start -> Set (设置A) -> Set (设置B) -> NoOp (空操作)。

步骤:

Set A:设置 { "name": "Alice", "level": 10 }。

执行后,点击 Set B,查看它的 Input 面板,确认看到了来自 Set A 的数据。

重点: 让学员理解,数据默认是“透传”和“累加”的。

第五节课:核心灵魂(下) - 使用表达式 (Expressions)

课程目标: 学会“读取”数据。这是 n8n 最核心的技能。 理论知识:

什么是表达式? ( 语法)

如何引用数据?

示例:从当前节点的输入中引用数据

text
{{ $json.key }}

示例:从任意历史节点中引用数据

text
{{ $node["NodeName"].json.key }}

表达式面板: 如何使用可视化面板点选数据。 动手实验(数据引用):

目标: 练习从不同节点、不同层级引用数据。

节点: Start -> Set (命名为 "用户信息") -> Set (命名为 "任务信息")。

步骤:

用户信息:设置 { "name": "Alice" }。

任务信息:设置 task_owner 字段,值为:

text
{{ $node["用户信息"].json.name }}

执行后,查看 任务信息 的 Output,确认 task_owner 变成了 "Alice"。

第六节课:自动运行 - 触发器 (Triggers)

课程目标: 学会如何让工作流自动开始,解放双手。 理论知识:

什么是触发器? 工作流的“发动机”。

两类触发器:

轮询 (Polling): 定时检查。(如:Schedule)

Webhook (即时): 被动等待通知。(如:Webhook)

激活 (Activate) 工作流: (重要!)只有激活的工作流才能被触发器自动运行。 动手实验(定时任务 & Webhook):

实验 A (定时): Schedule (每分钟) -> Set (设置一个时间戳)。激活工作流,查看执行日志 (Executions) 确认它在自动运行。

实验 B (Webhook): Webhook -> Set。复制 Webhook 的 Test URL,在浏览器中打开并添加查询参数(如 ?name=Bob)。在 Set 节点中,尝试获取 Bob 这个值:

text
{{ $json.query.name }}

第七节课:逻辑分支 - IF 节点

课程目标: 让工作流学会“思考”,根据不同条件执行不同路径。 理论知识:

线性流 vs 分支流。

IF 节点: 最简单的二元判断(True / False)。

Merge 节点: (可选) 如何将分支合并回主流程。 动手实验(Webhook 判断):

目标: 根据 Webhook 传入的 value 值,判断大小。

节点: Webhook -> IF -> Set (大) / Set (小)。

步骤:

Webhook 接收 query.value (如 ?value=10)。

IF 节点:设置条件:

text
{{ $json.query.value }} > 5

IF 的 True 出口连接 Set (大) (设置 result: "大于5")。

IF 的 False 出口连接 Set (小) (设置 result: "小于等于5")。

测试两次(value=10 和 value=3),观察工作流走了不同分支。

第八节课:连接世界 - HTTP Request 节点

课程目标: 掌握 n8n 的“万能钥匙”,学会从外部 API 获取数据。 理论知识:

什么是 API? (把它想象成一个“数据菜单”)。

HTTP Request 节点:

GET 方法:获取数据。

URL 和查询参数 (Query Parameters)。

如何阅读简单的 API 文档(以天气API为例)。 动手实验(获取天气/名言):

目标: 调用一个公开的 API,并提取返回的数据。

节点: Start -> HTTP Request -> Set。

步骤:

HTTP Request:请求一个公开 API (如 https://api.quotable.io/random 获取随机名言,或使用国内的天气API)。

执行后,查看 HTTP Request 的 Output,找到你需要的数据(如 content 和 author)。

Set 节点:提取数据,设置 名言:

text
{{ $node["HTTP Request"].json.content }}

第九节课:实战演练 - 打造 RSS 监控机器人

课程目标: 综合运用所学知识,构建第一个有用的工作流。 理论知识:

凭证 (Credentials) 管理: 如何安全地保存你的 API 密钥或 Webhook URL。

RSS Read 节点: 如何订阅一个 RSS 源。

WeCom (企业微信) / Telegram / Feishu 节点: 如何发送通知。 动手实验(RSS 更新提醒):

目标: 定时检查特定 RSS 源,如有新文章,则发送到企业微信(或 Telegram)。

节点: RSS Read (触发器) -> WeCom (或 Telegram / Feishu)。

步骤:

RSS Read:设置为定时触发(如每10分钟),填入一个 RSS 源 URL。

配置 WeCom 凭证(一个企业微信机器人 Webhook URL)。

WeCom 节点:设置 Content 字段,发送:

text
{{ $json.title }} - {{ $json.link }}

激活工作流,等待接收通知。

第十节课:高级课题 - 处理多项数据与后续

课程目标: 理解 n8n 处理“列表”的机制,并指明后续学习方向。 理论知识:

n8n 的隐式循环: 当一个节点输出多个 items 时,后续节点会对每个 item 都执行一次。

Split in Batches 节点: (简介) 如何显式地循环。

错误处理: (简介) Settings -> Continue on Fail。

Code 节点: (简介) n8n 的终极武器——写 JS 代码。 动手实验(批量处理):

目标: 观察 RSS Read (输出多项) 时,后续节点的执行情况。

节点: RSS Read -> Set (添加前缀)。

步骤:

RSS Read 执行后,查看 Output,确认它返回了 items 数组(比如10篇文章)。

Set 节点中,设置 newTitle 字段,值为:

text
[已读] {{ $json.title }}

查看 Set 节点的 Output,重点观察: 它也输出了 10 个 items,并且每个 item 都有了 newTitle。

总结: 课程回顾,以及后续学习路径(Code节点、错误处理、自定义节点)。

基于 MIT 许可发布