You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现SharePoint Online内容审批与MS Teams审批中心双向同步?

SharePoint与Teams审批双向同步解决方案

问题根源

你遇到的核心问题是:SharePoint内置内容审批和Power Automate的「First to respond」审批流是两个独立机制。在SharePoint手动操作审批时,仅更新了库的本地审批状态,但未联动Power Automate生成的Teams审批实例;而从Teams操作时,直接作用于Power Automate的审批实例,流会自动同步状态到SharePoint,因此单向同步正常。

实现双向同步的具体步骤

1. 给审批实例绑定唯一标识

在原Power Automate流的「First to respond」审批动作中,把文档ID(或文档唯一标识符)填入「自定义数据」字段,用于后续匹配对应审批实例:

@{triggerBody()?['ID']}

同时可在审批标题中加入文档名称方便识别,比如:审批请求:@{triggerBody()?['LinkTitle']}

2. 添加SharePoint状态变更的触发分支

在原流中新增一个触发条件:

  • 触发动作:当项目被修改时(SharePoint触发器)
  • 配置触发筛选器,仅当审批状态从待处理变为已批准/已拒绝,且不是流自身触发的修改时启动:
    审批状态 ne '@{triggerBody()?['审批状态']}' and 触发源 eq ''
    
    注:需先在SharePoint库新增一个单行文本字段「触发源」,用于标记修改来源,避免循环触发

3. 匹配对应的Power Automate审批实例

添加「列出审批」动作,筛选出待处理且绑定当前文档ID的审批实例:

  • 筛选条件设置为:
    contains(CustomData, '@{triggerBody()?['ID']}') and Status eq 'Pending'
    
  • 取返回结果中的第一条记录(「First to respond」模式下,同一文档只会有一个待处理审批实例)

4. 更新审批实例状态

调用「更新审批」动作,传入找到的审批实例ID,根据SharePoint当前审批状态设置对应值:

  • 若SharePoint状态为「已批准」,则更新审批状态为「批准」,并填入SharePoint中的审批备注作为意见
  • 若为「已拒绝」,则更新为「拒绝」,同步对应审批意见

5. 标记修改来源避免循环

在流更新SharePoint状态时,把「触发源」字段设为「Power Automate」,这样流触发的修改不会再次触发自身的「当项目被修改时」分支,避免无限循环

6. 测试验证

  • 提交新文档触发审批流,确认Teams审批中心收到请求
  • 在SharePoint手动批准/拒绝文档,检查流是否触发、Teams审批中心状态是否同步更新、审批人是否收到完成通知
  • 在Teams操作审批,确认SharePoint状态正常同步

额外提示

  • 若之前依赖SharePoint内置内容审批工作流,建议关闭它,完全用Power Automate流统一处理审批逻辑,减少机制冲突
  • 确保「列出审批」动作的权限足够访问对应审批实例

内容的提问来源于stack exchange,提问作者Power365

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 03:27:25