You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bot Framework Composer Adaptive Card Cancel按钮跳转dialog方法

Bot Framework Composer 中 Adaptive Card 取消按钮跳转Dialog实现方案

问题原因

默认Adaptive Card的Action.Submit类型按钮触发时,会统一将当前卡片表单的所有字段打包回传给对话流,Composer默认会将所有同类型回传判定为表单提交输入,因此Submit和Cancel按钮如果没有做区分标识,会触发完全一致的后续逻辑。

实现步骤

  • 给两个按钮配置差异化标识字段
    编辑Adaptive Card的JSON结构,在两个按钮的data属性中增加专属判断字段,不要留空data配置,示例配置如下:

    "actions": [
      {
        "type": "Action.Submit",
        "title": "Submit",
        "data": {
          "action": "submit"
        }
      },
      {
        "type": "Action.Submit",
        "title": "Cancel",
        "data": {
          "action": "cancel"
        }
      }
    ]
    

    不要给Cancel按钮配置Action.ImBack类型,该类型会在聊天窗口生成一条公开的用户消息,交互体验差。

  • 在卡片回传接收节点后增加分支判断
    找到你发送Adaptive Card、等待用户输入的节点(通常是「文本输入」「表单输入」类的询问节点),在其后新增条件分支判断:

    • 提交逻辑分支:判断条件写=turn.activity.value.action == "submit",分支内保留你原有的表单信息提取、校验、存储、后续业务流程逻辑
    • 取消跳转分支:判断条件写=turn.activity.value.action == "cancel",分支内跳过所有表单信息提取、校验环节,直接新增「启动新对话框(Begin a new dialog)」或「替换当前对话框(Replace dialog)」动作,选择你需要跳转的目标Dialog即可,该分支不会触发表单必填项校验,符合取消操作的交互预期。

Adaptive Card配置参考效果


内容的提问来源于stack exchange,提问作者Sara Shreim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 04:27:20