名称: n8n-工作流自动化
描述: 设计并输出具备健壮触发器、幂等性、错误处理、日志记录、重试机制和人工审核队列的 n8n 工作流 JSON。适用于需要可审计且不会静默失败的自动化流程。
具备重试、日志记录和审核队列的 n8n 工作流自动化
目的
设计并输出具备健壮触发器、幂等性、错误处理、日志记录、重试机制和人工审核队列的 n8n 工作流 JSON。
使用场景
- 适用场景:
- 构建一个每周一运行并发送合规摘要邮件的 n8n 工作流。
- 为此工作流添加错误处理、重试机制以及失败任务的审核队列。
- 创建一个记录每次运行日志并将状态行写入跟踪器的 Webhook 工作流。
- 使此 n8n 流程具备幂等性,确保重新运行时不会产生重复记录。
- 为此工作流添加审计日志和人工审批步骤。
- 不适用场景:
- 需要不依赖 n8n 的纯代码自动化(请使用脚本/CI 技能)。
- 需要绕过安全控制或隐藏审计痕迹。
- 需要购买或推荐违禁物品/服务。
输入
- 必需项:
- 工作流意图:触发器类型 + 计划/时区 + 成功标准。
- 目标:结果写入位置(邮件/云端硬盘/表格/数据库)及必填字段。
- 可选项:
- 待修改的现有 n8n 工作流 JSON。
- 示例负载/记录样本。
- 去重键定义(决定记录唯一性的字段)。
- 示例:
- 定时任务:每周一 08:00(欧洲/伦敦时区);发送摘要邮件并上传至云端硬盘。
- Webhook:接收 JSON;按规则路由至文件夹。
输出
- 默认(只读):工作流设计规范(节点、数据契约、故障模式)。
- 若明确请求:
workflow.json(可导入 n8n 的 JSON) + runbook.md(基于模板生成)。
成功标准:工作流具备幂等性,记录每次运行日志,安全重试,并将失败任务路由至审核队列。
工作流程
- 明确触发器:
- 定时任务/Webhook/手动触发;计划/时区;并发预期。
- 定义数据契约:
- 输入模式、必填字段及验证规则。
- 设计幂等性:
- 选择去重键及存储位置(数据库/表格),防止重试时产生重复记录。
- 添加可观测性:
- 生成 run_id,记录开始/结束时间,存储状态行和错误详情。
- 实现错误处理:
- 每个节点设置错误分支,采用退避策略重试,最终失败时发送通知。
- 添加人工审核队列:
- 将失败项写入队列(表格/数据库),需经审批后方可重新处理。
- “无静默失败”检查点:
- 若计数/阈值未达标,则停止工作流并发出警报。
- 输出:
- 若请求 JSON:生成可导入的 n8n 工作流 JSON 及操作手册。
- 需暂停并询问用户的情况:
- 目标系统未知,
- 不存在去重键,
- 未指定凭据策略(环境变量),
- 工作流需要尚未获批的特权访问权限。
输出格式
若输出 n8n 工作流 JSON,需符合以下结构:
{
"name": "<工作流名称>",
"nodes": [ { "name": "触发器", "type": "n8n-nodes-base.cron", "parameters": {}, "position": [0,0] } ],
"connections": {},
"settings": {},
"active": false
}
同时使用 assets/runbook-template.md 模板输出 runbook.md。
安全与边界情况
- 默认只读;仅在明确请求时输出工作流 JSON。
- JSON 中不包含密钥;仅引用环境变量/凭据名称。
- 包含审计日志和失败通知;避免可能静默丢失数据的工作流。
- 遵循最小权限原则:仅调用必要 API 并最小化权限范围。
示例