使用 n8n 构建高效自动化工作流:从零到一的教程

Spread the love

引言:n8n,你的效率提升利器

在快节奏的现代生活中,重复性任务往往占据了我们大量时间。想象一下,如果有一个全天候待命的“私人助理”,能自动帮你整合日程、发送邮件,甚至筛选新闻,会不会让工作效率翻倍?这就是 n8n 的魅力所在!

n8n 是一款实用且功能强大的自动化工具,它能整合各种网络服务,减少重复性手动操作,让你的工作流程更智能、更高效。正如教程视频中所说,n8n 就像一个“使命必达且全天候待命”的 AI 助理,只认你这个主人!

专注于 基础自动化流程 和 应用协作,通过具体案例带你从零开始搭建一个 n8n 工作流。对于初学者,建议先试用 n8n 官方提供的云端服务,它有 14 天免费试用期,无需复杂设置即可上手,等你熟悉后再考虑自行架设或选择第三方托管方案。准备好让 n8n 帮你省下 80% 的时间了吗?让我们开始吧!


上手 n8n:控制页面与工作流创建

初识 n8n 控制页面注册并登录 n8n 后,你会进入 主要控制页面,这是你创建和管理自动化工作流的核心区域。界面直观,左侧是节点选择区,右侧是工作流画布,右上角有一个醒目的“建立”按钮,用于创建新的工作流。

创建第一个工作流

点击“建立”按钮,你将进入一个空白的工作流画布,这里是你设计自动化流程的地方。工作流由 节点 组成,每个节点代表一个操作或服务,而节点之间的连接线则定义了数据流动的顺序。

触发器:自动化流程的开关

触发器(Trigger)是工作流的起点,相当于一个开关,启动后会触发后续节点按顺序执行。

设置手动触发器

对于初学者,我们从最简单的 手动触发(Trigger Manually) 开始。双击触发器节点,进入设置界面。由于当前工作流没有任何输入数据,我们可以点击 Set Mock Data 来创建测试数据。

这些测试数据以 JSON 格式 呈现,JSON 是一种清单式的数据结构,包含“名字-数值”对,是 n8n 数据传递的基础。

例如:

json

[
  {
    "name": "Task 1",
    "value": "Test data 1"
  },
  {
    "name": "Task 2",
    "value": "Test data 2"
  }
]

保存设置后,n8n 会锁定这些测试数据,确保每次触发工作流时使用相同的测试数据。点击“执行”按钮,你会看到 JSON 数据被成功输出。


构建你的第一个自动化:发送 Gmail 邮件

添加 Gmail 节点

现在,让我们将测试数据发送到你的 Gmail 邮箱。点击画布上的“+”按钮,搜索“Gmail”,选择 Send a Message 节点。

节点设置:Input 与 Output

进入 Gmail 节点设置页面,左侧是 Input 区域,显示当前节点接收到的数据(即触发器输出的 JSON 数据);右侧是 Output 区域,显示节点执行后的结果。

认证与授权

在发送邮件前,需登录你的 Gmail 账号,授权 n8n 获取查看和管理电子邮件的权限。按照提示完成授权后,返回设置页面。

设置邮件内容

在“收件者”栏位输入你的邮箱地址。在“主旨”和“内容”栏位,你可以输入固定文本,或者从左侧 Input 区域拖曳 JSON 数据中的标签(如 name 或 value),实现动态内容更新。

例如:

  • 主旨:Task: {{ $json.name }}
  • 内容:Details: {{ $json.value }}

如果对某些设置不熟悉,点击右上角的 Docs 按钮,可查看 n8n 官方说明文档。

执行与验证

点击“执行步骤”,n8n 会根据 JSON 数据发送邮件。打开 Gmail 收件箱,确认邮件是否正确发送。


进阶应用:Google 日历日程提醒

现在,我们将工作流升级为更实用的场景:每天早晨自动发送 Google 日历的日程摘要到你的邮箱。

解除模拟数据锁定

要处理真实数据,需返回触发器节点,解除模拟数据的锁定。这让工作流能够获取 Google 日历的真实数据。

添加 Google Calendar 节点

点击触发器和 Gmail 节点之间的“+”按钮,搜索“Google Calendar”,选择 Get Many Events 节点。登录 Google 账号,授权 n8n 访问你的日历。

设置时间范围

在节点设置中,选择你使用的日历,并调整时间范围。默认设置为获取一周内 50 个日程。若只想获取当天日程,可将 week 改为 day:

javascript

{
  "timeMin": "now",
  "timeMax": "1 day"
}

点击“执行步骤”,查看返回的日程数据。

数据格式转换:Date & Time

节点Google 日历返回的时间数据采用 ISO 8601 格式,对普通用户不够直观。我们需要将其转换为更易读的格式。

添加 Date & Time 节点

在 Google Calendar 节点后添加 Date & Time 节点,拖曳 Input 区域的 dateTime 标签到转换栏位。选择“自订格式”,输入类似以下格式:

javascript

YYYY-MM-DD HH:mm a

这会将时间转换为 2025-07-31 09:00 AM 的形式。将该栏位命名为“开始时间”,点击“执行”,查看转换后的结果。

重命名节点

为提高工作流可读性,可双击节点重命名,例如改为“格式化时间”。

数据简化:Edit Fields 节点

Google 日历节点返回的数据包含许多冗余信息,我们只需“行程名称”和“开始时间”。添加 Edit Fields 节点,创建新栏位:

javascript

{
  "行程": "{{ $json.summary }}",
  "开始时间": "{{ $json['开始时间'] }}"
}

点击“执行步骤”,数据被简化为精简版本。

优化邮件发送逻辑:Aggregate 节点

如果直接将多条日程数据发送到 Gmail 节点,会生成多封邮件。为避免这种情况,添加 Aggregate 节点,将多条数据整合为一条。

拖曳“行程”字段到 Aggregate 节点,点击“执行”,确保 Gmail 节点只接收一笔数据。

调整 Gmail 节点

在 Gmail 节点中,设置主旨为“今日行程”,邮件格式为“Text”。拖曳“行程”字段到内容栏位,使用 join 语法将清单内容逐一列出,以双换行符分隔:

javascript

{{ $json['行程'].join('\n\n') }}

点击“执行”,打开 Gmail 收件箱,查看整合后的日程摘要邮件。

此处可插入 Gmail 收件箱截图,展示日程摘要邮件

定时触发:On a Schedule

节点为了让工作流每天早晨自动运行,删除手动触发器,添加 On a Schedule 节点。设置触发时间为每天早上 7:30:

javascript

{
  "time": "07:30",
  "interval": "daily"
}

连接到 Google Calendar 节点,点击“储存”并“启用”工作流。为工作流取一个直观名称,如“每日日程摘要”。


整合 AI 能力:ChatGPT 翻译新闻标题

让我们进一步提升工作流,加入 AI 功能:自动获取 TechCrunch 的 AI 相关新闻并翻译为中文,合并到日程邮件中。

添加 RSS 节点

访问 TechCrunch 的 RSS 页面,复制 RSS 地址(如 https://techcrunch.com/feed/)。在 n8n 中,从触发器拉出新分支,添加 RSS 节点,粘贴 RSS 地址,点击“执行”,查看新闻摘要。

筛选器(Filter)节点

若只对 AI 相关新闻感兴趣,添加 Filter 节点。拖曳 Input 区域的 categories 标签,设置条件为 contains “AI”:

javascript

{
  "conditions": [
    {
      "field": "categories",
      "operation": "contains",
      "value": "AI"
    }
  ]
}

点击“执行”,新闻从 20 条减少到 8 条。

再次简化:Edit Fields 节点

添加 Edit Fields 节点,保留“标题”和“链接”:

javascript

{
  "标题": "{{ $json.title }}",
  "链接": "{{ $json.link }}"
}

点击“执行”,生成精简的新闻摘要。

合并数据流:Merge 节点

现在,我们有两条数据流:Google 日历(2 条日程)和 RSS 新闻(8 条摘要)。添加 Merge 节点,将两条数据流连接到其两个 Input 接口,汇整为 10 条数据。

为清晰起见,可添加 Sticky Note 标注数据流。

再次整合:Aggregate 节点

为避免 Gmail 发送多封邮件,再次添加 Aggregate 节点,将 10 条数据整合为一条,创建新栏位存储新闻摘要。

ChatGPT – Message a Model 节点

添加 Message a Model 节点,使用 ChatGPT 翻译新闻标题。需先在 OpenAI Platform 获取 API Key。登录后选择模型(如 GPT-4O)。

提示词设置

设置两种提示词:

  • System:定义 AI 角色,如将内容分为“今日行程”和“今日文章”,并用 CSS 美化邮件。
  • User:拖曳日历和新闻数据,具体指令为翻译标题为中文。

示例 System 提示词:

plaintext

You are an assistant that organizes information into two categories: "Today's Schedule" and "Today's Articles". Format the output as HTML with basic CSS styling for a clean email layout.

示例 User 提示词:

plaintext

Translate the article titles to Chinese. Include the schedule and articles in the output.
Schedule: {{ $json['行程'] }}
Articles: {{ $json['标题'] }}

点击“执行”,生成美化后的摘要。

调整 Gmail 节点

在 Gmail 节点中,将 Email Type 设为 HTML,拖曳 ChatGPT 的输出到 Message 栏位。点击“执行”,检查 Gmail 收件箱,查看美化后的邮件。


总结与展望

通过本教程,你学会了:

  • 使用 n8n 创建基础自动化工作流,从手动触发到定时触发。
  • 整合 Google 日历和 Gmail,自动发送日程摘要。
  • 添加 RSS 节点和 AI 功能,筛选并翻译新闻,生成美化邮件。
  • 使用 Date & Time、Edit Fields、Aggregate、Merge 等节点优化数据处理。

现在就动手尝试吧,探索 n8n 的无限可能!

Leave a comment Cancel reply

Exit mobile version