Voicebot:通过集成虚拟代理,从Dialogflow向Twilio添加欢迎信息



我有一个Twilio电话号码,我使用后者的集成部分连接到Dialogflow(ES)。与代理的连接是完美的,除了一个问题:没有欢迎信息。我知道,要触发欢迎消息,我需要为它指定一个事件,但是,我无法在Twilio文档中找到如何指定该事件(如果不摆脱虚拟代理集成并创建一个我自己的事件)。从Dialogflow方面来看,它似乎没有TWILIO_WELCOME事件,它确实有其他集成(例如facebook)的欢迎事件。

这是twilio - dialogflow集成的限制还是我错过了什么?是否有一种方法可以使用此配置来设置来自dialogflow的欢迎消息?

提前感谢您的帮助。

看来没有办法,使用Dialogflow ES一键与为什么twilio的集成,使Dialogflow代理说一个欢迎消息。

如果你想让你的Dialogflow代理说欢迎消息,你可能会想要放弃Twilio的一键式集成,自己处理双向流。

Twilio有一个非常有用的存储库,他们就是这样做的。

dialogflow-utils.js是你想要关注的。

你可以看到,当检测流第一次被创建时,一个"welcome"事件发送到Dialogflow,响应与欢迎的意图。

function createDetectStream(isFirst, sessionId, sessionPath, sessionClient) {
let queryInput = intentQueryAudioInput;
// Here we can see the welcome event
if (isFirst) {
queryInput = {
event: {
name: process.env.DIALOGFLOW_STARTING_EVENT_NAME,
languageCode: "en-US",
},
};
}
const initialStreamRequest = {
queryInput,
session: sessionPath,
queryParams: {
session: sessionClient.sessionPath(projectId, sessionId),
},
outputAudioConfig: {
audioEncoding: "OUTPUT_AUDIO_ENCODING_LINEAR_16",
},
};
const detectStream = sessionClient.streamingDetectIntent();
detectStream.write(initialStreamRequest);
return detectStream;
}

上次我检查时,该存储库仅适用于Dialogflow ES,但您可以调整代码,使其也适用于Dialogflow CX。

这里是Twilio开发者布道者。

我不知道为什么Twilio语音呼叫没有欢迎活动。但是,您可以在连接到VirtualAgent之前使用TwiML触发欢迎消息。

您可以通过在连接到VirtualAgent之前添加<Say>元素来实现这一点。例如:

<Response>
<Say>Hello! You will be now be connected to a virtual agent.</Say>
<Connect action="https://myactionurl.com/virtualagent_ended">
<VirtualAgent connectorName="project" statusCallback="https://mycallbackurl.com"/>
</Connect>
</Response>

最新更新