Powerful tool for n8n to batch manage workflows, sync across instances, and deep-clean data to avoid 400 errors.
npm install n8n-nodes-workflow-manager

这是一个强大的 n8n 社区节点,专门为解决大规模工作流管理和跨实例环境同步而设计。它不仅支持批量操作,更通过独有的“极致字段脱敏”技术,彻底解决了 n8n 原生 API 在同步和导入时常见的 400 校验错误。
- 🔄 全能同步 (Power Sync):支持 Push、Pull、Bidirectional 三种模式,在不同 n8n 实例(如 Dev、Staging、Prod)之间无缝拉取或推送工作流。
- � 智能批量导入 (Smart Batch Import):
- 自动识别 n8n 官方导出文件格式及多工作流数组。
- 支持文件夹级别的 JSON 合并导入。
- 三种冲突策略:跳过 (Skip)、覆写 (Overwrite)、创建副本 (Duplicate)。
- 🧹 极致字段脱敏 (Deep Clean):
- 自动洗白:导入/同步前自动移除 versionId、triggerCount、shared、updatedAt 等 API 不允许的干扰字段。
- Settings 保护:深层过滤 settings 字典中的非法属性(如执行顺序等),仅保留 100% 安全的核心设置。
- 自产自销:确保从一个实例导出的 JSON 可以毫无阻碍地导入到任何其他实例。
- 🔍 灵活筛选 (Flexible Filter):支持按标签 (Tags)、激活状态、指定 ID 等多种维度批量导出工作流。
- 🛡️ 安全脱敏:可选择在导出时自动移除凭证名,保护敏感信息。
在你的 n8n 实例中运行:
``bash`
npm install n8n-nodes-workflow-manager
或者在 n8n 的 Settings > Community Nodes 中搜索 n8n-nodes-workflow-manager 进行安装。
1. 多环境部署:在本地开发完成后,通过 Sync 操作一键将指定标签的工作流推送到生产服务器。Batch Export
2. 定期备份:配合 Cron 节点,定期通过 获取所有工作流详情并上传到 GitHub 或 S3。Batch Import
3. 快速迁移:直接将备份实例的 JSON 库通过 恢复到新实例,全过程零报错。
节点包含一个名为 n8nApi 的凭证:
- Base URL: 你的 n8n 实例地址 (例如 http://localhost:5678)
- API Key: 在 n8n 的 Settings > API 中生成的有效密钥。
- 标签处理:跨实例同步时,为了保证 100% 成功率,本插件目前会移除工作流的 tags 属性。这是因为不同实例的标签 ID 往往不一致,会导致 API 校验失败。
- 版本要求:建议 n8n 版本 >= 1.0.0。
---
将此节点连接到 Cron 或 Manual 触发器后,可以一次性导出所有(或筛选后的)工作流数据。
节点配置:
- Resource: WorkflowBatch Export
- Operation: Active
- Filters: 可选。例如勾选 只导出激活的工作流,或按 Tag IDs 导出特定标签的工作流。One Entry per Workflow
- Output Format:
- (默认): 每个工作流作为独立的 Item 输出,适合后续进行文件分割保存。Single JSON
- : 作为一个大 JSON 数组输出,适合存为单个备份文件。
后续操作建议:
- 连接 Convert to File 节点:将 JSON 转为二进制文件。
- 连接 Local File Trigger / AWS S3 / Git 节点:保存备份文件。
用于将备份文件恢复到新实例,或将从社区下载的多个工作流一次性导入。
节点配置:
- Resource: WorkflowBatch Import
- Operation: JSON Text
- Import Source:
- : 直接将导出的 JSON 内容(例如从其他实例导出的工作流数组)粘贴到这里。Input Data
- : 从上游节点(如 Read Binary File -> Spreadsheet File)获取 JSON 对象。Duplicate
- Conflict Strategy:
- : 创建副本(推荐,避免覆盖)。Overwrite
- : 覆盖同名/同 ID 工作流。Skip
- : 跳过已存在的工作流。
✅ 核心优势:
此节点在导入时会自动执行深度清理,解决常见的 _"node type not known"_ 或 _"Referenced node doesn't exist"_ 错误。如果原工作流中引用了不存在的节点,插件会自动创建占位节点以确保导入成功。
以下是一个标准的导出格式示例,你可以直接复制并通过 Batch Import 导入测试:
`json`
{
"name": "import",
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [-400, -64],
"id": "d64d8a69-319c-4c89-943b-88f8049d4c2f",
"name": "When clicking ‘Execute workflow’"
},
{
"parameters": {
"operation": "batchImport",
"importSource": "jsonText"
},
"type": "n8n-nodes-workflow-manager.workflowManager",
"typeVersion": 1,
"position": [-192, -64],
"id": "83e18704-2fe5-4619-9e23-24ad0c7117ca",
"name": "批量导入工作流",
"credentials": {
"n8nApi": {
"id": "AXrbN17qW6ykloui",
"name": "n8n account"
}
}
}
],
"pinData": {},
"connections": {
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "批量导入工作流",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1",
"availableInMCP": false
},
"versionId": "2e0ed612-de6b-4f0b-963d-741d5158809c",
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "2d4d9e1f3cb1a0d65ddc04cdd95a68ba1d8090af7ecd85af941529f97903549b"
},
"id": "h4d6ir7v83o7rRKd",
"tags": []
}
`json``
{
"name": "export",
"nodes": [
{
"parameters": {},
"id": "476ab5a8-6eb9-4f4e-89b4-30ba4054313b",
"name": "When clicking ‘Test workflow’",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [-160, -224]
},
{
"parameters": {},
"id": "ae5ec1bc-2612-4b76-88ec-ec26ed6219c7",
"name": "批量导出工作流",
"type": "n8n-nodes-workflow-manager.workflowManager",
"typeVersion": 1,
"position": [64, -224],
"credentials": {
"n8nApi": {
"id": "AXrbN17qW6ykloui",
"name": "n8n account"
}
}
},
{
"parameters": {
"operation": "toJson",
"options": {
"fileName": "workflows.json"
}
},
"id": "a9d01e48-2d02-4f5b-b03b-d158e69ede9a",
"name": "Convert to File",
"type": "n8n-nodes-base.convertToFile",
"typeVersion": 1.1,
"position": [288, -224]
}
],
"pinData": {},
"connections": {
"When clicking ‘Test workflow’": {
"main": [
[
{
"index": 0,
"node": "批量导出工作流",
"type": "main"
}
]
]
},
"批量导出工作流": {
"main": [
[
{
"node": "Convert to File",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"callerPolicy": "workflowsFromSameOwner",
"availableInMCP": false
},
"versionId": "61fcfe8a-5c3b-4a66-81d6-67425aef6a68",
"meta": {
"instanceId": "2d4d9e1f3cb1a0d65ddc04cdd95a68ba1d8090af7ecd85af941529f97903549b"
},
"id": "VGeoKK3nOUFQ5lje",
"tags": []
}
Made with ❤️ for the n8n community.