n8n工作流自动化技能Skill n8n

n8n 工作流自动化技能是一个用于创建、管理和集成自动化工作流的工具。它涵盖了从 Webhook 触发、HTTP API 调用、条件分支到数据批量处理的全套自动化解决方案。通过 REST API 可以远程管理工作流,并支持与 MCP 服务器集成,实现跨平台自动化。核心功能包括工作流设计、节点配置、表达式处理和错误处理,适用于企业流程自动化、数据集成和系统连接等场景。关键词:n8n 自动化、工作流管理、API 集成、Webhook 触发、REST API、低代码开发、流程自动化、数据集成、MCP 服务器、节点配置。

低代码开发 0 次安装 0 次浏览 更新于 2/28/2026

name: n8n description: n8n 工作流自动化模式与 API 集成。此技能应用于创建 n8n 工作流、使用 Webhook、通过 REST API 管理工作流或将 n8n 与 MCP 服务器集成。涵盖工作流 JSON 结构、节点模式和自动化最佳实践。 author: Joseph OBrien status: unpublished updated: ‘2025-12-23’ version: 1.0.1 tag: skill type: skill

n8n 工作流自动化技能

此技能支持为自动化任务创建和管理 n8n 工作流。

先决条件

运行中的 n8n 实例并具有 API 访问权限:

N8N_HOST=localhost
N8N_PORT=5678
N8N_API_KEY=your-api-key

核心概念

工作流结构

每个 n8n 工作流都是具有以下结构的 JSON:

{
  "name": "工作流名称",
  "nodes": [],
  "connections": {},
  "settings": {
    "executionOrder": "v1"
  }
}

节点结构

每个节点包含:

{
  "id": "唯一标识符",
  "name": "显示名称",
  "type": "n8n-nodes-base.节点类型",
  "typeVersion": 1,
  "position": [x, y],
  "parameters": {},
  "credentials": {}
}

连接结构

连接定义了节点之间的数据流:

{
  "源节点": {
    "main": [
      [{"node": "目标节点", "type": "main", "index": 0}]
    ]
  }
}

常见工作流模式

1. Webhook 触发的工作流

创建一个触发工作流执行的 HTTP 端点:

{
  "name": "Webhook 处理器",
  "nodes": [
    {
      "id": "webhook",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [250, 300],
      "webhookId": "my-webhook",
      "parameters": {
        "path": "my-endpoint",
        "httpMethod": "POST",
        "responseMode": "responseNode"
      }
    },
    {
      "id": "respond",
      "name": "响应",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.1,
      "position": [450, 300],
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ $json }}"
      }
    }
  ],
  "connections": {
    "Webhook": {
      "main": [[{"node": "Respond", "type": "main", "index": 0}]]
    }
  }
}

访问地址:http://localhost:5678/webhook/my-endpoint

2. HTTP 请求模式

进行外部 API 调用:

{
  "id": "http",
  "name": "HTTP 请求",
  "type": "n8n-nodes-base.httpRequest",
  "typeVersion": 4.2,
  "position": [450, 300],
  "parameters": {
    "method": "POST",
    "url": "https://api.example.com/endpoint",
    "authentication": "predefinedCredentialType",
    "nodeCredentialType": "myApiCredential",
    "sendBody": true,
    "specifyBody": "json",
    "jsonBody": "={{ JSON.stringify($json) }}"
  },
  "credentials": {
    "myApiCredential": {"id": "cred-id", "name": "我的凭证"}
  }
}

3. 条件分支(IF 节点)

根据条件路由数据:

{
  "id": "if",
  "name": "IF",
  "type": "n8n-nodes-base.if",
  "typeVersion": 2,
  "position": [450, 300],
  "parameters": {
    "conditions": {
      "options": {
        "caseSensitive": true,
        "leftValue": "",
        "typeValidation": "strict"
      },
      "conditions": [
        {
          "leftValue": "={{ $json.status }}",
          "rightValue": "success",
          "operator": {
            "type": "string",
            "operation": "equals"
          }
        }
      ],
      "combinator": "and"
    }
  }
}

4. 循环处理项目(SplitInBatches)

分批处理项目:

{
  "id": "batch",
  "name": "循环处理项目",
  "type": "n8n-nodes-base.splitInBatches",
  "typeVersion": 3,
  "position": [450, 300],
  "parameters": {
    "batchSize": 10,
    "options": {}
  }
}

n8n REST API

列出工作流

curl -s "http://localhost:5678/api/v1/workflows" \
  -H "X-N8N-API-KEY: $N8N_API_KEY"

获取工作流

curl -s "http://localhost:5678/api/v1/workflows/{id}" \
  -H "X-N8N-API-KEY: $N8N_API_KEY"

创建工作流

curl -s -X POST "http://localhost:5678/api/v1/workflows" \
  -H "X-N8N-API-KEY: $N8N_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "新工作流", "nodes": [...], "connections": {...}}'

更新工作流

curl -s -X PUT "http://localhost:5678/api/v1/workflows/{id}" \
  -H "X-N8N-API-KEY: $N8N_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "已更新", "nodes": [...], "connections": {...}}'

激活/停用

curl -s -X POST "http://localhost:5678/api/v1/workflows/{id}/activate" \
  -H "X-N8N-API-KEY: $N8N_API_KEY"

curl -s -X POST "http://localhost:5678/api/v1/workflows/{id}/deactivate" \
  -H "X-N8N-API-KEY: $N8N_API_KEY"

获取执行记录

curl -s "http://localhost:5678/api/v1/executions?workflowId={id}&limit=10&includeData=true" \
  -H "X-N8N-API-KEY: $N8N_API_KEY"

表达式语法

n8n 使用表达式处理动态值:

语法 描述
={{ $json.field }} 访问当前项目字段
={{ $json.body.param }} 访问嵌套字段
={{ $('节点名称').item.json.field }} 访问特定节点的输出
={{ $input.first().json }} 第一个输入项
={{ $input.all() }} 所有输入项
={{ JSON.stringify($json) }} 转换为 JSON 字符串

常见节点类型

节点 类型 用途
Webhook n8n-nodes-base.webhook HTTP 触发器
HTTP 请求 n8n-nodes-base.httpRequest API 调用
响应 Webhook n8n-nodes-base.respondToWebhook 返回 HTTP 响应
IF n8n-nodes-base.if 条件分支
Switch n8n-nodes-base.switch 多路分支
Set n8n-nodes-base.set 转换数据
Code n8n-nodes-base.code 自定义 JavaScript
Split In Batches n8n-nodes-base.splitInBatches 循环处理
Merge n8n-nodes-base.merge 合并分支

MCP 集成

n8n 可以通过内置的 MCP 服务器将工作流作为 MCP 工具公开:

  1. 在工作流设置中启用 MCP:"availableInMCP": true
  2. 访问 MCP 端点:http://localhost:5678/mcp-server/http
  3. 使用 supergateway 进行 Claude Code 集成

提示

  1. Webhook 响应:使用 responseMode: "responseNode" 配合 Respond 节点以获得控制权
  2. 凭证:将 API 密钥存储在 n8n 凭证中,通过 ID 引用
  3. 错误处理:添加 Error Trigger 节点用于失败通知
  4. 测试:在开发过程中使用 /webhook-test/ 路径
  5. ADF 格式:Jira/Confluence 需要 Atlassian Document Format 来处理富文本