如何配置Dialogflow CX聊天机器人主动发送欢迎消息无需用户触发
解决Dialogflow CX集成Dialogflow Messenger主动发起对话的问题
核心思路
Dialogflow Messenger默认不会自动触发欢迎流程,得靠JS主动给CX代理发welcome事件,同时要把代理端的欢迎配置弄对。
具体操作步骤
1. 先把CX代理的欢迎流程配置好
- 确保代理的欢迎页面已经设置了响应内容,不用非得加Fulfillment(除非你要动态生成欢迎语),直接在页面的「响应」里加文本、卡片之类的就行。
- 检查欢迎页面的触发事件:必须是系统默认的
welcome事件,别搞自定义事件。
2. 在集成Messenger的HTML里加主动触发代码
加载Dialogflow Messenger的脚本之后,加这段代码,保证页面加载完就自动发welcome事件:
<script> window.addEventListener('load', function() { const dfMessenger = document.querySelector('df-messenger'); if (dfMessenger) { dfMessenger.dispatchEvent(new CustomEvent('df-messenger-send-event', { detail: { event: { name: 'welcome', languageCode: 'zh-CN' // 换成你代理用的语言,比如en-US } } })); } }); </script>
3. 几个要注意的点
- 确认Messenger组件的
agent-id、language-code这些属性和你的代理信息完全匹配。 - 如果是单页应用(比如React/Vue),别只靠
window.load,要在组件挂载完成之后再触发事件。 - 欢迎页面的响应得是直接能发的,别搞成需要用户输入才继续的流程。
4. 排查常见坑
- 触发后没反应的话,按F12开浏览器控制台看报错:
- 检查跨域问题:Dialogflow Messenger得把你的域名加到白名单里。
- 确认代理的欢迎事件确实是
welcome,别写错名字。 - 代理得发布到对应环境(测试/生产),没发布的配置不生效。
内容的提问来源于stack exchange,提问作者Pawar Rahul
相关产品推荐
相关产品推荐

