简介
节点是每个 n8n 工作流的构建块。每个节点代表一个单一动作:从 API 获取数据、发送电子邮件、转换值,或基于计划触发流程。当你将节点连接在一起时,就获得了一条取代人工操作的自动化管道。
本课将带你了解节点库,演示如何配置真实的集成,并解释 n8n 如何处理凭据,以确保你的 API 密钥和密码安全。
节点库
n8n 内置超过 400 个节点,涵盖常见服务,如 Slack、Google Sheets、GitHub、PostgreSQL、HTTP API 等。你可以通过点击画布内的 + 按钮来访问它们,该按钮会打开一个可搜索的面板。
节点分为两大类别。触发节点用于启动工作流 —— 它们监听某个事件(webhook 调用、cron 计划、数据库中的新行)。动作节点在工作流内部执行操作 —— 它们读取、写入、转换或发送数据。
以下是你将经常使用的几个节点:
HTTP Request 节点可以调用任何没有专用节点的 REST API。它支持 GET、POST、PUT、DELETE,并允许你设置请求头、查询参数和请求体。
Code 节点可内联运行 JavaScript 或 Python,在内置转换功能不够用时非常有用。
Set 节点用于重塑流经工作流的数据对象 —— 添加字段、重命名键、移除下游不需要的冗余数据。
配置真实的集成
让我们搭建一个实际的例子:每当表单被提交时,就在 Slack 频道中发布一条消息,包含提交者的姓名和电子邮件。
首先,添加一个 Webhook 触发节点。将 HTTP 方法设置为 POST,并复制生成的 URL —— 这就是你的表单将要调用的端点。将工作流切换为激活状态,以便 n8n 开始监听。
接下来,在 webhook 之后添加一个 Slack 节点。选择动作 "Send a Message"。此时 n8n 会要求你选择或创建一个 Slack 凭据 —— 我们将在下一节中介绍。
设置好凭据后,按如下方式配置该节点:
双花括号语法是 n8n 的表达式语言。它在运行时从传入的 JSON body 中读取数据。如果你的 webhook 接收到包含 name 字段和 email 字段的负载,这些值会被自动替换。
发送一个测试 POST 请求以验证完整流程:
如果一切连接正确,Slack 频道会在几秒内收到消息。
凭据管理
n8n 将凭据与工作流分开存储。这种设计意味着你只需创建一次凭据,即可在多个工作流中重复使用,并且永远不会在节点配置中嵌入原始的 API 密钥。
要添加凭据,请前往 Settings > Credentials > Add Credential,或者在配置需要身份验证的节点时让 n8n 提示你进行添加。你选择对应的服务,填写必填字段(API 密钥、OAuth 令牌、用户名/密码),然后保存。n8n 会使用实例配置中设置的加密密钥对存储的值进行加密。
对于像 Google 或 Slack 这样的 OAuth2 服务,n8n 会为你处理授权流程。你点击 "Connect",在浏览器弹窗中进行身份验证,n8n 会自动存储生成的访问令牌和刷新令牌。
一个重要的实践:每个环境使用单独的凭据。你的预发布工作流应该使用测试用的 Slack 工作区或沙箱 API 密钥,而不是生产环境的。你可以复制一份凭据,仅修改密钥值,并将名称清晰标注(例如 "Slack - Production" 与 "Slack - Staging")。
在多用户设置中,凭据也会按所有者进行作用域隔离 —— 在某个用户账户下创建的凭据对其他用户不可见,除非被显式共享。这可以防止凭据在团队之间被意外泄露。
常见错误
表达式语法错误是最常见的问题。如果类似 {{ $json.email }} 的字段引用返回 undefined,请检查前一个节点是否确实输出了该键。使用画布右侧的 "Input" 面板来检查实际流入每个节点的数据。
另一个常见错误是保存后忘记激活工作流。当工作流处于未激活状态时,webhook 触发器不会监听 —— 画布顶部的开关必须打开。
对于调用外部 API 的 HTTP Request 节点,请注意身份验证不匹配的问题。有些 API 要求将密钥放在请求头中(Authorization: Bearer ...),有些则要求放在查询参数中。请阅读 API 文档并完全匹配其格式,然后使用凭据系统来注入该值,而不是将其硬编码到 URL 中。
总结
节点库为你提供了一个现成的工具包,无需编写样板集成代码即可连接服务。触发节点启动工作流,动作节点执行具体工作,表达式在节点之间动态地传递数据。凭据集中管理、静态加密,并可在多个工作流中重复使用 —— 请按环境区分,并让 n8n 为你处理 OAuth 授权流程。掌握了这些基础知识后,你就可以构建可靠、易读的管道,连接真实的应用程序。
课程检查点
巩固所学知识,获取作业反馈。