如何在Copilot Studio中将Choice变量转换为字符串传递给Power Automate
解决Copilot Studio Choice类型转字符串传递给Power Automate的问题
更优替代方案(无需硬编码)
在Copilot Studio中,无需为每个选项写条件判断,直接通过表达式提取Choice类型的字符串值,即可传递给Power Automate:
- 若Choice变量存储的是选项后台标识值,调用Power Automate流的参数赋值时,使用表达式:
@{variables('用户选择的Choice变量名').Value} - 若需要传递用户看到的选项显示文本(如“产品A”“产品B”),则使用表达式:
@{variables('用户选择的Choice变量名').DisplayName}
操作步骤
- 在Copilot Studio对话流程中,找到调用Power Automate流的步骤
- 点击参数输入框旁的表达式编辑器(fx图标)
- 输入对应表达式,替换其中的变量名为你实际使用的Choice变量名称
- 保存并测试,此时传递给Power Automate的为纯字符串类型,不会触发BindingIncorrectTypeError
方案优势
- 完全无需硬编码,修改OptionsEmbeddedList后不需要同步调整任何条件判断
- 直接在参数传递环节完成类型转换,流程简洁,维护成本极低
备选方案(Power Automate侧处理)
如果Copilot Studio侧设置表达式有困难,也可以在Power Automate流内处理:
- 接收Copilot Studio传来的Choice类型参数后,添加**“初始化变量”**或“组合”动作,提取参数的
Value或DisplayName属性作为字符串 - 后续流程使用转换后的字符串变量即可
内容的提问来源于stack exchange,提问作者SMCthat
相关产品推荐
相关产品推荐

