Awesome
Actions on Google: Webhook Boilerplate
Boilerplate to help you get started quickly with the Java client library for Actions on Google.
:warning: Warning: Conversational Actions will be deprecated on June 13, 2023. For more information, see Conversational Actions Sunset.
:warning: This code sample was built using Dialogflow. We now recommend using Actions Builder or the Actions SDK to develop, test, and deploy Conversational Actions.
Setup Instructions
Action Configuration
- From the Actions on Google Console, New project (this will become your Project ID) > Create Project.
- Scroll down to the More Options section, and click on the Conversational card.
- From the top menu under Develop > Actions (left nav) > Add your first action > BUILD (this will bring you to the Dialogflow console) > Select language and time zone > CREATE.
- In Dialogflow, go to Settings ⚙ > Export and Import > Restore from zip.
- Follow the directions to restore from the
agent.zip
file in this repo.
- Follow the directions to restore from the
App Engine Deployment & Webhook Configuration
When a new project is created using the Actions Console, it also creates a Google Cloud project in the background.
- Delete ActionsAWSHandler.java
- Remove the following line from build.gradle:
apply from: 'build-aws.gradle'
- Download & install the Google Cloud SDK
- Configure the gcloud CLI and set your Google Cloud project to the name of your Actions on Google Project ID, which you can find from the Actions on Google console under Settings ⚙
gcloud init
gcloud auth application-default login
gcloud components install app-engine-java
gcloud components update
- Deploy to App Engine using Gradle:
gradle appengineDeploy
OR- From within IntelliJ, open the Gradle tray and run the appEngineDeploy task.
- Back in the Dialogflow console, from the left navigation menu under Fulfillment > Enable Webhook, set the value of URL to
https://<YOUR_PROJECT_ID>.appspot.com
> Save.
Build for AWS
- Delete ActionsServlet
- Remove the following line from build.gradle:
apply from: 'build-gcp.gradle'
- Build the AWS Lambda compatible zip file using the buildAWSZip gradle task:
gradle buildAWSZip
- Deploy the zip file found at
build/distributions/myactions.zip
as an AWS Lambda function by following instructions at https://aws.amazon.com/lambda/
Testing this Sample
- In the Dialogflow console, from the left navigation menu > Integrations > Integration Settings under Google Assistant > Enable Auto-preview changes > Test to open the Actions on Google simulator. OR
- Type
Talk to my test app
in the simulator, or sayOK Google, talk to my test app
to Google Assistant on a mobile device associated with your Action's account.
References & Issues
- Questions? Go to StackOverflow, Assistant Developer Community on Reddit or Support.
- For bugs, please report an issue on Github.
- Actions on Google Documentation
- Webhook Boilerplate Template for Actions on Google.
- More info about Gradle & the App Engine Plugin.
- More info about deploying Java apps with App Engine.
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.