首页 > 解决方案 > Google Assistant - existing dialogflow intents & new actions cooperation

问题描述

I have a technical question about the Google Assistant - unfortunately, I couldn't find a clear answer anywhere.

At the moment our company have:

  1. the conversational chatbot built on Dialogflow, which is constantly developed by our employees
  2. Google Actions agent. Our developers managed to construct the connection of the Google account and our client's account on our platform using OAuth 2.0 and created the first actions that, by the exchange of tokens, allow the return of certain information from our platform to the Google Assistant and vice versa - providing certain information in the Google Assistant that are sent and saved in the customer's account on our platform.

We would like both actions on actions.google.com (2) and conversations on Dialogflow (1) to cooperate with each other in the Google Assistant. One team is working on the chatbot, and the other on advanced actions, and we would like it to stay that way.

My question is - is the absolute only way to finally publish it on the google assistant is to migrate the chatbot from Dialogflow to Actions Builder and stop using Dialogflow? Or maybe there is a simpler solution where both these environments (of course woring on one profile / agent) cooperate with each other and it will be possible to continue working on dialogflow? We understand the advantages of Action Builder, but Dialogflow is just good enough for our needs.

标签: dialogflow-esactions-on-googleactions-builder

解决方案


有几个角度可以解决这个问题,具体取决于您的确切需求和您可能接受的限制,但一般的答案是“是的,您可以同时做这两件事”。

首先,Dialogflow ES 继续支持 Actions on Google 集成。正如您的 Dialogflow 代理与其他平台集成一样,它应该仍然能够与 Actions 集成。

但是,有一些警告(和一些好处!):

  • 您将使用 Google v2 平台上的 Actions,而不是 Action Builder(和更新的 SDK)附带的 v3。如果 v2 支持您需要的功能,那就没问题了。(v2 支持帐户链接。)但是如果您需要 v3 中的某些功能,那么您将遇到问题。
  • 您不能在同一个 Cloud 项目上使用 Action Builder,您应该从 Dialogflow 端开始集成。(但是一旦你这样做了——你就可以使用操作控制台来做一些事情,比如提交它以供审查等。)
  • 确保您没有从 Dialogflow“升级”到 Actions Builder。这将两者分开,因此您将无法从 Dialogflow 更新操作。

另一种方法是您可以使用 Action Builder,但让它将所有(或几乎所有)请求转发到 Dialogflow。在此方案下,您将拥有一个 Action Builder 项目,该项目只有一个带有 Intent 的场景,该 Intent 捕获所有输入,将其发送到您控制的 webhook,该 webhook 通过 Dialogflow API 将其发送到您的 Dialogflow 代理,从您的 Dialogflow 代理,并通过 Action Builder 转发该响应。

这有点复杂,但如果您想利用使用 v2 可能无法使用的更高级的 Action 概念,可能会带来一些好处。


推荐阅读