如何实现向Teams批量用户同时发送自适应卡片并等待响应?
解决Teams自适应卡片并发发送及课程反馈收集问题
一、解决并发发送自适应卡片的问题
你遇到的核心问题是:Post adaptive card and wait for a response 这个动作本身是阻塞式的——它会等待当前用户的回复后,才会执行循环的下一次迭代,所以即使开启了Apply to each的并发控制,也无法实现同时发送。要实现批量并发发送,需要拆分“发送卡片”和“收集响应”两个步骤:
1. 替换发送卡片的动作
把原来的等待响应动作换成 Post adaptive card in a chat or channel(选择“Chat with a user”作为目标),这个动作是异步的,发送后不会等待回复,能配合Apply to each的并发控制实现同时推送。
2. 正确配置Apply to each的并发控制
- 选中Apply to each容器,点击右上角的“设置”图标
- 开启“Concurrency control”,设置合适的并发数(建议控制在50以内,避免触发平台调用限制)
- 保存设置后,运行流时就会同时向多个用户发送卡片
二、自动收集课程完成确认反馈
要捕获用户对卡片的回复,需要单独设置一个触发来监听Teams卡片的交互:
1. 创建独立的反馈收集流
在Power Automate中新建一个云流,选择触发器:When an adaptive card is submitted (V2),配置对应的团队和聊天范围(如果是一对一推送,选择对应的聊天维度)。
2. 关联卡片与反馈标识
- 在发送卡片的自适应卡片JSON里,添加隐藏的
input字段(比如userId、courseId),用来标识当前用户和对应的课程 - 当用户提交卡片时,触发器会获取到这些标识字段,结合用户提交的确认信息(比如“已完成”按钮的响应),将数据保存到指定存储位置(比如SharePoint列表、Excel表格)
3. 可选:发送反馈确认回执
在反馈收集的流中,添加Post message in a chat or channel动作,向提交反馈的用户发送一条确认消息,告知已收到课程完成状态。
注意事项
- 并发数不要设置过高,Microsoft Teams有API调用频率限制,过高可能导致发送失败
- 确保自适应卡片JSON格式正确,尤其是隐藏字段和提交按钮的配置
- 如果用户量极大(数百人以上),可以考虑分批次发送,避免触发平台限流
内容的提问来源于stack exchange,提问作者user25217114
相关产品推荐
相关产品推荐

