n8n基础入门

学习n8n工作流自动化的基础知识,从安装部署到创建第一个工作流

实战:每日新闻推送工作流

从零开始创建一个完整的新闻抓取和推送工作流,巩固所学知识

实战:第一个 n8n 工作流 - 每日新闻推送

本教程将带你从零开始创建一个完整的 n8n 工作流,实现从多个 RSS 源获取新闻资讯,聚合后自动推送到飞书群聊机器人。

通过这个实战项目,你将掌握:

  • RSS Feed Read 节点的使用
  • 数据格式化和字段转换
  • 多数据流的聚合处理
  • HTTP Request 节点的配置
  • 定时触发器的设置

最终达到的效果如下图

06-2.png

工作流概述

工作流功能:

  • 每天定时从多个 RSS 源获取新闻资讯
  • 统一格式化新闻数据(保留标题、链接、发布时间、内容)
  • 将所有新闻数据聚合在一起
  • 推送到飞书群聊机器人

涉及节点:

  1. Schedule Trigger(定时触发器)
  2. RSS Feed Read(RSS 读取节点)
  3. Set(字段格式化节点)
  4. Merge(数据聚合节点)
  5. Limit(限制节点)
  6. HTTP Request(飞书机器人推送)

01 创建定时触发器

首先创建一个定时触发器,让工作流每天固定时间自动执行。

Step 1: 添加触发器节点

点击节点面板中的 + 按钮,搜索并选择 Schedule Trigger 节点。

06-3.png

Step 2: 设置触发时间

在节点配置面板中设置触发规则:

  • 触发时间: 每天晚上 22:15
  • 触发方式: Cron 表达式或界面选择

配置示例:

06-4.png

Step 3: 测试触发器

点击 Test Step 按钮测试节点是否正常工作。

02 获取 RSS 新闻数据

从 RSS 订阅源获取新闻资讯。我们将使用三个不同的新闻源作为示例。

Step 1: 添加 RSS Feed Read 节点

点击定时触发器节点右侧的 + 按钮,添加 RSS Feed Read 节点。

06-5.png

Step 2: 配置 RSS 源

在节点配置中填写 RSS 订阅源地址:

06-6.png

第一个 RSS 源:

URL: https://techcrunch.com/feed/

第二个 RSS 源:

URL: https://www.theverge.com/rss/index.xml

第三个 RSS 源:

URL: https://feeds.arstechnica.com/arstechnica/index

Step 3: 试运行获取结果

点击 Test Step 按钮,执行节点并查看获取到的新闻数据。

你会看到 RSS 返回的数据包含以下字段:

  • title: 新闻标题
  • link: 新闻链接
  • pubDate: 发布时间
  • content: 新闻内容
  • guid: 唯一标识符

06-7.png

03 数据转换 - 属性编辑节点

RSS 获取到的数据包含很多字段,我们只需要保留:标题、链接、发布时间、内容。使用 Set 节点进行字段格式化。

Step 1: 增加节点

在每个 RSS Feed Read 节点后添加一个 Set 节点。

Step 2: 设置过滤的字段

06-8.png

Set 节点配置中,添加以下字段:

字段 1 - 标题:

Name: title
Value: {{ $json.title }}

字段 2 - 链接:

Name: link
Value: {{ $json.link }}

字段 3 - 发布时间:

Name: pubDate
Value: {{ $json.pubDate }}

字段 4 - 内容:

Name: content
Value: {{ $json.content }}

这样我们就统一了数据结构,每个新闻项都只包含这四个字段。

需要为每个 RSS 源都配置一个 Set 节点,共三个节点。

04 聚合所有的新闻数据

现在我们有三个不同的数据流,需要将它们聚合在一起。

Step 1: 创建数据聚合节点

添加一个 Merge 节点,将三个数据流合并。

Step 2: 配置聚合操作

Merge 节点中:

  • 模式: Append
  • Number of Inputs: 3(对应三个 RSS 源)

将三个 Set 节点的输出都连接到这个 Merge 节点的输入端口。

连接顺序:

  • Set 节点 1 → Merge 输入 1
  • Set 节点 2 → Merge 输入 2
  • Set 节点 3 → Merge 输入 3

05 限制新闻数量

为了避免一次性推送太多新闻,添加一个 Limit 节点限制数量。

配置:

  • Max Items: 5(只推送前 5 条新闻)

06 飞书机器人推送

飞书提供群聊机器人功能,可以通过 WebHook 直接发送 HTTP 请求推送消息。

Step 1: 获取飞书机器人 WebHook URL

  1. 打开飞书群聊
  2. 点击群设置 → 群机器人 → 添加机器人
  3. 创建自定义机器人
  4. 复制 WebHook URL

Step 2: 添加 HTTP Request 节点

Limit 节点后添加 HTTP Request 节点。

Step 3: 配置飞书推送信息

在 HTTP Request 节点中配置:

基础配置:

Method: POST
URL: [填入从飞书群中获取到的机器人 WebHook URL]

Body 配置:

Content Type: JSON
Body:
{
  "msg_type": "text",
  "content": {
    "text": "标题:{{ $json.title }}\n原文链接:{{ $json.link }}\n发布时间:{{ $json.pubDate }}\n内容:{{ $json.content }}"
  }
}

批处理配置:

Batch Size: 1

这样每条新闻会单独发送一条消息到飞书群。

07 完整工作流结构

完成后的工作流结构如下:

06-1.png

08 测试工作流

手动测试

  1. 点击工作流左上角的 Execute Workflow 按钮
  2. 观察每个节点的执行状态
  3. 检查飞书群是否收到新闻推送

查看执行日志

点击每个节点可以查看:

  • 输入数据
  • 输出数据
  • 执行时间
  • 错误信息(如果有)

09 常见问题

RSS 源无法访问

问题: RSS Feed Read 节点报错

解决方案:

  • 检查 RSS URL 是否正确
  • 尝试使用其他 RSS 源
  • 检查网络连接

飞书推送失败

问题: HTTP Request 节点返回错误

解决方案:

  • 检查 WebHook URL 是否正确
  • 确认飞书机器人是否被禁用
  • 检查 JSON 格式是否正确

数据格式错误

问题: Set 节点字段映射失败

解决方案:

  • 检查字段名是否正确
  • 使用 Test Step 查看实际数据结构
  • 确保 JSON 表达式语法正确

恭喜!你已经成功创建了第一个 n8n 工作流。

通过这个实战项目,你学会了:

  • ✅ 使用 Schedule Trigger 创建定时任务
  • ✅ 使用 RSS Feed Read 获取数据
  • ✅ 使用 Set 节点格式化数据
  • ✅ 使用 Merge 节点聚合多数据流
  • ✅ 使用 HTTP Request 调用外部 API
  • ✅ 完整的数据处理流程

下一步

现在你可以:

  1. 尝试更换不同的 RSS 源
  2. 推送到其他平台(钉钉、Slack、Telegram)
  3. 添加 AI 节点对新闻进行总结
  4. 创建更复杂的多步骤工作流