首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

n8n实战:一步步教你零代码实现自动化邮件处理智能体

n8n 已成为 Agentic AI 领域中一个流行且强大的框架,它让我们无需复杂编码就能构建自动化工作流程。

在本文中,我将一步步讲解如何充分利用这个强大平台,搭建一个自动处理来自 Gmail 的邮件 AI Agent,这样可以减少人工操作,节省我们的宝贵时间。

什么是 n8n?

n8n 是一个开源的自动化工具,它帮助我们连接各种应用和服务,就像搭建一条数字化的流水线一样,用于创建自动化工作流程。用户可以通过可视化的方式设计这些流程,每一个“节点”代表流程中的一个具体步骤。

借助 n8n,我们可以实现任务自动化、数据流转管理,甚至集成各种 API,而且几乎不需要编写复杂的代码。下面是我们将在本教程中构建的一个自动化示例:

在不展开细节的情况下,先简单介绍一下这个自动化流程的作用:

它会访问我们的 Gmail 账号,检查是否有新邮件;

新邮件会被发送给 ChatGPT 进行 AI 处理;

AI 提取出关键信息,并将其保存到一个电子表格中。

如何使用 n8n?

我们有两种方式来使用 n8n:

1. 使用网页版界面:可以通过 n8n 官网使用它的 Web 界面,这需要注册账户并开通付费订阅,不过它提供 14 天免费试用,足够你完成本教程的全部内容。

https://n8n.io/

2. 本地部署:因为 n8n 是开源的,我们也可以在本地运行或自行部署。这是完全免费的,并且几乎能使用所有功能(只有少部分功能仅在其付费云端或企业版中可用)。

这两种方式都可以让你免费跟着教程操作。我们将以本地部署为例进行讲解,不过如果你更喜欢使用 Web 界面,操作步骤也是一样的。

n8n 本地部署

n8n 的官方仓库提供了本地部署的指南。最简单的方式如下:

1. 从 Node.js 官网 下载并安装 Node.js;

2. 打开终端(Terminal),运行以下命令启动 n8n:

npx n8n

n8n 的官方仓库

https://github.com/n8n-io/n8n

Node.js 官网下载地址

https://nodejs.org/en/download

就这么简单!运行命令后,你应该会在终端中看到如下输出:

要打开界面,可以直接按键盘上的 “o” 键,或者手动在浏览器中输入终端中显示的本地地址,在我的例子中是 http://localhost:5678。

理解 n8n 的工作原理

在开始构建我们的第一个自动化流程之前,先来了解一下 n8n 的基本原理。

n8n 的工作流程由一系列“节点”组成。它通常以一个触发节点(Trigger Node)开始,这个节点定义了启动整个流程的触发条件。

各个节点通过连接来传递和处理数据。在这个示例中,Gmail 的触发节点连接到了一个 OpenAI 节点,这意味着新收到的邮件会被交给 ChatGPT 进行处理。最终,ChatGPT 的输出结果会被传递到一个 Google Sheet 节点,该节点连接的是我们 Google Drive 中的某个表格,并将数据写入表格中的新一行。

这个特定的工作流程使用 ChatGPT 来识别哪些邮件是需要支付的发票,并将发票的编号(Invoice ID)和金额写入表格的一行中。

n8n 的工作流程可以复杂得多。它目前支持超过 1047 种集成服务,因此我们无法在一篇教程中涵盖所有内容。相反,我会重点介绍它的基本工作原理,以及帮助你自主探索的核心背景知识。如果你有常用的工具,很有可能 n8n 已经支持它,或者你也可以手动进行集成。

在本节中,我们将学习如何构建上面提到的那个自动化流程。

这是我在现实生活中的一个实际用例,用于管理我出租房屋的账单。我有一套房子,分为几个房间出租。账单会在所有租客之间平分。每次收到一张发票时,我需要把总金额添加到一个和租客共享的电子表格中。

我设置了一个专门的邮箱地址,所有与房屋账单相关的发票都会自动转发到这个邮箱。这样我就可以确保这个邮箱中的每一封邮件都是一张发票。我把邮件内容发送给 ChatGPT,请它识别出发票编号和应付总金额,然后将这些信息添加到共享表格中的新一行。

配置邮件触发器

要开始创建一个新的工作流程,我们需要点击“Add first step...”(添加第一步)按钮。

由于这是第一个节点,所以它必须是一个触发器节点(Trigger Node),因此系统会自动弹出一个面板,让我们选择触发器类型。

触发器节点用于定义启动整个工作流程的条件。

可选的触发器节点种类非常多。我们可以在搜索框中输入 “gmail”,然后点击出现的 Gmail 节点来选择它作为触发器。

接下来,我们选择 Gmail 唯一可用的触发器:“On message received”(收到消息时)。

这将打开节点配置面板,我们需要在其中配置我们的 Gmail 凭据,以便 n8n 工作流程能够访问我们的 Gmail 账户。为此,点击“New credential”(新建凭据)。这将打开如下窗口:

在右侧(1)有一个设置指南,解释了在 Google Cloud 上配置凭据所需的步骤。n8n 提供的指南非常详细,因此我们在这里不会重复这些步骤。请确保在 Google Cloud 控制台中也启用了 Gmail API。地址如下:

https://console.cloud.google.com/

配置完成后,我们需要将 Google Cloud 中的客户端 ID(2)和客户端密钥(3)复制到 n8n 的凭据配置中。

为了确保一切配置正确,我们可以通过点击“Fetch Test Event”(获取测试事件)来测试该节点。

测试完成后,我们应该能在输出部分看到我们收件箱中最新收到的邮件。邮件内容位于snippet字段中。

snippet字段存储了邮件内容。它显示了我的四月互联网账单已经可用,并提供了发票编号和应付总金额。这些正是我们想要添加到电子表格中的信息。

这将把结果锁定到触发器上,这意味着每次我们运行这个工作流程时,都将使用相同的输出,从而使测试工作流程变得更容易,因为结果不会受到我们可能收到的新邮件的影响。一旦工作流程正确设置完成,我们将取消固定。

此时,我们的工作流程应该只有一个触发器节点(我们可以通过左侧的小闪电标记看到它是一个触发器节点)。

请注意,由于你可能在邮箱中没有发票邮件,因此稍后 ChatGPT 很可能会给出一个没有意义的答案。如果你想测试这个特定的工作流程,可以给自己发送一封测试邮件,内容如下(或类似的内容):

亲爱的客户,您的四月互联网发票编号 FT 2025**/****** 现已附在附件中。金额€ **.**该发票必须在 2025 年 5 月 19 日之前支付。

发送完这封邮件后,你需要取消固定结果,重新运行 Gmail 节点,并固定新的结果。

配置 ChatGPT 节点

下一步是配置 OpenAI 节点。首先,点击 Gmail 触发器节点右侧的“+”按钮:

输入 "OpenAI",然后从列表中选择相应的选项。

然后,在 “Text Actions” 下,选择 “Message a model” 节点。这个节点用于向大模型(LLM)发送消息。

像之前一样,我们需要创建一个凭据来访问 OpenAI。请注意,一旦创建了凭据,它可以在任何工作流程中重复使用,我们无需每次都设置。

对于 OpenAI 凭据,我们只需要一个 API 密钥。如果你没有,可以去下面的官网创建一个。如果你在创建过程中遇到问题,n8n 也提供了相关的指南。

https://platform.openai.com/api-keys

在配置方面,我们需要选择要使用的 AI 模型以及我们发送给模型的消息。对于模型,我们可以选择 GPT 4.1:

在消息字段中,我们需要提供提示词(prompt)。在这个示例中,我们将邮件内容提供给模型,并要求它识别发票编号和应付总金额。以下是我使用的提示:

邮件内容以{{ $json.snippet }}的形式提供。在 n8n 中,提示可以包含从前一个节点输出中填充的变量,在我们这个例子中就是邮件内容。可用字段的列表可以在左侧看到。我们可以手动输入字段,也可以将其拖放到提示中。

为了测试这一点,我们点击配置面板顶部的“Test Step”按钮。结果将显示在右侧:

结果是一个包含模型回答的字符串。我们希望将这两个字段分开,这样就不需要进一步处理消息。我们可以通过将 LLM 的输出改为 JSON 格式来实现这一点:

再次测试此步骤后,我们得到的结果是两个字段以 JSON 数据的形式显示:

将数据发送到 Google 表格

此工作流程的最后一步是将发票编号和价格发送到 Google 表格中的新行。在此阶段,我们需要将 OpenAI 节点的输出连接到 Google 表格。我们像之前一样,通过点击节点左侧的“+”按钮来完成此操作:

在这里,我们需要输入 "Google Sheets" 并选择“Append row in sheet”节点:

我们可以使用与 Gmail 访问相同的凭据。但我们需要在 Google Cloud 控制台中启用以下 API:

Google Sheets API

Google Drive API

要配置 Google Sheets 节点,我们需要选择表格并选择要填充字段的值。表格应该手动创建,包含两列,一列用于存储发票编号,另一列用于存储发票总金额。

这些值来自 OpenAI 节点的输出。我们可以将它们拖放到列中。

运行工作流

完成了!我们已经有了一个可以自动将发票处理到 Google 表格中的工作流程。我们可以通过点击底部的“Test workflow”来测试它:

运行后,如果我们打开 Google 表格,就会看到一行包含数据的新记录:

默认情况下,工作流程每分钟运行一次。根据工作流程的不同,我们应该配置一个合适的运行频率。在这个特定的例子中,每分钟运行一次太频繁了,每天运行一次会更合适。

我们可以通过双击触发节点,并在“Poll Times”字段中设置不同的值来进行配置:

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OvKP7Qm7zCES4fLlK14-Vm6Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券