Dialogflow Webhook-首先执行当前的Intent,然后触发另一个Intent

时间:2018-07-18 15:48:07

标签: dialogflow

可以说我有两个意图QuotationIntentSalesRepresentativeIntentQuotationIntent从用户那里得到一些输入,并通过网络挂钩返回适当的结果。成功实现后,我想触发SalesRepresentativeIntent与用户核对,是否希望他们的销售代表给他们打电话。我可以通过events触发Intent。但是问题是QuotationIntent履行消息被跳过了。

enter image description here

我不想直接将跟踪意图添加到QuotationIntent,因为有很多意图需要触发SalesRepresentativeIntent

您能告诉我如何实现吗?预先感谢。

1 个答案:

答案 0 :(得分:0)

您可以在此处使用上下文。在您的QuotationDone中添加输出上下文,例如“ QuotationIntent”。使用与SalesRepresentativeIntent的输入上下文相同的上下文。这样,SalesRepresentativeIntent仅在QuotationIntent完成时才被触发。

要触发SalesRepresentativeIntent,您需要添加“用户说”短语并培训您的代理人,或者将EVENTS添加到您的意图中。

这样,只有在满足以下条件时才会触发您的SalesRepresentativeIntent

if((inputContext is present) AND (event is triggered OR user says phrase is present)){
      trigger `SalesRepresentativeIntent`
} else {
      fallback intent called
}

完成任务的另一种方法是使用SLOTS。在这里,您可以单方面收集多个参数。添加要收集的参数。在您的情况下,无论您在QuotationIntent中收集什么内容,都可以在前几个参数中收集它,并根据需要进行设置,然后在SalesRepresentativeIntent中需要收集的东西可以相同的意图在其他参数中收集。按照您的漫游器向用户询问的顺序排列参数的顺序。这样,将根据是否从用户收集参数自动询问您的响应。