Enhance customer helpdesks with Smart Document Understanding using webhooks in Watson Assistant


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


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

In our code pattern, we will provide another option. If the customer question is about the operation of a device, we will use the webhook feature of Watson Assistant to pass the question onto our 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 our customers’ problems.

To take it a step further, we will 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 will improve the answers returned from the queries.

In summary, this code pattern will:

  • Create a customer care dialog skill in Watson Assistant
  • Use Smart Document Understanding to build an enhanced Watson Discovery collection
  • Create an IBM Cloud Functions web action that allows Watson Assistant to post queries to Watson Discovery



  1. The document is annotated using Watson Discovery Smart Document Understanding.
  2. The user interacts with the back-end server via the app UI. The front-end app UI is a chatbot that engages the user in a conversation.
  3. Dialog between the user and back-end server is coordinated using a Watson Assistant dialog skill.
  4. If the user asks a product operation question, a search query is passed to a predefined IBM Cloud Functions action.
  5. The IBM Cloud Functions action will query the Watson Discovery Service and return the results.


Ready to put this code pattern to use? Complete details on how to get started running and using this application are in the README.