Thukyd / dialogflow-webhook-boilerplate-nodejs

Webhook Boilerplate (using Dialogflow) in Node.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Actions on Google: Webhook Boilerplate using Node.js and Cloud Functions for Firebase

This webhook boilerplate sample sets up everything you need to build your fulfillment business logic for your Action for the Google Assistant built on Dialogflow.

Setup Instructions

Choose one of the two options listed below for setup. You only need to complete one of the two options below to setup this sample.

Option 1: Add to Dialogflow (recommended)

Click on the Add to Dialogflow button below and follow the prompts to create a new agent:

Webhook Boilerplate

Option 2: Dialogflow restore and Firebase CLI

  1. Use the Actions on Google Console to add a new project with a name of your choosing and click Create Project.
  2. Scroll down to the More Options section, and click on the Conversational card.
  3. On the left navigation menu under BUILD, click on Actions. Click on Add Your First Action and choose your app's language(s).
  4. Select Custom intent, click BUILD. This will open a Dialogflow console. Click CREATE.
  5. Deploy the fulfillment webhook provided in the functions folder using Google Cloud Functions for Firebase:
    1. Follow the instructions to set up and initialize Firebase SDK for Cloud Functions. Make sure to select the project that you have previously generated in the Actions on Google Console and to reply N when asked to overwrite existing files by the Firebase CLI.
    2. Run firebase deploy --only functions and take note of the endpoint where the fulfillment webhook has been published. It should look like Function URL (yourAction): https://${REGION}-${PROJECT}.cloudfunctions.net/yourAction
  6. Go back to the Dialogflow console and select Fulfillment from the left navigation menu.
  7. Enable Webhook, set the value of URL to the Function URL from the previous step, then click Save.
  8. Select Intents from the left navigation menu. Select the Default Welcome Intent intent, scroll down to the end of the page and click Fulfillment, check Enable Webhook and then click Save. This will allow you to have the welcome intent be a basic webhook intent to test.
  9. Build out your agent and business logic by adding function handlers for Dialogflow actions.
  10. For each Dialogflow action, set a new key/value pair on the actionMap, reflecting the action name and corresponding function handler on the actionMap in index.js.

Test on the Actions on Google simulator

  1. Open [Dialogflow's Integrations page]](https://console.dialogflow.com/api-client/#/agent//integrations) from the left navigation menu and open the Integration Settings menu for Actions on Google.
  2. Enable Auto-preview changes and Click Test. This will open the Actions on Google simulator.
  3. Click View to open the Actions on Google simulator.
  4. Type Talk to my test app in the simulator, or say OK Google, talk to my test app to any Actions on Google enabled device signed into your developer account.

For more detailed information on deployment, see the documentation.

References & Issues

Make Contributions

Please read and follow the steps in the CONTRIBUTING.md.

License

See LICENSE.

Terms

Your use of this sample is subject to, and by using or downloading the sample files you agree to comply with, the Google APIs Terms of Service.

About

Webhook Boilerplate (using Dialogflow) in Node.js

License:Apache License 2.0


Languages

Language:JavaScript 100.0%