Taxonomy Icon

Artificial Intelligence

Assemble a pizza-ordering chatbot dialog

Get the code View the demo

Summary

If you’ve used Watson Assistant and needed to have the user input data, you’ve noticed that the process can be cumbersome. Each time you added a field required a node, and validating the required logic was done on another node. Error handling, adding help, optional fields, and other logic would require even more nodes. Just creating a user profile or data form resulted in a large graph and extensive application logic. With the new Watson Assistant Slots feature, you can reduce that down to a single node. This code pattern shows how to create an online pizza order for a chatbot using a single node for input. After implementing this code, you will have the knowledge to create your own Watson Assistant Slots. This code pattern now includes instructions on how to use the IBM Cloud Kubernetes Service, too!

Description

In this code pattern, we’ll create a simple chatbot with Node.js and Watson Assistant. There will be only a thin application layer, which provides the bare bones of a basic chatbot, with all the logic pushed into Watson Assistant via the new Watson Assistant Slots feature. The chatbot will take a pizza order, filling in slots for the various information required. A similar approach could be used for a user profile or other online form.

When you complete this code pattern, you will be able to:

  • Create a simple chatbot using Node.js and Watson Assistant
  • Use Watson Assistant Slots to fill out required data
  • Use slots handlers to handle conversation flow that does not fit into slots

The code pattern lets you also choose how to deploy the application, using Cloud Foundry on IBM Cloud, or the IBM Cloud Kubernetes Service.

Flow

flow

  1. User sends dialog to cloud-based Node.js application.
  2. Application interacts with Watson Assistant and uses slots.
  3. Replies from Watson Assistant are returned to user via application.

Instructions

Find the detailed steps for this pattern in the README. Those steps will show you how to:

  1. Clone the repo.
  2. Create IBM Cloud services.
  3. Get IBM Cloud credentials and add to the .env file.
  4. Configure Watson Assistant.
  5. Run the application.