Power Automate:SharePoint列表新增项触发条件多值匹配设置
针对你需求的多用户匹配触发邮件场景,有两种实用实现方式:
方法一:直接用OR运算符构建触发条件
这是最直接的方式,适合50个以内用户的场景:
- 打开Power Automate的「当项目创建时」触发器,点击「编辑」进入触发条件设置
- 添加触发条件,使用以下格式的表达式:
@or(equals(triggerBody()?['Manager/DisplayName'], 'John'), equals(triggerBody()?['Manager/DisplayName'], 'Mary'), equals(triggerBody()?['Manager/DisplayName'], 'Eric'), ...) - 把所有需要匹配的用户显示名依次补充到OR的参数中,每个用户对应一个
equals判断 - 若要避免显示名重复导致的误触发,建议改用用户唯一ID匹配,表达式替换为:
注:用户ID可通过SharePoint用户信息列表或Power Automate测试运行获取@or(equals(triggerBody()?['Manager/ID'], '1001'), equals(triggerBody()?['Manager/ID'], '1002'), equals(triggerBody()?['Manager/ID'], '1003'), ...)
方法二:用数组包含判断简化逻辑
这种方式更易维护,尤其用户数量较多时:
- 同样进入「当项目创建时」触发器的触发条件设置
- 使用以下表达式:
@contains(createArray('John', 'Mary', 'Eric', ...), triggerBody()?['Manager/DisplayName']) - 若用用户ID匹配,表达式改为:
注:@contains(createArray('1001', '1002', '1003', ...), triggerBody()?['Manager/ID'])createArray会把括号内的用户集合转为数组,contains负责判断当前新增项的Manager值是否在数组内
关键注意事项
- 确认Manager列的内部名称:如果你的列表中Manager列的内部名称不是
Manager,需要替换为实际内部名称(可在SharePoint列表设置的列属性中查看) - 触发条件表达式需确保语法正确,所有括号闭合、逗号分隔无误
- 优先选择用户ID作为匹配依据,避免重名用户导致的逻辑错误
内容的提问来源于stack exchange,提问作者user565992
相关产品推荐
相关产品推荐

