The Mobile & Digital Assistant Blog covers the latest in mobile and conversational AI development and engagement

TechExchange: ITSM Skill - Building ITOps Chatbots with Oracle Digital Assistant

Frank Nimphius
Master Principal Product Manager

article by Grant Ronald, June 2020


It is a facility we are all familiar with: IT help and operations (ITOps) – the ability to self-serve a password reset, log a request or research a problem you might be having with your PC.  However, the next generation of ITOps is aiming to provide those same self-service capabilities through natural, human conversation.  

Consider the benefits of being able to converse as you would with an IT specialist but with the scale of an automated system.  

This article discusses the key design consideration and demonstrates through a reference implementation how this can be quickly developed using Oracle Digital Assistant

Your ITOps wishlist

In considering an ITOps digital assistant, what are the key factors that exploit the scale of an automated system whilst embracing the power of natural language and human conversation?  

We see six primary aspects which an ITOps digital assistant should embrace:

Embrace all aspects of natural language

Often ITOps engagements requires a certain working knowledge of what you want to achieve.  For example, “I want to load the driver for a network printer”, or “reset my password” are cases in which the user is specifically requesting a solution.

What if the user is at the stage where all they know is “I want to be able to print to the printer on the 3rd floor” or “The system won’t let me in”?  

For a successful conversational digital assistant you have to prepare and train it to understand not only the specific request for a solution, but also the statement of a problem.

Frequently asked question

Many of the requests to a help desk are covering the same small core of questions and many businesses have already collated a list of frequently asked questions.  

It should be expected that the digital assistant can consume and learn from these frequently asked questions and so respond appropriately when asked one of these questions.

Conversational engagements

The first step in supporting a user is gather information about the problem they have.  That may involve a conversation to gather information about hardware, OS version or error message.  

The nature of human conversation is that you cannot guarantee the user gives all the correct information, or may have given more information than requested.  

The digital assistant should be able to extract the key information (known as entities) regardless if the user gives all the information in their initial input or as a result of being prompted by the digital assistant, and should be able to present relevant questions to the user.

For example, “I have a problem with my windows machine” should not show Apple products when confirming the make of the machine.

Corporate search 

As well as a specifically curated list of frequently asked questions, most businesses will have various corporate knowledge bases.  

If a user requests to specifically search or if the digital assistant ascertains that it would be helpful to search once of these knowledge bases, the digital assistant should have the ability to interface to, and search, corporate knowledge bases.

Live agent integration

As a result of an escalation or the nature of a question asked, it may be prudent to offer the user to speak to a human agent.  

The digital assistant should be able to transfer the user, but also the transcript of the conversation to the agent; ideally seamlessly in the same channel.

Context switching

The nature of a conversation is that it is not always liner, especially if someone is trying debug a technical issues.  

Thus, a user might initiate a conversation to request the setup of a network printer but during the support for that issues has to request a new network account.  

The digital assistant should be able to handle the fact that a customer might need to switch topics to achieve a resolution.

Implementing ITOps in Oracle Digital Assistant

Taking the above points into consideration, how might you build an ITOps digital assistant using Oracle Digital Assistant?  

As it happen, it is relatively simple and straight development process which we undertook as a sample implementation completed in only a few days. 

Below is a brief outline of how this was achieved.  You can download the reference implementation to see the exact details.

Embrace all aspects of natural language

The primary skill includes, amongst others, an intent for password reset.  

The language model for this intent includes not only phrases explicitly about resetting a password, but also phrases which might describe a problem for which a password reset is needed. This helps the language model learn the variations in user requests rather than being solely around a narrow topic.

Frequently asked questions

Frequently asked questions can be loaded into a CSV file and directly imported into the skill.  

We did this with a sample of questions but we could also automatically “scrape” these from a corporate web page into the correct format. This CSV file is then loaded into Oracle Digital Assistant to enable the skill to immediately be able to respond to these questions. 

Conversational engagements

Consider the example of a question such as “I see a flicker in my laptop display”. This will initiate a conversation to get more information, such as, what hardware device.  

Of course, if the user explicitly says “I see a flicker on my Dell laptop” then there no need to prompt for the device type.  

However a request such as “I see a flicker in my windows machine” should display a list of options but only those which are Windows devices.

The point being that in a conversation to gather information from the user, the digital assistant must do so in an intelligent and efficient manner.  We were able to achieve all of this using the composite bag feature of Oracle Digital Assistant.

Corporate Search

For the purposes of the reference implementation it would have been difficult to demonstrate the searching of corporate knowledge bases as these are typically protected access.  

However, we were able to demonstrate the same functionality using a Google search API across public documentation. In this case a request “How do I use Oracle Java Cloud Service” searches the appropriate documentation and returns a carousel of relevant searches from that document.

Live agent integration

Oracle Digital Assistant provides out-of-the-box integration with call center solutions such as Oracle Service Cloud.

In detecting a specific scenario, either a direct request to speak to an agent, or as a result of a failure to answer a question, the digital assistant will connect with Oracle Service Cloud, pass the conversation so far, and then directly connect the user with the agent through the digital assistant interface to continue the conversation.

Context switching

One of the unique features of Oracle Digital Assistant is that each user request is routed through a “master” digital assistant which decides where the request can best be handled. The consequence of this architecture is that if a question is on a new topic, the conversation can be routed appropriately and the current conversation is saved and returned to.  

This ability to automatically have “nested” conversation means the user can seamlessly jump topics and return to previous topics. With Oracle Digital Assistant this is handled automatically with no code at all.


Oracle Digital Assistant Sample (ZIP)

Readme & Setup Instructions


Related Content

TechExchange: All 2-Minutes Oracle Digital Assistant Tech Tip Videos on YouTube

TechExchange - QuickTip: Oracle Digital Assistant As an Agent

TechExchange: Building A Production Quality FAQ In An Hour With Oracle Digital Assistant

TechExchange: How-to allow customers to provide feedback on the usefulness of answers to frequently asked questions

TechExchange: Integrating Oracle Digital Assistant with Oracle Rest Data Service (ORDS)


Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.