Sitecore Cognitive Services: Ole Chat

January 02, 2020

For those of you who don't know what Ole [oh-la] is, it is a chat bot for use within the backend of Sitecore. Some of the key features:

  • works on mobile
  • can be translated
  • is extensible
  • cost is minor or free
  • supports voice input

If that's not enough of a reason for you to try it, then just consider it's using cutting edge Microsoft machine learning technology!

You can also catch up quickly with a few videos here:

Installation

The installation goes like this:

  • download the source code (Core and OleChat)
  • put together the solution
  • publishing the solution to your local Sitecore environment
  • run a unicorn sync
  • create an Azure instance of Language Understanding and copy an API key
  • create a LUIS account and go to your account settings to retrieve an authoring key
  • log into Sitecore and go to /sitecore/system/modules/Sitecore Cognitive Services/OleChat and use your authoring key in the setup form
  • go to the MSSDK API node and swap out the authoring key for your Azure API key
  • go to the 'Cogntiive' tab in the ribbon or go to the launchpad and open Ole 
  • chat away

Features

Short list of current features:

  • Setting Up Personalization
  • Item Publishing / Scheduling / Unpublishing
  • Rebuilding Indexes
  • List / Kicking Logged in Users
  • Checking / Unlocking items
  • Get Version Information
  • Logging out

Adding More Intents

One of the best parts of Ole is that once it's working, you can inject your own intent classes (inheriting IIntent see: Ole IOC config) as well as creating a matching intent in LUIS and you can extend the existing functionality.

Intent functionality can come in many shapes and sizes but basically it's either a single response (based on a simple user request) or a conversation response (based on a set of conversation parameters you add to the intent class). You can use the existing parameter classes to build your intent or add your own. There are a number of ways to modify the UI based on the type of options you want to provide the user so you'll want to follow the existing patterns to offer item search and list results before you go down that road. 

Takeaway

The main use for this type of tool is that you can offer authors an option to work on their phones and more importantly, you can streamline a lot of complex management tasks into easy to follow guided conversations. There are a lot of client or domain specific use cases where the tasks involves a lot of repetitive clicking through the content editor, workbox and other areas that could be sped up and managed in a much simpler way. This is not replacing existing functionality. It's going to take some really painful things and make them effortless.