【综合实战】实战:低代码 + AI 搭建审批流

摘要:用低代码平台 + AI 节点搭请假/报销/采购审批流,AI 接管提字段、做预警、自动分类,30 分钟跑通。

你需要先知道几个术语

本文密度较高,第一次出现的术语都先用大白话翻译一遍,后面就当共识用了:

  • 低代码(low-code)= 不用写代码也能搭应用的平台,拖拖拽拽就出表单 + 流程。本文里特指 4 个:Power Automate(微软,英文界面,海外/外企首选)、飞书多维表格(字节,绑定飞书生态)、钉钉宜搭(阿里,绑定钉钉生态)、腾讯微搭 / 腾讯文档智能表(腾讯,绑定微信/企业微信生态)。其中"腾讯文档智能表"是轻量审批/表格式方案(腾讯文档内嵌),"腾讯微搭低代码"是重应用/复杂流程方案(企业微信工作台),二者关系请看第三节对照表。
  • 审批流(approval flow)= 提交申请 → 各级主管审批 → 结束的多步流程。每一步能决定"通过/驳回/加签/转交"。
  • AI 节点= 审批流中间夹一段"让 AI 干点活"的小步骤,比如读一段附件、给申请分类、检测异常。背后其实是把 GPT 这类大模型包成一个可视化按钮,你配个提示词(prompt,就是你"告诉 AI 干啥 + 怎么干"的那段话),它就出结果。
  • 连接器(Connector)= 低代码平台和外部服务之间的"插头",比如"SharePoint 连接器""Outlook 邮件连接器""Azure OpenAI 连接器"。低代码能不能调某个外部服务,就看有没有对应的连接器。
  • Power Automate / AI Builder= Power Automate 是流程编排工具,AI Builder 是它内置的"AI 小工具箱",里面有"提取信息""分类文本""识别发票"等现成动作,不用写代码就能用。
  • Premium(高级)连接器 / AI Builder 许可= 微软对部分高级功能收费的"门票",HTTP Webhook 等连接器需要 Power Automate Premium 许可证。AI Builder 不等同于 Premium 许可证——AI Builder 需要独立的 AI Builder capacity(可随 Power Automate Premium 一起申请,也可单独购买 AI Builder credits);租户没有 AI Builder capacity 就直接跑 AI 节点,会报 requires AI Builder entitlement 错。这一条会在避坑指南里反复强调。

一、痛点引入

你肯定见过这种场景:

老板突然丢过来一句:"下周一开始,所有请假/报销/采购都走线上审批,流程要能自动判断,不能我天天盯着。"

然后你打开钉钉/飞书自带的审批,发现 3 个尴尬:

  1. 字段是死的:请假事由只能填一段文字,没法自动归类"病假/年假/事假",HR 还得手动挑;
  2. 流程是死的:年假自动过、病假要医院证明、采购超 5000 走财务——这些规则平台默认没有,要装插件或找开发;
  3. AI 是没有的:请假事由里写着"家里娃发烧了,医生建议休息三天",平台看不懂,只能让主管凭经验判断。

传统审批系统是"流程引擎 + 表单",没有"思考层"。本文要解决的就是这个:用低代码搭骨架 + AI 节点做思考,搭一个"流程 + 智能"的审批流,30 分钟跑通最小可用版。

本案会用一个真实场景串到底:请假审批流(请假类型自动分类 + 异常请假预警 + 自动抄送 HR)。文末再给出国内 3 个平台(飞书多维表格 / 钉钉宜搭 / 腾讯微搭 + 腾讯文档智能表)的快速对照,方便你按企业生态选型。

二、目标产出

学完这篇,咱们能搞定这几件事:

  • 搭出一套能跑通的低代码审批流(Power Automate 主案例,30 分钟搞定最小可用版);
  • 嵌入至少 3 个 AI 节点:① 智能提取事由中的关键信息、② 自动分类请假类型、③ 异常检测(突发/频繁/撞档);
  • 拿到一份可复用的提示词模板(附在文末),改改就能用在报销、采购、合同审批上;
  • 看懂国内 3 个主流低代码平台的差异,知道自己的企业该用哪个。

下面全程给真实可落地的搭建步骤,所有提示词拷过去就能用。

三、案例实战

准备:选平台

主案例用 Power Automate(微软)+ SharePoint Lists(当数据库)+ Outlook(当通知),原因是它的 AI 节点(AI Builder)最成熟、英文术语最规范、出错信息最清楚。国内同学请直接跳到本节最后的"国内三平台快速对照"。

4 平台核心能力对照表(数据基于各平台 2024-2025 公开文档,具体功能边界请以你登录后实际看到的为准):

维度 Power Automate 飞书多维表格 钉钉宜搭 腾讯微搭 / 腾讯文档智能表
所属生态 微软 365 字节飞书 阿里钉钉 腾讯/企业微信
表单搭建 Forms / SharePoint / Power Apps 多维表格 + 表单视图 表单设计器 微搭:低代码表单设计器 / 智能表:表格式表单视图
内置 AI 能力 AI Builder + Copilot Studio 飞书 AI 字段捷径、智能伙伴 宜搭 AI 助理、通义千问接入 腾讯文档智能表的 AI 字段 / 微搭低代码的 AI 节点 / 通过腾讯云混元 API 自定义接入(三选一)
审批节点 Approvals(原生) 审批流组件 流程设计器 流程引擎
跨系统连接 700+ Connector 飞书开放平台 + Webhook 钉钉开放平台 + 连接器 微信生态 + HTTP
费用门槛 AI 节点需 AI Builder capacity(可随 Power Automate Premium 一起申请,也可单独购买 AI Builder credits) 部分 AI 能力按席位收费 基础免费,AI 增值收费 智能表基础免费,微搭按席位/资源计费,混元 API 按 token 计费
学习曲线 中(英文为主) 低(中文,UI 友好) 低(中文,UI 友好)

腾讯微搭 vs 腾讯文档智能表的关系:轻审批走智能表(腾讯文档内,适合请假/报销这类轻流程,拖字段 + 表单视图就够);重应用走微搭(企业微信工作台,适合多级审批、跨系统对接、复杂业务应用)。二者都是腾讯系,但定位不同,不要混用。

⚠️ 表中腾讯系 AI 模块的具体入口(模块名 2024-2025 仍在迭代),以你账户里实际看到的为准,推荐路径如下:① 腾讯文档智能表——腾讯文档 → 打开智能表 → 表头字段类型 → 选"AI 字段" → 选择动作(分类/提取/总结);② 微搭低代码——企业微信工作台 → 微搭 → 应用编辑器 → AI 节点(从节点面板拖入);③ 腾讯云混元 API——腾讯云控制台开通混元大模型 → 拿到 API Key → 在微搭/智能表里加"自定义连接器 + HTTP 调用"。三种入口任选其一即可,本文不会逐个展开。

第一步:搭骨架——请假申请表(SharePoint List)

这一步我们把"请假申请表"搭出来,作为整个审批流的数据源。如果你没用微软全家桶,改成飞书多维表格或钉钉宜搭的"表单设计器",字段一模一样。

1) 新建 SharePoint 站点 → 新建 List,名字叫"请假申请",加这些列:

列名(英文) 列名(中文) 类型 备注
Applicant 申请人 Person or Group 申请人
LeaveType 请假类型 Choice 病假 / 年假 / 事假 / 调休 / 产假 / 陪产假
StartDate 开始日期 Date
EndDate 结束日期 Date
TotalDays 请假天数 Number 计算列:EndDate - StartDate + 1
Reason 请假事由 Multiple lines of text AI 主要读这列
Attachment 附件 Attachment 医院证明/机票截图等
AI_Category AI 分类结果 Single line of text AI 节点回填
AI_Urgency AI 紧急程度 Choice 高 / 中 / 低
AI_RiskFlag AI 异常标记 Yes/No AI 节点回填
AI_Conflict AI 撞档标记 Yes/No (Choice) 第五步撞档检测回填:和项目里程碑冲突 = Yes
Status 审批状态 Choice 审批中 / 通过 / 驳回

2) 在 List 设置里把"申请人"列改成默认填当前用户,这样员工提交时不用每次都选自己。

小贴士:列名用英文是 Power Automate 的"潜规则",表达式里引用字段要用内部名(Applicant,不是显示名"申请人")。如果你坚持用中文列名,记得在表达式里写成 ['申请人'],但容易踩坑。

第二步:触发器——当有新申请时启动流程

打开 Power Automate(https://make.powerautomate.com )→ CreateAutomated cloud flow → 名字叫"请假审批流-AI辅助" → 触发器选 When an item is created(SharePoint)。

配置:

  • Site Address:你的 SharePoint 站点 URL
  • List Name:请假申请

保存。这一步让"有新申请提交"自动唤醒后面的 AI 和审批动作。

第三步:插入第一个 AI 节点——智能提取事由(核心)

回到流程编辑器,在触发器下面点 + New step → 搜 AI Builder → 选 Extract information from text(当前规范名称)→ 展开 **Custom entities(自定义实体)**面板 → 点 + Add entity 加实体。下面 4 个实体就是"自定义实体"的填法。

配置:

  • Text input:从动态内容选 Reason(事由)
  • Custom entities:点击展开,加 4 个实体,每个起名 + 写描述:
实体名(英文) 描述(给 AI 看的人话)
ReasonSummary 一句话总结请假原因,严格 ≤ 20 个中文字符(含标点),超出截断;只输出主语 + 动作,如"孩子高烧需陪护"
IsUrgent 是否紧急(true/false),家里突发/孩子生病/家属去世算 true
NeedsAttachment 是否需要补充材料(true/false):病假 且 请假天数 ≥ 3 天 = true,或任何需要医院证明的场景(手术、住院、产检等) = true;其他情况 = false
MentionedDates 文本中提到的具体日期或时间段,没有则填"无"

这个"实体描述"就是 AI 干活时的"判断标准",写得越具体,AI 越准。比如上面"IsUrgent 是否紧急"那条,直接列了"突发/孩子生病/家属去世"三个例子,AI 命中这些关键词时会更倾向判 true。

看不到"自定义实体"入口怎么办? 部分账户/租户(尤其是试用版、区域受限版、或 AI Builder capacity 不足的租户)在 AI Builder 动作里看不到 Custom entities 展开面板。如果遇到这种情况,直接改用下一步(第四步)的"HTTP + Azure OpenAI 自定义提示词"方案,把上面 4 个实体改写成 JSON 输出字段即可,效果一样。

保存并测试:点流程编辑器的 Test → 选 Manually → 去 SharePoint 手动提交一条申请,等几秒后回来,看 AI 节点输出。

预期输出(JSON 风格,会出现在 run history 里):

json
{ "ReasonSummary": "孩子突发高烧需陪护", "IsUrgent": "true", "NeedsAttachment": "true", "MentionedDates": "无" }

第四步:插入第二个 AI 节点——自动分类(可选,提示词方案)

如果你的 Power Automate 版本或租户不开放 AI Builder 的 "Classify text",或者你想更细粒度地控制分类规则,可以走 "HTTP + Azure OpenAI 连接器" 自定义提示词方案,效果一样,只是配置步骤多一点。

步骤:

  1. 新建 Azure OpenAI 资源,部署一个 GPT-4o-mini(或 GPT-4)模型,记下 endpoint + API key + deployment name;
  2. 在 Power Automate 加 HTTP 动作(Premium),Method = POSTURI = Azure OpenAI 的 chat completions endpointHeaders 填 api-keyContent-Type: application/jsonBody 用下面的 JSON;

Body 模板(把 {{...}} 换成 Power Automate 的动态内容表达式):

json
{ "messages": [ { "role": "system", "content": "你是 HR 助手,负责把员工请假事由归到下列 6 类之一,并判断紧急程度。只输出合法 JSON,不要任何解释,不要 markdown 代码块。" }, { "role": "user", "content": "事由原文:{{triggerOutputs()?['body/Reason']}}\n\n可选类别:病假、年假、事假、调休、产假、陪产假\n\n输出 JSON 格式:\n{\n \"category\": \"<上述 6 类之一>\",\n \"urgency\": \"高/中/低\",\n \"risk_flag\": true/false,\n \"risk_reason\": \"如果 risk_flag=true,简短说明原因(20字内);否则留空\"\n}" } ], "temperature": 0.2, "max_tokens": 200 }

提示词设计三条人话规则:① 角色(system) 锁定 AI 身份 → 减少跑偏;② 用户消息里给"可选类别 + 输出 JSON 格式" → 强制 AI 输出可解析的结构;③ temperature 调到 0.1-0.3 → 让分类结果稳定,不每次都换花样。

3) 解析 AI 返回值:AI 返回的是一段 JSON 字符串,Power Automate 用 Parse JSON 动作(数据操作里)拆开。Schema 直接用上面那段 JSON 的字段定义。

为什么强调 JSON?:AI 节点后面如果接"条件分支"(比如 risk_flag == true 走预警流程),必须能从 AI 输出里稳定取出字段。如果让 AI 输出自由文本,后面接逻辑就会疯掉——一会儿返回中文逗号,一会儿 JSON 套娃。所以所有 AI 节点都强制输出 JSON,这是工业级用法的第一条铁律。

第五步:插入第三个 AI 节点——异常检测预警

请假场景里,3 类异常值得自动预警:

  1. 频繁短假:同一个人 30 天内请假 ≥ 3 次;
  2. 撞档:请假时间段和已确认的项目关键里程碑重叠;
  3. 超长:单次请假超过 10 个工作日。

这个用 AI 不一定最划算(纯 SQL/Filter Query 就能做),但**"撞档"那条** AI 更强——因为要读"项目里程碑表"里的非结构化描述。提示词模板:

json
{ "messages": [ { "role": "system", "content": "你是项目经理助理,负责判断一次请假申请是否和已确认的项目里程碑冲突。" }, { "role": "user", "content": "请假人:{{triggerOutputs()?['body/Applicant/DisplayName']}}\n请假时段:{{triggerOutputs()?['body/StartDate']}} 至 {{triggerOutputs()?['body/EndDate']}}\n请假事由:{{triggerOutputs()?['body/Reason']}}\n\n项目里程碑列表(来自数据库):{{variables('ProjectMilestones')}}\n\n只输出 JSON:\n{\n \"conflict\": true/false,\n \"conflict_milestone\": \"如果 conflict=true,写出冲突的具体里程碑名;否则留空\",\n \"suggestion\": \"给审批人的一句话建议(30字内)\"\n}" } ], "temperature": 0.1 }

把 AI 节点的 conflict 字段接到后面 Condition 节点:等于 true 就走"加抄送 CTO"分支,否则走常规审批分支。

第六步:把 AI 结果回填到 SharePoint + 走审批

回到流程主线:

  1. Update item(SharePoint):把 AI_CategoryAI_UrgencyAI_RiskFlagAI_Conflict 四个列用 AI 节点的输出更新;
  2. Condition:根据 AI_Urgency 分流——
    • :邮件 + 钉钉/Teams 双重通知直属上级,加抄送 HRBP;
    • 中 / 低:走标准 Approvals 节点,等直属上级通过;
  3. Approvals 节点:Approve/Reject - First to respond,审批人 = Applicant 的直属上级(用 Office 365 Users 连接器查 manager);
  4. Condition on approval result:通过 → 写回 Status = 通过 + 邮件通知申请人;驳回 → 写回 Status = 驳回 + 邮件通知 + 让 HR 介入。

整体流程串起来长这样:

[触发器] 新申请创建
   ↓
[AI 节点 1] 智能提取事由(ReasonSummary / IsUrgent / NeedsAttachment)
   ↓
[AI 节点 2] 自动分类(category / urgency)
   ↓
[AI 节点 3] 异常检测(risk_flag / conflict)
   ↓
[更新 SharePoint] 把 AI 输出回填到对应列
   ↓
[Condition] urgency = 高 → 走"加急通道"(双重通知 + 加抄送 HRBP)
[Condition] urgency ≠ 高 → 走"标准通道"(Approvals 节点)
   ↓
[审批结果 Condition] 通过 → Status=通过 + 邮件通知
                      驳回 → Status=驳回 + 邮件 + HR 介入
   ↓
[End]

第七步:测试与上线

1) 准备 5 条测试数据(刻意覆盖边界):

申请人 请假类型(手填) 事由(摘要) 期望 AI 输出 触发的 AI 节点
张三 事假 "陪家人去体检,提前约好的" category=事假, urgency=低, conflict=false AI 节点 2(自动分类)
李四 病假 "昨晚突发高烧,医生建议休息三天" category=病假, urgency=高, NeedsAttachment=true AI 节点 1(提取)+ AI 节点 2(分类)
王五 年假 "春节回家,提前请假 7 天" category=年假, urgency=中, conflict=视里程碑而定 AI 节点 2(分类) + AI 节点 3(撞档检测,若里程碑命中)
赵六 病假 "小孩发烧,我也要请假" category=病假, urgency=高 AI 节点 1(提取)+ AI 节点 2(分类)
测试账号 事假 "我要请 30 天,理由不方便说" category=事假, urgency=高, risk_flag=true(此条命中的是第五步"超长(>10 工作日)"异常——按本文建议,这类用规则/Filter Query 判定即可,不必非走 AI) 条件分支(Filter Query 判超长)→ AI 节点 3 汇总 risk_flag

2) 在 Power Automate 点 Test → Manually,逐条触发,检查 AI 节点输出和最终审批路由对不对。

3) 上线前 3 件事:

  • 把流程的 Trigger conditions 加一条"当 Status 是空才触发",避免重复触发;
  • 给 SharePoint List 设权限:所有人可创建、申请人本人和管理员可看、其他员工看自己部门的;
  • 在流程最外层包一层 Try-Catch(Scope + Configure run after),AI 节点或外部 API 异常时,走兜底分支(直接转人工审批,不让流程挂死)。

国内三平台快速对照(选你企业能落地的)

⚠️ 下面每条都按"平台官方公开文档 + 2024-2025 实际使用"给的指引,但功能名 / 模块位置 / 收费规则迭代很快,你登录后看到的可能和这里略有出入,以你账户里实际见到的为准。

飞书多维表格(字节飞书)

  • 入口:飞书工作台 → 多维表格 → 新建表 → 右侧"自动化"按钮;
  • 表单:多维表格的"表单视图"直接拖字段就行,比 SharePoint 友好;
  • AI 节点:用"AI 字段捷径"(以前叫"捷径 AI")——在字段类型里选"AI 字段",内置"分类""提取""翻译""总结"几个动作,选一个 → 写提示词 → 选输入字段即可,最省事;
  • 审批:多维表格的"自动化"里有"发起审批"动作,审批人可以是单个人/角色/部门;
  • 优势:中文 UI、提示词配置最直观、和飞书消息/日历天然打通;
  • :跨应用连接偏弱,要把数据同步到外部系统得走 webhook 或飞书开放平台。

钉钉宜搭(阿里钉钉)

  • 入口:钉钉工作台 → 宜搭 → 新建应用 → 选"流程表单";
  • 表单:表单设计器拖拽,字段类型比飞书多(关联表单、子表单、公式都有);
  • AI 节点:宜搭 AI 助理 + 通义千问接入,配置比飞书稍复杂但更灵活(支持自定义提示词 + 多轮对话);
  • 审批:流程设计器是宜搭的强项,支持的条件分支、并行节点、子流程比 Power Automate 还细;
  • 优势:流程引擎最重,如果你们公司业务审批很复杂(比如采购要走 5 级、有平行会签),宜搭最稳;
  • :宜搭 AI 助理对钉钉企业版账户开放,基础 prompt 抽取、文本分类、字段生成无需白名单;但个别高级能力(如自训练模型挂载、特定行业增强包调用、对外 API 额度提升)需要企业版高级权益或单独走申请流程,先确认你的账户是钉钉企业版再上手,否则 AI 节点拖出来是灰的。

腾讯微搭 + 腾讯文档智能表(腾讯)

  • 入口:轻审批走腾讯文档 → 智能表;重应用走企业微信工作台 → 微搭低代码;
  • 表单:腾讯文档智能表的"表单视图"足够轻,拖字段 + 配视图就行;要做复杂应用走微搭;
  • AI 节点(三选一即可):
    • 腾讯文档智能表的 AI 字段——路径:腾讯文档 → 打开智能表 → 表头字段类型 → 选 "AI 字段" → 选动作(分类/提取/总结/翻译) → 写提示词 → 选输入字段;
    • 微搭低代码的 AI 节点——路径:企业微信工作台 → 微搭 → 应用编辑器 → 左侧节点面板搜 "AI 节点" → 拖入 → 选混元模型 + 写提示词;
    • 腾讯云混元 API 自定义接入——腾讯云控制台开通混元大模型 → 拿 API Key → 在智能表或微搭里加"自定义连接器 + HTTP 调用",适合要调自己微调过的混元模型的场景; ⚠️ 注:具体模块名(如"AI 字段""AI 节点""混元接入")在 2024-2025 多个版本里换过名字,以你账户里实际看到的为准;
  • 审批:微搭的流程引擎支持多级审批 + 条件分支,够用;智能表配"自动化"按钮也能跑轻审批;
  • 优势:和企业微信生态打通最丝滑,如果你们主要用企业微信,选这个最省事;
  • :腾讯文档智能表和微搭是两个产品,别混了——轻审批用智能表,重应用用微搭(本文第三节对照表也单独写过)。

选哪个?

你们企业的现状 推荐
海外 / 外企,微软 365 全家桶 Power Automate + AI Builder(本文主案例)
主要用飞书,业务不算太复杂 飞书多维表格 + AI 字段捷径
审批流程超复杂(5 级以上/会签/子流程) 钉钉宜搭
主要用企业微信,想要微信生态打通 腾讯微搭 / 智能表

四、原理小结

低代码 + AI 这套打法,本质上就是两层:

  1. 可视化流程引擎(Power Automate / 飞书自动化 / 宜搭流程 / 微搭流程)负责"骨架"——触发器、条件分支、并行节点、人工审批节点,这些和 20 年前 BPM(业务流程管理)工具做的事一样,只是 UI 拖拽化了;
  2. AI 节点(AI Builder / AI 字段捷径 / 宜搭 AI / 自定义 HTTP+LLM)负责"思考层"——把一段非结构化文本(事由、附件 OCR 结果)变成结构化字段,让流程引擎能基于这些字段走分支、做预警、自动派单。

什么时候用 AI、什么时候用规则?一条经验:

  • 字段是结构化的(金额、日期、人名)→ 用规则(SQL / Filter Query),便宜、稳定、可解释;
  • 字段是非结构化的(事由、附件、邮件正文)→ 用 AI,这是 AI 真正擅长的;
  • 判断标准是模糊的("是否紧急""是否需要加签")→ 用 AI,写清提示词就行;
  • 判断标准是确定的(金额 > 5000 走 CFO)→ 用规则,别让 AI 浪费 token。

记住一句话:AI 是审批流的"翻译官",不是"决策者"。 关键决策(批不批)还得人来,AI 只负责把信息从"乱糟糟"翻译成"能决策"。

五、避坑指南

  1. AI 节点不是免费的——Power Automate 的 AI Builder 要单独的 capacity。很多同学兴冲冲搭完,运行才发现 requires AI Builder entitlementActions in this flow require a Premium license,这两个错不是一回事,分清楚再动手:

    • HTTP / 自定义连接器类错(require a Premium license)→ 解决办法:让公司 IT 申请 Power Automate Premium 许可证(覆盖 HTTP Webhook 等高级连接器);
    • AI Builder 类错(requires AI Builder entitlement)→ 解决办法:单独申请 AI Builder capacity(可随 Premium 一起批,也可单独购买 AI Builder credits,按调用量计费);
    • 想绕开收费 → 改用飞书/钉钉/腾讯文档智能表的"AI 字段",基础 AI 能力大部分账户免费够用;或走微软自家 Azure OpenAI(企业合约;注意"HTTP"或自定义连接器动作本身仍属高级连接器,相应许可证省不掉)。
  2. 敏感信息不要直接喂给公网大模型。 请假事由里可能含姓名、电话、医院、病情,这些别直接发给 OpenAI / 智谱 / DeepSeek 的公网 API。要么用企业内私有部署的 LLM(微软 Azure OpenAI 私有部署、阿里通义企业版、腾讯混元企业版都行),要么在 AI 节点前面加一个数据脱敏步骤(正则把手机号 / 身份证 / 邮箱替换成 ***)。⚠️ 隐私这事没小事,出过合规事故再补就晚了。

  3. AI 输出必须做 Schema 校验,别"它说啥就是啥"。 AI 可能给你返回 "category": "调休或年假"(两个值)、"urgency": "高啊"(带了语气词)、甚至返回半截 JSON 就报错。Parse JSON 节点 + 显式 Schema 是兜底;再严一点,在 AI 提示词里加一句"如果信息不足无法判断,返回 {"category": "unknown", "urgency": "中", "risk_flag": false}",让 AI 有退路,而不是硬猜。

  4. AI 超时 / 异常必须有兜底分支,别让流程挂死。 AI 调用本质是 HTTP 请求,可能超时(默认 30 秒)、可能被限流(429)、可能服务挂了(503)。Power Automate 的 Scope + "Configure run after" 能实现 try-catch;Azure OpenAI 连接器要设 Retry Policy(指数退避,重试 3 次)。兜底策略 = 跳过 AI,直接转人工审批,业务不中断。

  5. 表单字段命名 + 提示词一起做"AI 友好"。 字段名别用 f1txt1附件1 这种没人能懂的命名,AI 读到这种字段名会一脸懵。字段名 = 字段含义(如 ReasonSummary 而不是 f1),提示词里直接引用字段名当变量,AI 理解起来快得多。另外,同一字段名在不同 List 里含义要一致(别在 List A 里 Reason 表示"请假事由"、在 List B 里 Reason 表示"驳回理由"),AI 跨表关联时会精神分裂。

六、进阶延展

到这里你已经能用低代码 + AI 搭出一套"能跑、有点智能"的审批流了。再往前有几条进阶路线,按场景挑:

  • 多模态 AI(OCR + 发票识别):报销审批最难的是发票——员工上传的发票图片千奇百怪。AI Builder 的 "Process and save information from invoices" 动作能直接识别发票上的金额、税率、发票号,替掉人工核对。国内平台类似能力在飞书 AI 字段捷径、钉钉宜搭、腾讯混元也都有,只是名称和成熟度不同。
  • 多级审批 + 会签 / 或签:本文示范的是单级审批,真实业务常常要"部门经理 + HR + 财务"三级,甚至"会签"(所有人都得批)、"或签"(任一批就行)。Power Automate 的 Approvals 支持这些模式,宜搭的流程设计器更细。
  • 与 RPA(机器人流程自动化)结合:如果审批通过后还要去 ERP / 财务系统录入单据,审批流最后一步接一个 Power Automate DesktopUiBot RPA 机器人,自动开 ERP 单,端到端自动化。
  • 数据看板 + 复盘:所有审批数据落在 SharePoint / 多维表格后,用 Power BI 或飞书多维表格的"仪表盘"做一张审批效率看板——平均审批时长、各部门请假分布、异常申请趋势,给 HR 季度复盘用
  • 自训练模型(谨慎) :如果提示词调不上去、企业又有大量历史审批数据,可以微调(fine-tune)一个专属小模型,专攻"是否紧急"这种二分类。但代价是训练成本 + 数据标注 + 模型维护,只建议月审批量 > 1000 单的企业玩
  • 回看上文的 C4(AI 知识库):如果你的审批流里经常要查"差旅标准"、"采购上限",可以让 AI 节点先调 C4 那篇搭的知识库,根据公司制度给出建议金额,再走审批。审批 + 知识库联动,才是智能审批流的完全体。

CTA:本文是 L4 综合实战,如果你按上面的步骤跑通了请假流,建议接下来:① 把报销 / 采购 / 合同审批的字段表也按这个套路搭一遍;② 把 AI 提示词模板整理成你自己的"AI 节点 prompt 库",下次直接复用。后续 C 系列文章会把这些场景挨个拆开讲,敬请期待。


附录:本文用到的所有提示词模板汇总(直接复制就能用)

模板 A:智能提取(AI Builder Extract Custom Entities)

实体名          描述
ReasonSummary   一句话总结请假原因,严格 ≤ 20 个中文字符(含标点),超出截断;只输出主语 + 动作
IsUrgent        是否紧急(true/false),家里突发/孩子生病/家属去世算 true
NeedsAttachment 是否需要补充材料(true/false):病假 且 请假天数 ≥ 3 天 = true,或任何需要医院证明的场景(手术、住院、产检等) = true;其他 = false
MentionedDates  文本中提到的具体日期或时间段,没有则填"无"

模板 B:自动分类(Azure OpenAI 自定义提示词)

json
{ "messages": [ {"role": "system", "content": "你是 HR 助手,负责把员工请假事由归到下列 6 类之一,并判断紧急程度。只输出合法 JSON,不要任何解释,不要 markdown 代码块。"}, {"role": "user", "content": "事由原文:{{Reason}}\n可选类别:病假、年假、事假、调休、产假、陪产假\n输出 JSON 格式:\n{\n \"category\": \"<上述 6 类之一>\",\n \"urgency\": \"高/中/低\",\n \"risk_flag\": true/false,\n \"risk_reason\": \"如果 risk_flag=true,简短说明原因(20字内);否则留空\"\n}"} ], "temperature": 0.2, "max_tokens": 200 }

模板 C:异常检测 / 撞档检测

json
{ "messages": [ {"role": "system", "content": "你是项目经理助理,负责判断一次请假申请是否和已确认的项目里程碑冲突。"}, {"role": "user", "content": "请假人:{{ApplicantName}}\n请假时段:{{StartDate}} 至 {{EndDate}}\n请假事由:{{Reason}}\n项目里程碑列表:{{ProjectMilestones}}\n只输出 JSON:\n{\n \"conflict\": true/false,\n \"conflict_milestone\": \"如果 conflict=true,写出冲突的具体里程碑名;否则留空\",\n \"suggestion\": \"给审批人的一句话建议(30字内)\"\n}"} ], "temperature": 0.1 }