AI PLAY玩法更新持续收录
← 回到更新流

2026-10-14 · 原文发布日

n8n自动申报水井完工许可:OpenAI校验+州API归档

面向水井施工合规场景的n8n模板:webhook接收完工报告后,把许可证有效期、灌浆深度、退距等字段标准化,由OpenAI智能体调用州水务局API查该县最低标准并逐项比对;不合规直接标记,合规则等待48小时养护期后从县检查API取复检读数,达标即提交备案,归档到Google Drive并经Gmail发送状态通知。

原文要点

原模板用webhook接收水井完工报告,标准化license expiry、grout depth、setback等字段;OpenAI智能体调用State Water Board API按县与含水层类型查最低灌浆深度和退距,并比对报告值与执照是否过期。失败标non-compliant;通过则等48小时,再从县检查API取养护后读数,按最低值加1 ft容差判定ready to file或on hold。达标后向州门户提交备案,归档Google Drive并经Gmail通知;模板要求替换占位API地址并确认执行数据保留覆盖48小时。

这次做成什么

做一个不触碰真实监管系统的沙盘:webhook收报告→OpenAI校验→mock州/县API→48小时等待→Drive/Gmail输出。因原文未给端点与请求格式,本站用本地mock API和合成许可号演练,真实URL、字段、容差须回模板与法规核对。

准备什么

  • n8n实例,执行数据保留能覆盖48小时或改用外部状态表
  • OpenAI凭据,仅用于结构化校验,不存放真实许可证隐私
  • HTTP Header Auth测试凭据两套,指向本地mock而非州/县真实API
  • Google Drive与Gmail OAuth2测试凭据,目标为隔离文件夹和测试收件箱
  • POST测试工具与合成完工报告,不含真实井主姓名、地址或许可证号

具体怎么做

  1. 接收并标准化完工报告

    建Production/Test Webhook,路径如well-completion-sandbox;接到POST后用Set节点统一字段:license_expiry转ISO日期,grout_depth_ft与setback_ft转Number,county和aquifer_type小写去空格,report_id必填。缺失字段直接返回400并写sandbox_error。

  2. OpenAI调用mock州标准并比对

    用OpenAI Agent或结构化输出,工具是HTTP Request到mock State Water Board:GET /standards?county={{county}}&aquifer_type={{aquifer_type}}。要求返回{min_grout_depth_ft,min_setback_ft}。比较reported.grout_depth_ft>=min_grout_depth_ft、setback_ft>=min_setback_ft、license_expiry晚于当前日期;任一失败写compliance=non-compliant并结束通知。

  3. 通过初检后管理48小时养护

    初检合规写status=curing并进入Wait 48 hours;练习可把Wait缩短到2分钟,但必须在配置里标明仅演练。等待后到mock County API:GET /inspections/{{report_id}}/post-cure,取post_cure_grout_depth_ft;按min_grout_depth_ft-1 ft容差判断,达标ready to file,否则on hold。

  4. 提交备案、归档与邮件

    ready to file时POST mock State portal /filings,body含report_id、county、final_grout_depth_ft、filed_at;保存返回filing_id。Google Drive上传同一Item的JSON副本到测试folderId,文件名report_id.json;Gmail发状态,正文列判定、容差、filing_id和Drive链接。练习收件人固定测试邮箱,不映射真实联系人。

  5. 记录审计轨迹

    每个分支都写audit数组:received_at、normalized、standard_source=mock、initial_pass、cure_wait_minutes、post_cure_reading、final_status。失败也保留错误节点名与HTTP状态;重跑用report_id做幂等键,避免重复备案和重复邮件。

可直接复制的材料

合成webhook完工报告

虚构练习输入;example.test与测试许可证号不可用于真实申报。

{"report_id":"WELL-SANDBOX-0001","county":"Test County","aquifer_type":"unconfined","license_expiry":"2027-05-01","grout_depth_ft":62,"setback_ft":52,"driller_contact":"sandbox@example.test","notes":"本站合成数据,仅用于隔离演练"}

OpenAI校验提示词

本站独立编写;模型、工具调用与JSON模式需按所用OpenAI节点核对。

你是合规数据校验器,不创造法规。输入report对象与state_standard对象。只输出JSON:checks数组,每项含name、reported、required、pass、reason;summary为compliant或non_compliant。规则:grout_depth_ft必须大于等于min_grout_depth_ft;setback_ft必须大于等于min_setback_ft;license_expiry必须晚于today_iso。不要推断缺失县标准,缺少state_standard时summary输出unknown并在reason写缺少标准。所有数字保留一位小数。

mock州与县API配置

仅方案,不是原工作流文件;真实端点、Header名、driveId/folderId与法规容差必须替换并核对。

{"stateStandards":{"baseUrl":"http://localhost:5678/mock-state","authHeader":"X-Sandbox-Key","endpoint":"/standards","response":{"min_grout_depth_ft":60,"min_setback_ft":50}},"countyInspection":{"baseUrl":"http://localhost:5678/mock-county","authHeader":"X-Sandbox-Key","endpoint":"/inspections/WELL-SANDBOX-0001/post-cure","response":{"post_cure_grout_depth_ft":59.4}},"cure":{"waitMinutesForPractice":2,"productionHours":48,"toleranceFt":1},"drive":{"folderId":"sandbox-folder"},"gmail":{"to":"sandbox@example.test"}}

输入与输出示例

本站虚构演示,数字按1 ft容差对应,非州/县真实结果,未声明运行成功。

输入

POST WELL-SANDBOX-0001:county=Test County,aquifer_type=unconfined,license_expiry=2027-05-01,grout_depth_ft=62,setback_ft=52;mock州标准min_grout_depth_ft=60、min_setback_ft=50;养护后读数59.4。

对应输出

初检JSON:checks grout 62>=60 pass、setback 52>=50 pass、license 2027-05-01晚于today pass,summary=compliant;养护判定:59.4>=60-1 pass,final_status=ready to file;备案返回filing_id=SBX-FILE-0001,Drive文件WELL-SANDBOX-0001.json,Gmail主题「WELL-SANDBOX-0001 ready to file」。

做完检查这些

  • webhook缺report_id或数字字段无法转换时返回400且不进入校验
  • OpenAI输出只含checks与summary,县标准缺失时summary=unknown
  • 初检三项全过才进入curing,否则直接non-compliant并通知
  • 等待后读数按最低值减1 ft容差判定,59.4对60应通过
  • 备案后同一report_id重复触发不会生成第二个filing_id
  • Drive上传名与Gmail正文都含report_id、filing_id和final_status

容易卡住的地方

  • 48小时等待要求执行数据保留足够,重启或清理会丢上下文
  • 州和县端点是占位符,直接套真实URL可能违反授权或法规流程
  • 不同县或含水层标准不同,不能用本练习数值替代当地法规
  • 执照时区、夏令时或日期格式错误会造成误判过期
  • OpenAI不能替代官方标准查询,缺标准时必须unknown而不是编造
  • Drive/Gmail OAuth2作用域不足会表现为归档成功但邮件失败或反之

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
File water well completion permits with OpenAI, state APIs, Google Drive and Gmail
原作者
Swapnil Mandloi
原始发布日期
2026-10-14T03:48:49.426Z
来源
https://n8n.io/workflows/20920