Plugin Dialogflow
For more information, refer to GitHub.
What Does This Plugin Do?
This plugin uses Dialogflow as NLU service. The variables intent
, confidence
, entities
, defaultFallback
, dialogflowResponse
are automatically available inside the input
object.
Setup
Install the Plugin
To integrate your bot with Dialogflow, you must use the intent
example, which comes with @botonic/plugin-dialogflow
by default.
$ botonic new test-bot intent
Get a Service Account key in DialogFlow
Click on the gear icon, to the right of the agent name.
Under the GOOGLE PROJECT section, click on the name of the Service Account.
This will take you to the Google Cloud Platform Service Accounts page, but you first need to update the Service Account's role.
Click on the menu button in the upper left-hand corner and click on IAM & admin.
Click on Service Accounts in the left-hand menu.
Click on the Create Service Account button at the top of the page.
In the pop up, enter a name for the service account.
Click on Role. Under the Dialogflow category, select the desired role.
Generate a JSON key
Check the Furnish a new private key option and make sure JSON is selected for Key type.
Click the Create button.
The JSON file is downloading. Select a location to save it and confirm.
Note: You can only download this JSON file once, so make sure to save the file and keep it somewhere safe. If you lose this key or it becomes compromised, you can use the same process to create another one.
Use
Add the intent
Add the intent in the route.js file:
export const routes = [
{ path: 'hi', intent: 'Default Welcome Intent', action: Hi },
]
Add the JSON content file
Under resolve: require("@botonic/plugin-dialogflow"),
, add the JSON content key.
Note: This is case-sensitive so make sure to paste exactly what you copied.
You should obtain something like this:
export const plugins = [
{
id: 'dialogflow',
resolve: require('@botonic/plugin-dialogflow'),
options: {
credentials: {
type: '',
project_id: '',
private_key_id: '',
private_key: '',
client_email: '',
client_id: '',
auth_uri: '',
token_uri: '',
auth_provider_x509_cert_url: '',
client_x509_cert_url: '',
},
queryData: { // Default query data (Optional)
... // https://cloud.google.com/dialogflow/es/docs/reference/rest/v2/projects.agent.sessions/detectIntent
}
},
},
]
Run and Deploy
Finally run botonic serve
to test your intents locally, or botonic deploy
to deploy the bot.
Note: Refer to Dialogflow to migrate your agents to V2 and to get the JSON key.