Think 2021: New tools have the developer ecosystem and IBM building together Learn more

Create a virtual help desk


Built for developers familiar with JavaScript and Node.js that are interested in a virtual help desk with cognitive abilities, this code pattern makes use of the IBM Watson™ Node.js SDK to include Watson Assistant (formerly Watson Conversation) interaction and Watson Discovery for FAQ and more. This Virtual HelpDesk app covers typical use cases and provides a practical starting point for building your virtual help desk.


Have you ever been in a situation where it would have been more efficient to have an automated agent help customers with common requests? In this developer code pattern, we will create an app called Virtual HelpDesk using Node.js, Watson Assistant, and Watson Discovery services to interact with end users for simple FAQ answer discovery.

With proper training, the Watson Assistant service can cover most common questions/requests. When it has not been trained to address an end user’s specific question, the virtual agent searches in the knowledge base through Watson Discovery and presents relevant entries to the end user. If the user is still not satisfied, a new ticket is created in a back-office ticketing system, such as Maximo® or IBM Control Desk.

When you have completed this pattern, you will understand how to:

  • Create a virtual agent that converses via a web UI using Watson Assistant and Node.js
  • Use Watson Discovery with passage retrieval to find answers in FAQ documents
  • Optionally create a ticket in a back-office ticketing system



  1. Knowledge base documents are added to the Watson Discovery collection.
  2. User interacts with virtual agent via the app UI. User input is processed by the virtual agent.
  3. When the virtual agent is trained to cover the discussion subject, it quickly provides feedback.
  4. When the virtual agent is not trained to cover the discussion subject, it searches in the knowledge base for suggestion(s). If found, relevant suggestions are displayed via the app UI.
  5. If no relevant information is found in the knowledge base or the relevant information from the knowledge base does not satisfy end users, the virtual help desk opens a ticket in a back-office ticketing system.
  6. Back-office ticketing system takes over the support task.


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