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

为了测试,我建议点击右上角的 pin 按钮,将输出固定在屏幕上:

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

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

请注意,由于你可能在邮箱中没有发票邮件,因此稍后 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” 字段中设置不同的值来进行配置:

加入星球获取精心打造的提示工程、RAG和Agent开发实践教程

(文:PyTorch研习社)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往