如何实现Power Automate向Power Virtual Agents返回多份响应?
从Power Automate向Power Virtual Agents返回多份响应的可行方案
问题根源说明
你遇到的并行分支仅执行一个的原因是:Return value(s) to Power Virtual Agents 是流终止型操作,只要其中一个分支执行该步骤,整个Power Automate流会立即终止,剩余分支无法继续执行。
方法1:单返回+PVA内拆分处理
- 将拆分后的两部分数据打包为一个结构化JSON对象(例如
{"contentPart1": "第一部分内容", "contentPart2": "第二部分内容"}) - 通过单次
Return value(s) to Power Virtual Agents步骤将这个JSON对象返回给PVA - 在PVA的对话流中,使用表达式分别提取两个部分的内容,分两次发送给用户(例如用
@{triggerBody()['contentPart1']}和@{triggerBody()['contentPart2']}调用内容)
方法2:主动推送多轮消息(支持并行分支)
- 替换
Return value(s) to Power Virtual Agents步骤,使用**Post message to Power Virtual Agents**动作(该动作不会终止流,可多次调用) - 在两个并行分支中分别处理对应部分的数据,然后调用该动作推送内容到PVA
- 配置动作时,需正确传入触发流的PVA上下文参数中的
Conversation ID和Bot ID,确保消息推送到正确对话 - 提前在PVA的流触发节点设置中,开启「允许流发送多个响应」的选项,否则PVA只会接收第一条推送消息
注意事项
- 无论哪种方法,拆分后的单份数据大小必须低于256KB,避免触发单个响应的大小限制
- 使用方法2时,并行分支的推送顺序可能不固定,若需要严格按顺序发送,建议改为串行分支处理
内容的提问来源于stack exchange,提问作者Saikat Dasgupta
相关产品推荐
相关产品推荐

