In this developer code pattern, we use the typical customer care chatbot experience, but instead of relying on predefined responses the dialog provides a hook that can call out to other IBM® Watson services for additional sources of information. In this case, it’s an owners manual that has been uploaded to Watson Discovery.

Note: This code pattern includes instructions for accessing Watson services running on both IBM Cloud and on any cloud with IBM Cloud Pak for Data.


The typical customer care chatbot can answer simple questions, such as store locations, hours, and directions, and maybe even make appointments. When a question falls outside of the scope of the pre-determined question set, the option is typically to tell the customer that the question isn’t valid or offer to speak to a real person.

In this code pattern, we provide another option. If the customer question is about the operation of a device, we use the search skill feature of Watson Assistant to pass the question on to the Watson Discovery service, which has been pre-loaded with the device’s owners manual. So now, instead of “Would you like to speak to a customer representative?,” we can return relevant sections of the owners manual to help solve the customers’ problems.

To take it a step further, we use the Smart Document Understanding feature of Watson Discovery to train it on what text in the owners manual is important and what is not. This improves the answers returned from the queries.

In summary, this code pattern will:

Related work from others:  Latest from Google AI - Learning with Queried Hints

Create a customer care dialog skill in Watson Assistant
Use Smart Document Understanding to build an enhanced Watson Discovery collection
Create a Watson Assistant search skill that allows the Assistant dialog to post queries to Watson Discovery


The document is annotated by using Watson Discovery SDU.
The user interacts with the back-end server through the app UI. The front-end app UI is a chatbot that engages the user in a conversation.
Dialog between the user and back-end server is coordinated using a Watson Assistant dialog skill.
If the user asks a product operation question, a search query is issued to the Watson Discovery service through a Watson Assistant search skill.


Find the detailed instructions in the Readme file. These steps will explain how to:

Clone the repository.
Create Watson services.
Configure Watson Discovery.
Configure the Watson Assistant service.
Add Watson service credentials to the environment file.
Run the application.

Similar Posts