Intelligent Advisor interviews for Oracle Digital Assistant – Seeding Interviews

In the final part of this article, we’re going to look at a couple of big ideas that make it a bit easier to get your head around the integration between Oracle Digital Assistant and Oracle Intelligent Advisor. Oracle Digital Assistant – Seeding Interviews with Digital Assistant data.

As we discussed in the previous two articles (introduction to the integration with Oracle Digital Assistant / Oracle Intelligent Advisor Interviews in Oracle Digital Assistant), the basic target of the integration is with your Interview, and that interview may have to be considerably modified to fit the paradigm of a conversation. The next part of the integration that we will look at is; are there sections of the interview that can be better handled in Oracle Digital Assistant? And this will lead on to leveraging Oracle Digital Assistant – Seeding Interviews – which can be achieved easily and might improve the user experience.

Consider the Route Mapping example we have been using. When we take it down to the simplest expression of the interview goal, all we need is a starting point and a destination. Then the algorithm can do it’s magic and find the fastest route to the destination. So we might consider asking for these two pieces of information in the Digital Assistant Skill, and simply pass them to Intelligent Advisor so that we can trigger the interview when we have the necessary information. To do this, we can set up Oracle Digital Assistant – Seeding Interviews, with Entities. But not entities as you know them in Oracle Intelligent Advisor…

To achieve our objective of seeding the interview with information gathering in the Digital Assistant Skill, we will build (confusingly) entities. Think of an entity, in Digital Assistant, as a piece of information backed up perhaps by a Value List (or maybe just a type, like “string”). In our case we have two pieces of information , representing the origin and the destination for the journey. These pieces of information need to be packaged up together, because they represent a pair of attributes that logically should be grouped together, as we need both to get our journey planned. Of course in real life, you might be grouping lots of different items together to collectively represent your seed data .

They are then placed inside a special type of entity, called a Composite Bag. Which, as it’s name suggests, is a composite set of properties, something like an object. We could consider our example as this:

JourneyDetails : {origin, destination}

The collection called JourneyDetails is made up of two elements, origin and destination. Now here is what that looks like in the Oracle Digital Assistant interface.

Oracle Digital Assistant  - Seeding Interviews setting up Composite Bag

In the above pseudo-example, JourneyDetails is the Composite Bag, and the origin and destination are the simple entities. To create this structure therefore you need first to add the basic entities and then to create a Composite Bag. This Composite Bag should be associated with your Intent.

Now that you have provided this structure, it is important to update the YAML file to include it. Pay close attention when editing this file, and use something like a YAML verifier to get the structure right. I lost count of the number of times validation failed because of an extra space or character.

In the above screenshot, I’ve added the composite bag variable and given it a name “myjourney”.

Now, in the Intelligent Advisor section, I can refer to the contents of the Bag using the following simple dot notation:

Oracle Digital Assistant  - Seeding Interviews - adding Seed Data

Then in the states section of the file, ensure that you allocate a section for processing of the data received from the end user. There are two ways to do this, the simplest being to add a ResolveEntities component.

When working with this YAML file, and particularly when looking at the states and transitions, it is important to remember that this is a flow that defines the conversation flow – so think carefully about the positioning of sections and read through the transitions (which may be conditional) to get a feel how this is going to actually feel for the end user. Remember the conversation concept and take advantage, where appropriate, of Oracle Digital Assitant User Experience elements like System.Text, System.Output and others to enrich the dialog.

With all that said and done, you should now be able to get your Interview working using the seed data. It might look something like this.


There is another way (a third way, in a sense) to integrate Intelligent Advisor into a Digital Assistant which would use the System.WebView component to spawn a browser window with the Interview in it. But that is another story for another day! Hopefully this article will motivate you to go out and get your Free Cloud account and experiment!

PS, if you are interested in the algorithm behind this route mapping example, and many more interesting examples, we enjoyed reading this book (affiliate link) :

Author: Richard Napier

After 8 years in case management and ERP software roles, Richard Napier joined Siebel Systems in 1999 and took up the role of managing the nascent Siebel University in Southern Europe. He subsequently was Director of Business Development and Education for InFact Group (now part of Business & Decisions) for 8 years. He now runs Intelligent Advisor IT Consulting OÜ. Owner of, he also is Co-Founder of the Siebel Hub.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Intelligent Advisor IT Consulting Serving Customers Worldwide
Hide picture