Power Automate 提取SharePoint列表单次抽奖码实现Yammer发帖激励配置问询
Power Automate 抽奖流程配置方案
前置准备
首先给你预存抽奖码的SharePoint列表新增1个布尔类型列,命名为「是否已使用」,默认值设为否,用于标记抽奖码的领用状态。
流程配置步骤及所需函数
1. 配置触发条件
添加触发器 Yammer - 当有新消息发布时,按需求配置监听的Yammer社区范围即可。
2. 校验剩余可用抽奖码
- 添加操作:
SharePoint - 获取项,按以下参数配置:- 站点地址、列表名称选择你存抽奖码的对应SharePoint资源
- 筛选查询输入:
是否已使用 eq 0(0对应布尔值「否」,如果你的列内部名是英文就替换为对应英文名) - 顶部计数填
1,仅提取1条未使用的抽奖码即可,减少性能消耗
- 新增条件判断:使用函数
length(body('获取项')?['value'])判断返回的条目数- 若返回值等于
0:说明100个抽奖码已全部领用,直接添加终止流操作,选择「成功」类型终止流程即可 - 若返回值大于
0:进入后续发码流程
- 若返回值等于
3. 提取并标记抽奖码为已使用
注意:优先标记使用状态再发通知,避免并发场景下重复发放同一个抽奖码
- 提取第一条可用抽奖码的ID和码值:
- 抽奖码ID:
first(body('获取项')?['value'])?['ID'] - 抽奖码内容:
first(body('获取项')?['value'])?['你的抽奖码列名'](替换为你列表里存抽奖码的列名)
- 抽奖码ID:
- 添加操作:
SharePoint - 更新项,传入刚才提取的抽奖码ID,将「是否已使用」列设为是,完成状态标记
4. 发送抽奖码通知
添加通知操作(可选择Yammer私人消息、Outlook邮件等),将提取到的抽奖码内容填入通知模板,发送给发布Yammer消息的对应用户即可。
防重复逻辑说明
核心通过「先锁状态再发码」的逻辑避免重复:每次提取未使用码后第一时间更新状态为已使用,后续触发的流程筛选时会自动过滤掉已标记的码,不会出现重复调用的情况。如果你的Yammer社区发帖并发量较高,可以额外在流的设置中将并发度调整为1,进一步规避并发冲突。
内容的提问来源于stack exchange,提问作者statsnoobj101
相关产品推荐
相关产品推荐

