首先完成“第1课:什么是工作流自动化,以及 n8n 在其中的定位?”即可解锁本课程。转到上一课

简介

n8n 的编辑器是你花费最多时间的地方 —— 用于构建、测试和调试自动化工作流。在编写任何逻辑之前,你需要熟悉这个界面。本课将带你了解编辑器的每一个主要区域,并介绍构成每个 n8n 工作流的三大构建模块:工作流、节点和连接。

编辑器界面

当你打开 n8n 并创建一个新工作流时,你会进入画布 —— 一片空白的网格区域,你可以在这里拖放并连接各种元素。这个界面有几个需要了解的关键区域。

顶部栏包含工作流名称(点击可重命名)、保存按钮和执行工作流按钮(用于手动运行整个工作流)。最右侧你可以访问工作流设置和你的账号菜单。

左侧边栏是你的节点面板。点击加号图标或按 Tab 键可以打开它。你可以在此搜索节点并将其添加到画布上。节点按类别分组:触发节点(起点)、动作节点(执行具体操作的节点)以及工具节点(数据转换辅助节点)。

画布本身支持一些值得尽早掌握的操作快捷键。滚动鼠标滚轮可以缩放。按住空格键并拖动可以平移视图。按 Ctrl+Shift+F(Mac 上为 Cmd+Shift+F)可以将整个工作流适配到视图中。

n8n 编辑器布局示意图,展示顶部栏、左侧节点面板和主画布,并为每个区域标注名称

工作流、节点和连接

n8n 中的每个自动化都是一个工作流 —— 一个保存的文档,其中包含由节点连接而成的图。工作流可以是激活状态(在被触发时自动运行)或未激活状态(仅在你手动执行时运行)。

节点是单个工作单元。每个节点都有特定的任务:从 API 获取数据、转换数值、发送邮件、向数据库插入一行。节点就是自动化中的“动词”。双击一个节点,其参数面板会在右侧打开,你可以在这里配置它的具体行为。

节点分为两种类型。触发节点用于启动工作流 —— 它们监听某个事件(webhook 调用、定时任务、表格中新插入的一行),并在事件发生时触发。每个工作流必须有且仅有一个触发节点,并且该节点始终位于最左侧。常规节点负责执行实际工作,并依次串联在触发节点之后。

连接就是节点之间的箭头,用于将数据从一个节点传递到下一个节点。要绘制一条连接,将鼠标悬停在节点的右侧边缘,直到出现一个圆圈,然后拖动到下一个节点的输入接口。数据从左向右流动。

流程图展示一个触发节点连接到两个顺序排列的动作节点,箭头指示数据流向

处理节点数据

n8n 以数组(item数组)的形式在节点之间传递数据。每个 item 都是一个 JSON 对象。当一个节点执行时,它接收来自上一个节点的 item,对它们进行处理,然后将新的 item 输出给下一个节点。

要查看某个节点产出了什么数据,在测试运行后点击该节点。输出面板会将每个 item 显示为格式化的 JSON 对象。这是你最主要的调试工具 —— 通过检查每个节点的输出来确认数据是否正确,然后再构建下一步。

下面是输出面板中一个典型 item 的样子:

json
{
"id": 42,
"name": "Alice",
"email": "alice@example.com",
"createdAt": "2024-01-15T10:30:00Z"
}

要在参数字段中引用上一个节点的值,n8n 使用表达式。通过点击字段旁边的等号小图标(表达式开关),你可以将字段从静态文本切换为表达式模式。在表达式中,你可以使用下面的语法来获取值:

javascript
{{ $json.email }}

这行表达式从当前 item 的 JSON 中取出 email 字段。你会反复使用这种写法 —— 这是节点之间相互通信的主要方式。

保存与执行

执行之前务必先保存工作流。按 Ctrl+S(或 Cmd+S),或点击保存按钮。未保存的更改会在工作流名称旁边以小圆点显示。

要测试工作流,点击顶部栏中的“执行工作流”。n8n 会从触发节点开始依次运行所有节点,并在每个成功执行的节点上显示绿色对勾,在失败的节点上显示红色错误标识。点击失败的节点即可在其输出面板中查看错误信息。

对于等待外部事件的触发节点(如 Webhook 节点),n8n提供了测试模式。点击 Webhook 节点上的“监听测试事件”,然后从你的外部系统发起请求。n8n 会捕获一个真实的 payload,让你可以基于这份数据构建并测试工作流的其余部分,而无需等待下一次真实事件。

小结

n8n 编辑器围绕一块画布、一个节点库以及它们之间的连接构建而成。工作流承载你的自动化逻辑;触发节点启动执行;常规节点处理数据;连接从左向右传递 JSON item。每次测试运行后的输出面板是你验证一切是否正常工作的关键。多点击、多加节点、多检查输出 —— 课程后续内容都将直接基于这些操作展开。

课后练习

课程检查点

巩固所学知识,获取作业反馈。

0/7
01在 n8n 中,触发节点(Trigger node)在工作流里的作用是什么?
02n8n 如何表示在节点之间流动的数据?
03下面哪种表达式语法可以正确引用当前 item 的 email 字段?
04在 n8n 画布上,如何在两个节点之间绘制连接?
05Webhook 触发节点上的测试模式(Test mode)的用途是什么?
06在工作流测试执行中节点失败时,首先应该查看哪里?
07一个 n8n 工作流可以有多少个触发节点?
已回答 · 0/7