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

如何基于intent.address的Webhook响应触发intent.conversation意图?

嘿,我来帮你搞定这个需求的实现思路和具体步骤哈!

核心需求回顾

你已经有一个intent.address意图(动作address_action,训练句"My address"),触发后Webhook通过app.ask()返回地址信息;现在需要在这个响应后,自动触发绑定了actions_intent_CONFIRMATION事件的intent.conversation意图,让该意图的Webhook发起确认询问。

具体实现步骤

1. 理解触发逻辑

因为你用了app.ask(),会话处于活跃状态不会直接结束。要主动触发下一个意图,不能等用户输入,而是要在intent.address的Webhook响应中主动指定触发目标事件,让系统自动唤起绑定该事件的intent.conversation。

2. 修改intent.address的Webhook代码

在返回地址提示的同时,添加触发actions_intent_CONFIRMATION事件的逻辑。以Actions on Google的Node.js SDK为例,代码示例如下:

function addressAction(agent) {
  // 先返回地址告知的响应文本
  agent.add('Alright! your address is USER_ADDRESS');
  
  // 主动触发CONFIRMATION系统事件,引导到intent.conversation
  agent.setFollowupEvent({
    name: 'actions_intent_CONFIRMATION',
    parameters: {} // 如果需要给下一个意图传递参数,可以在这里添加键值对
  });
  
  // 保持会话活跃,这里可以留空或者补充过渡文本(不过事件触发后会被下一个意图的响应覆盖)
  agent.ask('');
}

3. 确认intent.conversation的配置

  • 确保这个意图已经正确绑定了actions_intent_CONFIRMATION系统事件(在意图的"Events"选项卡中添加该事件)。
  • 确认该意图已启用Webhook,并且Webhook中编写了询问确认的逻辑,比如返回:"Would you like to continue with this address?",同样用app.ask()保持会话,等待用户的Yes/No回复。

4. 关键注意事项

  • 一定要用主动触发事件的方法(比如setFollowupEvent(),不同SDK可能命名略有差异),而不是依赖用户输入来唤起下一个意图,这样才能实现地址回复后自动触发确认询问。
  • 确保两个意图的Webhook都部署正常、能正常响应,避免会话中途中断。

内容的提问来源于stack exchange,提问作者akash verma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:17:19