XCentium: Connect Amazon's Alexa to Sitecore Commerce


The landscape of business and shopping is changing!. With the help of unique Artificial Intelligence (AI) capabilities, e-commerce platforms are able to leverage the latest advancements in technology to learn about their customers and create personalized shopping experiences. One of the recent improvements in this market is voice-activated shopping using intelligent personal assistants. One of them being Amazon's Alexa, which stands out to be the most powerful and accurate voice system on the market.

In this article, I will go over my experience of integrating Sitecore Commerce application with Alexa. The integration of Alexa with Sitecore Commerce will delight the end users with a completely new way to interact with commerce applications.

Sitecore_and_Amazon_Alexa

What is an Alexa Skill?

Skills are used to teach and train Alexa about our application so that it can provide a personalized experience to our customers.

What is the Alexa Skills Kit?

It is a collection of self-service APIs, tools, documentation and code samples that makes it fast and easy for you to add skills to Alexa.

Introduction

I have set up a Sitecore Commerce application which contains a catalog of movies. Using Alexa, I want to achieve the following use cases

  1. Get theater information based on users location
  2. Get the movie showtimes
  3. Buy movie tickets

SitecoreCommerceSite

Steps involved in setting up an Alexa Skill:

  1. Set up the skill in the Amazon developer Portal
  2. Enter a Name and Invocation Name for your skill
  3. Build your Interaction Model: This will contain your collection of intents and sample utterances
    1. The requests your skills can handle are represented as intents
    2. Utterances maps the intents to the words and phrases users can say to interact with your skill
  4. Set up Dialog model: This identifies information your skill requires and the prompts Alexa can use to collect information in a conversation with the user
  5. Create a service that can accept request from the Alexa service and send back responses
    1. I have hosted my service on Microsoft Azure
    2. You can use other services like AWS
  6. The service communicates with Sitecore Commerce application based on user’s intent and utterances
  7. Alexa converts the response from text to speech and sends it back to the user

Linking an Alexa User with Sitecore Commerce User:

For this, we make use of OAuth 2.0 authorization. It requires an access token that uniquely identifies the user within your system. The Alexa service stores this token and includes it in requests sent to the skill’s service. Once the user successfully links their account, Sitecore now has all profile information of the user making the request. This helps Sitecore to keep track of

  • Basic profile information
  • Preferences
  • Persona
  • Order History
  • Preferred Payment Methods

This will help us personalize the Commerce experience custom tailored for the current user.

Sitecore_Commerce_Alexa_User_Interaction

User Interaction Flow:

  1. User initializes the skill by the wake word “Alexa, open movie world”
  2. Alexa converts the speech into text and identifies the skill
  3. Alexa skill service will identify the user’s intent and utterance
    1. Alexa skill service hosted in Azure will process the request by
    2. Sending a request to Commerce application based on user’s intent
  4. Commerce application will process the request and send back the response
  5. Alexa will convert the text response to speech and deliver it to the user.

Video Demo:

 

Once an order has been placed successfully, the user will receive a confirmation email. Admins will have access to review the purchase under Order manager.

Movie_World_Confirmation

Sitecore_Commerce_Order_Manager


Takeaways:

This was an exciting test case to explore and understand the potential of integrating AI enabled devices into Sitecore Commerce applications. This opens up a room for exciting opportunities.

  1. Continuously monitoring customers shopping patterns and understanding their needs
  2. By using Machine Learning, an application of AI, we can learn and improve how each customer wants to be reached and how often
  3. Product browsing, proximity, geography and time-aware search
  4. Predictive Recommendations
  5. Personalization
  6. Wishlists
  7. Easy of Use

This was implemented and tested on Sitecore XP 8.2.3 and Sitecore Commerce 8.2.1 Initial release.

If you are interested in more details, please contact XCentium here

SEARCH ARTICLES