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

2026-10-13 · 原文发布日

PII脱敏后用AI分类并起草客服回复

这条n8n流程通过webhook或手动触发接收客服工单,先把工单正文交给Enterprise PII Guardrails将姓名、邮箱等敏感信息替换为替代令牌,再让OpenAI(gpt-4o-mini)基于脱敏文本做优先级、分类和情绪判断并起草回复,之后在本地环境还原原始信息,打包成可送入CRM的结构化载荷,兼顾隐私与自动化。

原文要点

原作者Vishal Prajapati的n8n模板:经POST webhook或手动触发接收工单(ticket_id、channel、customer_name、customer_email、ticket_subject、ticket_body),规整字段后把正文发给Enterprise PII Guardrails,将PII替换为替代令牌并返回令牌到原值的映射;脱敏文本交OpenAI(gpt-4o-mini)做优先级、分类、情绪判断并起草回复,要求逐字保留令牌;随后用映射在本地环境还原PII,打包成CRM派送与审计载荷。需自建或演示版Guardrails的API key与base URL,OpenAI需有gpt-4o-mini权限。

这次做成什么

搭一条“脱敏→AI处理→还原→出CRM载荷”的隐私保护工单流水线。本站独立设计练习:用手动触发加一条合成工单先验证令牌保留与还原,再接webhook;给出完整分类提示词、测试JSON与验收条件,不编造模板未提及的节点或API路径。

准备什么

  • n8n环境,并从模板页导入该工作流
  • Enterprise PII Guardrails的API key凭据,以及对应部署(演示或自托管)的base URL
  • OpenAI API凭据,且账号可使用gpt-4o-mini模型
  • (可选)能向webhook地址POST JSON的工单来源或curl/Postman工具

具体怎么做

  1. 配置两类凭据

    在n8n凭据中新建Enterprise PII Guardrails的API key凭据,并在流程对应配置处填入你的Guardrails base URL(演示或自托管地址);再新建OpenAI凭据,确认模型选择gpt-4o-mini对你的账号可用。两者缺一都会在对应节点报401或模型不可用错误。

  2. 手动触发跑合成工单

    先用Manual Trigger手动执行,把下文测试JSON作为工单输入。依次检查:规整节点输出字段齐全;Guardrails脱敏后正文中姓名、邮箱已变成形如[PERSON_1]、[EMAIL_1]的令牌并返回映射;OpenAI节点收到的只有脱敏文本。

  3. 核对AI输出与还原结果

    查看OpenAI返回的分类与回复草稿,确认草稿中的令牌原样保留未被改写;再查看还原节点输出,草稿里的令牌已被映射表替换回原始姓名与邮箱,最终载荷同时包含还原后的草稿和隐私元数据。

  4. 接入webhook

    改用webhook触发,复制support-ticket-inbound端点的webhook URL,用curl或Postman POST相同字段的JSON,确认与手动触发得到一致结果后,再把该URL配置到真实工单来源系统。

  5. 出载荷前人工抽检

    在CRM派送前抽看若干条的audit载荷:确认送出的正文不含任何残留令牌、分类标签与情绪判断合理,再决定直接进入CRM还是加人工复核环节。

可直接复制的材料

OpenAI分诊与起草提示词

本站独立编写,需替换花括号变量;令牌保真规则对应原流程要求,勿删除

你是客服工单分诊与回复起草助手。输入是一条已脱敏的工单,正文中形如[PERSON_1]、[EMAIL_1]的方括号令牌代表被隐去的个人信息。

硬性规则:这些令牌必须逐字原样保留在你的输出中,禁止改写、翻译、猜测或还原令牌内容。

任务:
1. 判断priority(取值:low/medium/high/urgent)、category(取值:billing/bug/account/feature/other)、sentiment(取值:positive/neutral/negative),各给一个0到1的confidence。
2. 起草一段不超过120字的中文回复草稿,称呼处使用[PERSON_1]令牌。
3. 严格只输出JSON:{"priority":"...","category":"...","sentiment":"...","confidence":{"priority":0.0,"category":0.0,"sentiment":0.0},"reply_draft":"..."}

工单主题:{{ticket_subject}}
工单正文:{{masked_ticket_body}}

webhook/手动触发测试工单JSON

本站虚构合成数据,邮箱为示例域名;字段名按原文列出的入站字段

{
  "ticket_id": "T-9001",
  "channel": "email",
  "customer_name": "陈晓萌",
  "customer_email": "chenxm@example-test.cn",
  "ticket_subject": "升级后导出报表报错",
  "ticket_body": "我是陈晓萌,邮箱chenxm@example-test.cn。昨天升级到3.2版后,导出月度报表一直提示500错误,财务月底要用,麻烦尽快处理。"
}

CRM派送载荷结构示例

本站按原文“结构化派送与审计载荷”描述设计的示意结构,实际字段以模板输出节点为准核对

{
  "ticket_id": "T-9001",
  "channel": "email",
  "triage": {
    "priority": "high",
    "category": "bug",
    "sentiment": "negative"
  },
  "resolution_draft": "陈晓萌您好,很抱歉升级后导出报表出现500错误……",
  "privacy": {
    "pii_masked": true,
    "tokens_restored": 2,
    "ai_received_raw_pii": false
  },
  "audit": {
    "model": "gpt-4o-mini",
    "processed_at": "2026-10-13T09:30:00Z"
  }
}

输入与输出示例

本站虚构演示,非原作者结果,未在本站运行

输入

POST测试工单T-9001:客户陈晓萌(chenxm@example-test.cn)反映升级3.2版后导出月度报表报500错误、月底财务急用。

对应输出

脱敏后正文变为“我是[PERSON_1],邮箱[EMAIL_1]。昨天升级到3.2版后……”;OpenAI返回{"priority":"high","category":"bug","sentiment":"negative","confidence":{"priority":0.9,"category":0.95,"sentiment":0.85},"reply_draft":"[PERSON_1]您好,很抱歉升级后导出报表出现500错误,我们已登记为紧急故障,工程师正在排查,会在今天内给您初步答复。"};还原节点把[PERSON_1]、[EMAIL_1]换回陈晓萌与chenxm@example-test.cn后进入CRM载荷,privacy.ai_received_raw_pii=false。

做完检查这些

  • OpenAI节点的请求体中只出现令牌,不出现陈晓萌或真实邮箱字符串
  • AI返回的reply_draft里[PERSON_1]逐字保留,未被改成中文姓名或拼音
  • 还原后草稿中所有令牌均被替换,最终载荷里无残留方括号令牌
  • 最终载荷同时含还原草稿与隐私元数据,可直接作为CRM入站JSON解析
  • webhook与手动触发两种方式对同一工单产出一致的分类结果

容易卡住的地方

  • Guardrails的base URL必须指向你自己的部署或演示服务,填错会在脱敏节点直接失败
  • OpenAI账号若无gpt-4o-mini权限需先在账号侧开通,否则模型调用报错
  • 令牌保真依赖提示词约束,提示词被改弱可能导致AI改写令牌,还原时出现错位或残留
  • 脱敏只覆盖Guardrails识别的PII类型,订单号、内部编号等自定义敏感串需另行评估
  • 映射表丢失或对应不上时无法还原,执行中途失败要保留映射再重试
  • webhook端点暴露后任何人可POST,生产环境应加鉴权或IP白名单

原文与作者资料 ↗

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

原文标题
Triage and draft PII-safe support replies with OpenAI and Enterprise PII Guardrails
原作者
Vishal Prajapati
原始发布日期
2026-10-13T09:50:39.871Z
来源
https://n8n.io/workflows/20870