Power Automate:避免SharePoint项修改时重复发送邮件咨询
Power Automate避免重复发送邮件的解决方案
方法1:在触发器层面限定触发条件
直接修改「当项目被修改/创建时」触发器的高级选项,让流仅在项目创建或**「BU响应」字段变更**时触发:
- 编辑触发器,展开「高级选项」
- 在「触发条件」中添加两个规则,用
or连接:@equals(triggerOutputs()?['body/{IsCreate}'], true)—— 项目创建时触发@not(equals(triggerBody()?['BU响应'], triggerBody()?['Original_x0020_Value']?['BU响应']))—— 「BU响应」字段值变更时触发
- 注意:如果「BU响应」的内部名称不是显示名,需要替换为字段的内部名称(可在SharePoint列表设置的字段详情URL中获取)
方法2:手动检查「BU响应」是否变更
如果触发器层面的设置不生效,可在流中添加字段变更检查步骤:
- 在「获取项目」操作后,添加「获取更改」操作,选择目标列表和当前项目ID
- 在「比较版本」中选择「当前版本」和「上一个版本」
- 添加条件判断:检查「已更改的字段」集合中是否包含「BU响应」的内部名称
- 只有当条件成立时,才进入后续的分支发送邮件
方法3:新增邮件发送标记字段
在SharePoint列表中添加一个布尔类型字段(例如「已发送对应邮件」),通过标记控制邮件发送:
- 进入分支条件后,先判断「已发送对应邮件」是否为「否」
- 若为「否」,执行发送邮件操作,随后更新该字段为「是」
- 若为「是」,直接跳过发送步骤
- 当「BU响应」字段被再次修改时,同步将「已发送对应邮件」改回「否」,确保下次变更能触发邮件
关于「获取项目更改」操作被跳过的说明
大概率是因为字段名称不匹配,需确认「BU响应」的内部名称(而非显示名),可通过以下方式获取:
- 进入SharePoint列表设置,点击「BU响应」字段
- 查看浏览器地址栏的URL,最后一段类似
Field=BU_x0020_Response,等号后的内容就是内部名称 - 在「获取更改」的条件判断中使用内部名称进行匹配
内容的提问来源于stack exchange,提问作者Sakura
相关产品推荐
相关产品推荐

