用途
该技能用于设计并输出 n8n 工作流 JSON,目标是让流程具备健壮的触发、幂等、错误处理、日志、重试以及人工介入(HITL)审核队列。它适合在需要把重复性任务自动化、同时要求可观测性和可恢复性的场景中使用。
何时使用
触发示例包括:
- 构建一个每周一运行并通过邮件发送合规汇总的 n8n 工作流。
- 为某个工作流添加错误处理和重试,并为失败项建立审核队列。
- 创建一个 Webhook 工作流,记录每次运行并向跟踪表写入状态行。
- 让某个 n8n 流程具备幂等性,使其重跑时不产生重复记录。
- 为某个工作流加入审计日志和人工审批步骤。
不适用的情况:需要纯代码自动化而无 n8n(应使用脚本/CI 类技能);需要绕过安全控制或隐藏审计轨迹;需要购买或推荐被禁止的物品/服务。
输入
必需:
- 工作流意图:触发类型 + 计划/时区 + 成功标准。
- 目标:结果写入位置(邮件/Drive/Sheet/DB)及必需字段。
可选:
- 现有的 n8n 工作流 JSON 以进行修改。
- 示例载荷 / 记录样例。
- 去重键的定义(什么使一条记录唯一)。
示例:
- Cron:周一 08:00 Europe/London;发送汇总邮件 + 上传到 Drive。
- Webhook:接收 JSON;路由到文件夹。
输出
默认(只读):工作流设计说明(节点、数据契约、失败模式)。 如果明确要求:workflow.json(可导入 n8n 的 JSON)+ runbook.md(基于模板)。 成功标准 = 工作流幂等、记录每次运行、安全重试,并将失败路由到审核队列。
工作流程
- 明确触发:Cron/Webhook/手动;计划/时区;并发预期。
- 定义数据契约:输入模式、必需字段、校验规则。
- 设计幂等性:选择去重键及存储(DB/Sheet)以避免重试产生重复。
- 添加可观测性:生成 run_id,记录开始/结束,存储状态行和错误详情。
- 实现错误处理:逐节点错误分支、带退避的重试、最终失败通知。
- 添加人工介入(HITL)审核队列:把失败项写入队列(Sheet/DB),并需要审批才能重新处理。
- “无静默失败”闸门:若计数/阈值不满足,则停止工作流并告警。
- 输出:若被要求 JSON,则产出可导入的 n8n 工作流 JSON + runbook。
在以下情况应停下并询问用户:目标系统未知、不存在去重键、凭证策略(环境变量)未指定、工作流需要尚未获批的特权访问。
输出格式
输出 n8n 工作流 JSON 时,应符合以下结构: { "name": "<workflow name>", "nodes": [ { "name": "Trigger", "type": "n8n-nodes-base.cron", "parameters": {}, "position": [0,0] } ], "connections": {}, "settings": {}, "active": false } 同时使用 assets/runbook-template.md 输出 runbook.md。
安全与边界情况
- 默认只读;仅在明确要求时才输出工作流 JSON。
- 不在 JSON 中包含机密;只引用环境变量/凭证名称。
- 包含审计日志 + 失败通知;避免可能静默丢数据的工作流。
- 遵循最小权限:仅调用必需的 API,并尽量缩小权限范围。
示例
输入:“每周一 Cron,邮件发送合规汇总,失败重试。” 输出:节点图 + workflow.json(Cron → Fetch → Aggregate → Email),以及指向审核队列的错误分支。
输入:“记录运行并写入状态行的 Webhook。” 输出:Webhook → Validate → Process → Append 状态行;出错时 → 记录 + 通知 + 排队。
限制与暂未提供
资料未提供该技能的收费方式、平台支持范围、具体版本要求、性能指标或部署方式,相关内容暂未提供。