我有一种情况,当用户键入某些内容时,我需要发送电子邮件,因此我需要使用node.js和Amazon的实现来处理电子邮件部分,但是我希望响应来自dialogflow界面。
目前我有这样的东西:
let intentMap = new Map();
intentMap.set('Default Welcome Intent', welcome);
agent.handleRequest(intentMap);
function welcome(agent) {
var content = "Hello.\n\n"
+""
+"phone : " + agent.parameters.phoneNumber + ""
+"\nIA";
sendEmail("phone number", sendToEmail, content);
agent.add(`Thank you`);
}
如您所见,我希望Dialogflow仪表板响应“谢谢”,因此我将删除agent.add(Thank you
)。
这可能吗?
答案 0 :(得分:3)
如果将“谢谢”写为Dialogflow意向文本响应,并且您的Webhook使用非200 HTTP响应或无效响应进行响应,则Dialogflow将从“响应”中的“文本响应”字段回退为“谢谢”。意向。
更好的是,到Webhook的Dialogflow的request包含一个fulfillmentText
属性,该属性包含Dialogflow文本,该文本将在Dialogflow控制台的意图中从“文本响应”中使用。您可以在agent.add
调用中使用此字符串,以确保您的Webhook成功,并且仍然可以从控制台控制响应。