Amazon Alexa Custom Voice Application Skill for Business
Amazon released their Alexa device to an unsuspecting world in November 2014. Similar to the Google Home, Amazon Alexa places a voice enabled assistant directly into our homes and businesses.
This custom voice application / skill has been developed for a company called 360Jungle who provide software for virtual reality tours. The skill offers users a range of interactions including product / pricing information, technical support , latest news etc.
Techs Used
- https://developer.amazon.com
- Alexa Skills Kit
- Microsoft Web API (Rest)
- Microsoft C#
- Microsoft SQL Server
- Microsoft Entity Framework
Voice User Interface for Business Applications
Creating a custom voice skill for Amazon Alexa requires a new approach to software analysis and design.
An Alexa custom skill is made up of a series of 2 way dialogs (between Alexa and the user). Each dialog has to be worked through meticulously to drive out the key conversational elements (known as slots) . These slot values can subsequently be used as variables to determine an appropriate response.
To give an example, a customer might ask "Tell me about your software packages". In response, Alexa will seek clarification by asking "We offer software package A and package B, which would you like to know more about B?", to which the customer responds"package A". Package A is then used in a query to the database to get the details of the relevant software package that can be spoken back to the user.
The Alexa Skills Kit, combined with a RESTful Microsoft Web API were utilised to build this Alexa skill.
Custom RESTful Service for Skills
The Alexa Skills Kit is a superb way to start building a custom voice app / skill, however, to unlock a its real potential it needs to be hooked in to something called a RESTful service. A RESTful service acts as gateway / proxy between the voice interface (Alexa) and your business information (databases, FAQs etc).
As an example, you may want your Alexa app to give out prices for your products / service, or maybe offer answers to support questions from an existing knowledgebase. Your Alexa skill will pull variables out of user speech, which are then passed to the RESTful service. The service then passes back a custom answer containing dynamic information e.g. "The price of Service B is just £79.99".
The 360Jungle Alexa skill has a custom .net based service that backs onto an 'answers' database. This database can then be dynamically updated over time without having to re-deploy the skill whenever an answer to a question changes.
Deploying Your Amazon Alexa for Business Skill
Before you can deploy a custom Alexa voice application for business it has to be approved by Amazon.
App submission / verification can take anything up to 2 weeks and you can expect to have to make tweaks and re-submit a couple of times - Amazon expect quality, and will reject your app for the smallest spelling mistake.
For a demonstration of the 360Jungle voice app in action on Amazon Alexa take a look at the video! If you have an Amazon Alexa device and want to try the app out then just say "Alexa, three sixty jungle". Alternatively you can read more about the app in the Amazon Alexa app store.