Connecting Voice Assistants and Sitecore via Cognigy Part 1: Overview

So you wanna have an Alexa skill use Sitecore as its content source?  Sure, you can make a direct call from the Alexa Skill to a Sitecore web API but this approach can leave your code in a tangled web of ‘ifs.’  In this blog series, I’ll explain how Cognigy.AI can be used to effectively bridge the connection–and handle most of the logic–between voice assistants (like Alexa and Google Home) and Sitecore content.

Blog Series Part 1:  Overview

Sitecore data and voice assistants? Why?

Since this is a Sitecore-based blog, let’s start here.  What value can an Alexa skill offer to a company with an experience platform like Sitecore?

Sitecore XP and XM are warehouses of content for a company.  Some of this content (when properly curated) can be beneficial to an Alexa end user.

Alexa, ask [your company] how I contact their support team?
– information from the website’s contact us page
Alexa, ask [your company] for the latest trends in real estate.
– the teaser or summary content for a popular article
Alexa, ask [your company] what products do they recommend for me?
– based on user browser habits or purchase history
Alexa, ask [your company] for the amount of my latest invoice
– information from Experience Commerce

From informational conversations to complex re-ordering within Experience Commerce, for every Sitecore application, there’s a use case for Sitecore content re-use across digital channels other than websites.  Cognigy.AI can help with this integration.

What is Cognigy.AI?

From their website, Cognigy says, “COGNIGY.AI is the Conversational AI Platform focused on the needs of large enterprises to develop, deploy and run Conversational AI’s on any conversational channel.”

Hmmm … how about a description without all the business language? …

Cognigy.AI lets you integrate chatbots (most used), virtual reality/augmented reality, voice assistants, and robotics/IoT with your existing websites and systems (like Sitecore) using natural language processing and easy-to-build logical flowcharts.  This reduces the amount of custom code written within your systems and allows for easy re-use of logic across channels.

The Cognigy software is always improving and they love client feedback. Their releases are usually chock-full of new goodies!

Cognigy.AI Basics

All the Cognigy.AI functionality is well-documented in their developer guide so I’ll provide highlights of the components that you may use for your Alexa/Sitecore connection.

project flow nodes

Project

You’ll start off creating a project which you can match up to a general business need.  As an example, let’s consider logic that handles questions about the current weather.  You will have flows that will handle potential questions about the weather and endpoints to external channels (like a voice assistant) to gather the question.  This weather example could be considered a single Cognigy.AI project.

Flow

Flows hold the ‘guts’ of the logic in Cognigy.AI.  They are the graphical representation of the conversation for the project.  In keeping with our current weather example, a flow might offer the answer to the question, “What is the current temperature in {city}?” Notice, the curly braces around the generic word, ‘city’?  It’s called a slot and the flow could use the user’s value to the slot to properly route the conversation.

When constructing flows, it’s important to plan and follow the Single Responsibility principle.  Break up one large flow into smaller ones using the Execute Flow or Switch Flow nodes.

Nodes

Nodes are the building blocks of a flow, similar to the Process, Decision, and Data symbols of a flowchart.  They are available within the Flow Editor.   There are many nodes available when building your flow and, again, the developer guide does a great job of describing them.  Here are the node groups with some example usage:

Node groups Examples:

Logic->If node
Just what you think it is … if, then, else logic; the cornerstone of the flow

Basic->Say node
Used to store text (or text-to-speech) output

Api & Db->Http Request
Add a GET, PUT, POST, DELETE request to an API, passing collected data

Endpoints

Who is Cognigy.AI communicating with?  Where is the conversation coming from and going to?  A channel endpoint is another key component assigned in the project. (This is not to be confused with the data repositories; ERP or CMS systems from where data may be retrieved to complete a conversation). When an endpoint is set up, Cognigy.AI creates an endpoint URL to provide to the channel. Here’s a list of the current endpoints with Cognigy.AI 3.3.  Don’t see what you want here?  As mentioned, Cognigy loves client feedback.  Reach out!

cognigy endpoints

In the next post of this series, I discuss the fundamentals of setting up an Alexa Skill and what is passed to Cognigy.AI from Alexa.  Ready to get your Alexa Skills on?


cognigy logo
Contact:

  • Andy Van Oostrum – VP Sales North America : a.vanoostrum@cognigy.com
  • Derek Roberti – VP Technology North America: d.roberti@cognigy.com

See other posts in this blog series: