【问题标题】:Send unanswered questions to email in Dialogflow在 Dialogflow 中将未回答的问题发送到电子邮件
【发布时间】:2019-08-03 19:14:57
【问题描述】:

我正在尝试配置对话流来处理未回答的问题。我想要的是……

  • 用户提出问题
  • 未找到意图
  • 默认后备显示“抱歉,我可以收到您的电子邮件吗”
  • 用户提供电子邮件
  • Webhook 会向管理员收件箱发送一封电子邮件,其中包含原始问题,以便有人可以在可能的情况下提取并回复。

所以我可以完成大部分工作,除了确保 NodeJS webhook 有原始问题,因为触发它的实际意图是“提供电子邮件”,而不是原始失败的问题。

非常欢迎任何建议...

【问题讨论】:

    标签: dialogflow-es


    【解决方案1】:

    可能最简单的方法是利用Contexts。这会保存数据库操作,直到您从用户那里获得所需的所有信息,并有助于确保您在适当的时间收集电子邮件地址。

    在这个方案下:

    • 后备意图触发 webhook,它
      • 回复询问电子邮件地址
      • 将上下文作为响应的一部分包含在参数中的问题
    • 然后您将拥有另一个 Intent,该 Intent 将此上下文设置为输入上下文。当这个 Intent 被触发时
      • 将请求发送到收件箱,将信息保存在数据库中,等等。
      • 回复用户并清除上下文。
    • 您可能有其他 Intent 或 Fallback Intent,它也将此上下文作为输入上下文。这些可能会提供回复说您需要一个电子邮件地址来转发问题,或者警告他们如果他们不提供,您将无法得到他们的答案。如果他们不想提供地址、改变主意等,这将处理这种情况。

    【讨论】:

      【解决方案2】:

      可能的答案...

      • 默认回退触发 webhook,提供问题和 sessionID,然后将其存储在数据库中
      • 回退要求提供电子邮件地址
      • provides_email 意图再次触发 webhook,然后更新原始记录以包含电子邮件地址,并将请求发送到收件箱。

      【讨论】:

      • 这还不错,但是如果用户选择不提供他们的电子邮件地址,那么数据库中就会出现垃圾堆积的问题。
      猜你喜欢
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 2015-10-16
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多