n8n 初探:用户界面与基础概念
欢迎来到 n8n 的世界
初涉 n8n 是否令您感到挑战?本文将为您解析入门所需的关键要素,助您迅速上手。我们将深入了解 n8n 的用户界面,并通过实践操作,演示如何向客户列表发送个性化消息。现在,让我们即刻启程。
自托管 n8n 的回顾
在n8n自建部署详解:从入门到精通,打造专属自动化平台!中,我们探讨了三种自托管 n8n 的方法,包括高性能的生产级队列模式。我们仅需几个简单的步骤,便成功在服务器上完成了 n8n 的安装。 如果您已按照文中的步骤自托管了 n8n,您应该会看到账户所有者的注册页面。
管理员账户注册与初始设置


请在此注册您的管理员账户。您会看到一个简短的调查问卷,请如实填写。完成注册后,您将进入 n8n 的主界面。界面的左侧边栏包含多个选项。最上方是模板选项,我们稍后会详细介绍。
n8n 界面概览

变量选项仅在企业版和云托管服务中可用,因此在本视频中我们暂不涉及。所有执行记录则会显示您的工作流日志以及执行的成功与否。
帮助部分提供了 n8n 的官方文档和论坛。您可能会收到更新提示,表明是否有新版本的 n8n 可用。
在屏幕底部,点击三个点,便可访问设置。
大部分设置可以保持默认值,其中许多设置仅在企业版中提供。在底部的个性化设置中,您可以设置 n8n 的亮色或暗色模式。现在,让我们回到主窗口。该区域会显示您创建的所有工作流。您可以通过点击“从头开始”按钮来添加新的工作流。 或者,如果您已经添加了工作流,则会有一个橙色的“添加工作流”按钮。 n8n 基于工作流程运行,这与 Zapier 的 Zaps 和 Make.com 的 Scenarios 类似。在主窗口中,会列出您所有的工作流。但在本视频中,我们将首先使用模板。在左侧边栏中,点击“模板”选项,它将跳转至 n8n 官方和社区提供的预构建模板页面。


利用 n8n 模板:快速启动您的自动化之旅
预构建模板的优势


n8n 为用户提供了预构建的工作流模板,您可以根据实际需求进行快速启动。首先,我们使用一个快速启动模板。在搜索框中输入“quickstart”,将会出现一个名为“Very quick quickstart”的结果。点击该模板。加载完毕后,点击“浏览”以查看此快速启动模板中包含的各个节点。然后,点击“使用工作流”按钮。
导入模板至自托管实例

这里有几个选项可供选择。通常情况下,第一个选项(即“将模板导入到自托管实例”)是您所需要的。作为替代方案,您可以将模板复制为 JSON 格式并粘贴到文本文件中,将其保存为 JSON 文件,然后将其手动导入到 n8n 中。 此处我将选择“将模板导入到自托管实例”。
工作流画布视图导航

导入成功。通常,工作流会按照从左到右的顺序执行,这在工作流画布视图和双击每个节点后出现的节点详情视图中均适用。画布底部有几个按钮,用于在工作流画布视图中进行导航。最左侧的按钮会将所有内容缩放以适应画布空间。
其余按钮依次是放大、缩小和重置缩放。您也可以在画布上的任意位置点击,并在按住鼠标左键的同时拖动鼠标,以选择多个对象。
按下空格键,您的鼠标指针会变成一只手。此时,您可以在按住空格键的同时拖动画布,以移动画布视图。

双击最左侧的第一个节点,它会显示此节点的输入项(在左侧),节点详情(在中间)以及该节点处理后的输出项(在右侧)。 这种模式会贯穿于每一个节点。此节点仅提供少量选项。例如,“Get One Person”或“Get All Person”。
节点详解:数据处理与个性化消息
第一个节点:数据获取

这只是 n8n 创建的演示节点,无需关心其数据来源。我们只需要知道它会获取客户数据列表。点击“Test Step”按钮,运行此节点。 并在右侧查看其输出:它获取了五个客户的数据记录。 在顶部,我们可以看到显示这些数据的不同视图。
系统默认以表格格式显示数据,但我们也可以采用 JSON 格式和架构格式查看数据。尽管格式不同,但数据内容是相同的。右上角的“固定”按钮非常实用。当您希望数据保持静态,避免每次测试时都进行查询时,可以使用该按钮。
第二个节点:数据提取与准备

关闭此节点并返回画布。查看第二个节点,它显示“提取数据并准备供下一个节点使用”。 双击此节点,可以看到其输入项,即前一个节点输出的客户数据。如您所知,上一个节点的输出包含了五个客户的数据。
尽管输入项中只显示第一个客户的数据,但这里显示有五个项目。这个节点的作用是,尽管上一个节点获取了大量包含诸多信息的数据,我们仍然可以提取出我们真正感兴趣的三项内容:客户 ID、客户姓名和客户描述。
为了演示其创建过程,我将删除这三个字段,并添加新的字段。第一个字段名为“客户 ID”,类型设置为字符串。然后,我将从上一个节点获取的 ID 拖至此字段。 对“客户姓名”重复此操作,将客户姓名拖到相应字段。
您可以看到这里显示了一个示例。在这个案例中,将显示“JGatsby”, 这是从上一个节点提取到的姓名。最后,再创建一个字段,命名为“客户描述”。然后,将备注信息拖到此字段。
这就是在 n8n 中,提取数据至特定字段的方法。点击此节点中的“测试步骤”按钮,可以看到它在可用数据中迭代了五次,提取了我们感兴趣的三个字段(客户 ID、客户姓名和客户描述),并根据我们在该节点中的设置创建了新的数据列表。
n8n 的数据迭代机制
n8n 的一个核心概念是,当数据以列表或数组形式存储时,它会自动循环遍历或迭代数据。我们无需在工作流中手动创建循环或迭代流程,它会自动为我们执行此操作。
添加新节点:客户消息

回到工作流画布,点击加号按钮,便可添加新的节点。在这里,我们浏览可用的节点列表。
在本视频中,我将搜索“客户消息”,然后将其添加到我们的工作流中。这是一个简单的节点,它模拟了我们可以发送给所有客户的个性化消息。在新节点中,我们可以看到输入项,即上一个节点的输出项。 其中显示五个项目,也是我们指定的三项内容。
个性化消息构建

我们也可以在此处访问来自先前节点的数据。 例如,我们可以看到从第一个节点的数据存储中检索到的数据。但我将使用我们创建的最近节点的数据。从这里的输入项中获取客户 ID,并将其拖动到这里的客户 ID 字段。
可以看到这里出现了花括号和 “JSON.customerID” 的文本。下方显示了一个示例结果,即前一条数据 23423532 的 ID。另一个需要注意的重要事项是,这里有两个选项:“Fix”和“Expression”。“Expression”表示将花括号中的任何文本解释为变量,并将其替换为相应的内容。
“Fix”选项则表示它会原样输出包含 “JSON.customerID” 的花括号,这不是我们想要的结果。因此,当我们需要从输入数据中插入变量时,务必将其设置为“表达式”。 绿色文本则进一步确认了此选项。
另一个明显的提示是,文字会以绿色显示。在消息中,我们输入 “您好”,然后拖入“客户姓名”。 再次显示示例。 确认是“表达式”并且以绿色显示。所以这里再次确认。“您好,客户姓名”。
然后,我们输入“您的描述是”,并将“客户描述”拖入。 这里会显示示例:“您好,Jay Gatsby,您的描述是不断询问绿灯”。 这正是我们想要的结果。我在最后加上一个句点。您可能已经注意到,当我在节点中拖动输入字段时,n8n 会给出一些建议,其中许多建议似乎是 JavaScript 函数。
JavaScript 表达式在 n8n 中的应用
这是因为花括号中的所有内容实际上都是一个 JavaScript 表达式。 这里有两个需要注意的地方。 首先, n8n 以标准的 JSON 对象形式存储并在节点之间传递数据,我们通过 JSON 表示法访问数据。其次,由于它在花括号内使用 JavaScript,因此您也可以使用其他的 JavaScript 表达式,例如插入日期和时间、转换数据、验证数据等等。
在本系列教程中,我们将详细探讨如何访问 JSON 对象以及其他 n8n JavaScript 表达式。 但目前,您只需要知道,将 JavaScript 集成到所有节点中,可以实现强大的功能。需要提及的是,您只能在花括号中使用 JavaScript, 而不能使用 Python。
测试节点与数据迭代
再次强调,n8n 显示该列表或数组中有五个项目,尽管它只显示了一个结果,即该列表中的第一个结果。 点击“测试步骤”按钮。 您可以看到这里显示“向客户发送消息”,以及客户 ID 和消息内容。“您好,Jay Gatsby,您的描述是不断询问绿灯”。
它对所有五个项目进行了迭代,并为每个项目创建了自定义消息。例如,其中一条消息显示:“您的描述是有很多人以他的名字命名,非常混乱”。现在,还有两个我想提及的事项。回到工作流画布,点击右上角的[Save]按钮以保存您的工作。否则,您可能会丢失您的所有工作。
工作流管理与高级技巧
工作流命名与标签

另外,您可以根据需要重命名您的工作流,只需双击工作流名称即可。 例如,您可以将此工作流命名为 “我的第一个工作流”。 您还可以添加标签,方便您标记工作流。 目前,n8n 还不支持将工作流分组到文件夹或目录中。 您只能使用标签进行筛选。
例如,我们可以使用“教程”作为标签。 该标签已经添加。 现在,当我们回到主页查看所有工作流时(目前只有一个),可以点击筛选器,然后选择 “按标签筛选”,并选择 “教程”标签。
工作流筛选与搜索
这样,就会列出所有带有“教程”标签的工作流。 另外,您也可以使用关键词进行搜索。 例如,如果我搜索“第一个工作流”,则会显示包含该关键词的任何工作流。
n8n 核心概念回顾
我们已经了解了 n8n 界面的工作原理。 以及工作流程通常是从左到右处理的。 节点的运行方式也是从左到右,接收输入、处理并产生输出。
我们还了解到,节点会自动循环遍历或迭代任何列表或数组,其结果将在输出中显示。 最后,节点之间传递的数据是 JSON 对象, 并且花括号中的任何内容都是 JavaScript 表达式。
希望本次教程能为您提供扎实的 n8n 入门知识,并帮助您使用 n8n 构建出各种炫酷的自动化流程。