如何创建Power Automate流对比SharePoint列表并发送缺失ID提醒邮件
Power Automate 新手流创建步骤
1. 新建流并设置触发器
- 打开Power Automate,点击「新建流」,选「手动触发流」(用于测试);如果要自动运行,选「定时触发器」(比如设置每天固定时间执行)
2. 获取两个SharePoint列表的数据
- 添加「获取项目」动作,选择你的List A,保留默认设置获取所有行数据
- 再添加一个「获取项目」动作,选择你的List B,同样获取所有行数据
3. 提取List B的唯一ID集合
- 添加「选择」动作,数据源选List B的「获取项目」结果,映射里只勾选List B的「ID」列,得到纯ID数组
- 添加「联合」动作,两个输入框都选刚才的ID数组,联合后会自动去重,得到List B的唯一ID列表
4. 筛选List A中未出现在List B的行
- 添加「筛选数组」动作,数据源选List A的「获取项目」结果
- 筛选条件设置为:
@not(contains(body('联合'), item()?['ID'])),执行后得到List A里ID不在List B的所有行
5. 按邮箱整理对应缺失ID
创建数组变量「邮箱ID集合」(类型选数组)
添加「应用到每一个」动作,数据源选步骤4的筛选结果
- 内部再添加「应用到每一个」动作,数据源填
split(item()?['你的邮箱列名'], ';')(把当前行分号分隔的邮箱拆成单个邮箱,替换成List A实际的邮箱列名)- 内部添加「追加到数组变量」,向「邮箱ID集合」添加对象:
{'邮箱': item(), 'ID': items('应用到每一个')?['ID']}
- 内部添加「追加到数组变量」,向「邮箱ID集合」添加对象:
- 内部再添加「应用到每一个」动作,数据源填
添加「选择」动作,数据源选「邮箱ID集合」,映射「邮箱」和「ID」两个字段
添加「分组」动作,数据源选「选择」的结果,分组依据选「邮箱」,聚合字段选「ID」,聚合方式选「收集」,得到每个邮箱对应的缺失ID列表
6. 给每个收件人发邮件
- 添加「应用到每一个」动作,数据源选「分组」的结果
- 内部添加「发送电子邮件(V2)」动作:
- 收件人:
items('应用到每一个')?['key'] - 主题:「缺失ID通知」
- 正文:
join(items('应用到每一个')?['values']?['ID'], '\n')(把ID数组用换行符拼接,变成每行一个ID)
- 收件人:
- 内部添加「发送电子邮件(V2)」动作:
示例邮件效果:
收件人:bof777@email.com
标题:缺失ID通知
正文:
1
3
4收件人:bof111@email.com
标题:缺失ID通知
正文:
2
5
内容的提问来源于stack exchange,提问作者helpme
相关产品推荐
相关产品推荐

