Chatbot to order pizza and check for order status by using order ID. This repo contains the webhook template for dialogueflow to connect to firebase, the server script is deployed on cloud functions of firebase. Test the bot here.
This bot is using DialogueFlow intents to initiate a conversation, which can be used to order pizza. There are four intents: Welcome intent, Default fallback intent, OrderPizza intent and CheckStatus intent.
Intent OrderPizza is being used to input pizza and customer details and stores it in variables. This intent has a webhook call which passes this stored information to firebase realtime database, the script of which can be found in this repo.
Intent CheckStatus is being used to check status of the order given a order_id
. This intent takes the order_id
and calls the firebase database to get the status of order. The autogenerated key
of Firebase database object array is being used as order_id
.
These intents are using NLP techniques to understand customer response and fuzzy matching
is enabled to match custom generated parameters (For ex. if customer mispells in type of pizza, which should be veg, non-veg, etc.)
You can access the bot here.
- Deploy the fulfillment webhook provided in the functions folder using Google Cloud Functions for Firebase:
- 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. - Navigate to the
firebase/functions
directory and runnpm install
. - Run
firebase deploy --only functions
and take note of the endpoint where the fulfillment webhook has been published. It should look likeFunction URL (yourAction): https://${REGION}-${PROJECT}.cloudfunctions.net/yourAction
- 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
- Go to the Dialogflow console and select Fulfillment from the left navigation menu.
- Enable Webhook, set the value of URL to the
Function URL
from the previous step, then click Save. - 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 Use webhook and then click Save. This will allow you to have the welcome intent be a basic webhook intent to test. - Build out your agent and business logic by adding function handlers for Dialogflow actions.