求助:如何通过Power Automate实现SharePoint审批状态为Requested时通知审批人
原流程失效原因排查
- 字段内部值不匹配:SharePoint内置的「审批状态」字段显示名和内部存储值可能不一致,比如你看到的
Requested,实际内部值可能是Pending。可以通过两种方式确认:- 进入文档库的「列表设置」,找到「审批状态」字段,查看其选项的实际值;
- 在Power Automate中添加「获取项目」动作,查看返回的字段原始值。
- 触发时机延迟:发起审批时,SharePoint可能先更新其他字段再同步审批状态,导致Power Automate触发时字段还未变为
Requested,此时条件判断会失败。 - 字段选择错误:如果是自定义的审批状态字段,要和SharePoint内置的「工作流状态」/「审批状态」字段区分开,确保流程中选择的是正确的字段。
正确配置步骤
1. 基础触发设置
选择触发动作:当项目创建或修改时,配置对应的SharePoint站点和文档库地址。
2. 添加触发条件(可选,减少无效触发)
在触发动作的「设置」中打开「触发条件」,添加以下表达式(替换为实际的字段内部名和值):
@and(equals(triggerBody()?['ApprovalStatus'], 'Requested'), not(equals(triggerBody()?['ApprovalStatus'], triggerBody()?['{Previous ApprovalStatus}'])))
这个条件的作用是:只有当审批状态变为Requested(且之前不是这个状态)时,才触发流程,避免重复执行。
3. 获取最新项目详情
添加「获取项目」动作,输入文档库地址和当前项目的ID(从触发动作中获取ID值),确保拿到最新的字段数据。
4. 精准条件判断(如果未用触发条件则需添加)
添加「条件」动作,设置两个判断:
- 左侧:选择「获取项目」返回的「审批状态」字段,操作符选「等于」,右侧填确认后的内部值(比如
Requested); - (可选)添加第二个条件:判断「审批人」字段是否发生变化(针对重新分配场景),比如「之前的审批人」不等于「当前的审批人」。
5. 发送通知邮件
条件满足时,添加「发送电子邮件(V2)」动作:
- 收件人:从文档库的审批人字段获取(或从审批工作流的分配记录中提取);
- 邮件内容:包含文档链接、审批状态说明、审批操作入口等关键信息。
6. 测试验证
- 发起新审批:检查是否收到通知;
- 重新分配审批:验证通知是否触发;
- 审批通过/拒绝:确认流程不会重复发送邮件。
额外注意事项
- 重新分配审批时,审批状态可能仍保持
Requested,此时需通过「审批人字段的变化」来识别该场景,确保重新分配时也能触发通知; - 如果使用的是SharePoint内置审批工作流,可直接关联工作流的「启动」或「重新分配」事件来触发流程,比监控字段更精准。
内容的提问来源于stack exchange,提问作者HipHop12
相关产品推荐
相关产品推荐

