Dialogflow CX中如何将Webhook响应作为流程变量进行管理?
在Dialogflow CX中基于Webhook响应结果动态路由页面
完全可以实现你要的需求——根据Webhook返回的结果(如true/false)来决定页面跳转逻辑,不需要直接在Webhook中硬编码target_page。具体步骤如下:
1. 在Webhook中返回自定义会话参数
修改你的Google Cloud Function代码,除了返回fulfillment消息外,将判断结果存入会话参数中,让Dialogflow CX可以读取这个值来做路由判断。示例代码:
# 假设根据业务逻辑生成判断结果is_valid is_valid = True # 替换为你的实际判断逻辑 # 原有返回fulfillment消息的代码 res["fulfillment_response"]["messages"][0]["text"]["text"].append("response to handle") # 添加自定义会话参数,存储判断结果 res["session_info"] = { "parameters": { "webhook_result": is_valid # 自定义参数名,后续要在CX中引用 } }
2. 在Dialogflow CX页面中配置路由规则
进入你调用Webhook的页面,找到路由模块,添加两条路由规则:
- 路由1:
- 条件:
$webhook_result == true(参数名要和Webhook中定义的一致) - 目标页面:选择你要跳转的第一个页面
- 触发时机:设置为「Webhook完成后」
- 条件:
- 路由2:
- 条件:
$webhook_result == false - 目标页面:选择你要跳转的第二个页面
- 触发时机:同样设置为「Webhook完成后」
- 条件:
原理说明
Dialogflow CX允许Webhook更新会话参数,页面的路由规则可以直接引用这些会话参数作为判断条件。当Webhook执行完成后,系统会自动检查路由条件,匹配到对应规则后就会跳转到指定页面,完全满足你根据响应结果动态路由的需求。
内容的提问来源于stack exchange,提问作者Giacomo Brunetta
相关产品推荐
相关产品推荐

