How to create Cross-platform voice bots

Pradeep Murugesan
Apr 9 · 4 min read

What are Bots

Bots are software programs that include AI components to interact with people over text or voice messaging. Using Natural Language processing (NLP) it will be able to understand the question and provide solution. Bots today are being used for booking cabs, ordering food, listening to music, finding information about your favorite author, checking the weather, etc.

Why are the Bots Trending

  1. Bots can interact over voice and text.
  2. Using Machine Learning (ML) and Artificial Intelligence (AI) bots gain continuous knowledge
  3. Bots can replace humans by performing repeated tasks like providing solutions for a known issues in customer support, front office activities such as booking appointment, booking conference rooms, sending reminders, etc.
  4. Bots can serve 24 x 7.

Virtual Assistants

In today market we have various voice bots like Amazon Echo, Google Home, Google Assistant, MS Cortana and Apple Siri. And these smart device can be programmed to perform task based on user request.

Challenges in developing Bots

Each devices have their own proprietary programming standards and require different hosting environment. Lets take a real time development scenario of development of Bot to booking cabs and how to book the same for different platforms.

Amazon Echo

Amazon Echo requires to configure all user input patterns in Amazon developer account and then for the relevant action of authenticating the user and booking the cab. The developer needs to have Amazon AWS Cloud account to create server-less API in Lambda , that will be invoked on user action and in turn the Lambda API should invoke the Cab API to perform the required tasks.

Google Home / Google Assistant

Google Actions require to configure all the user input patterns in Google action console and then for the relevant action of authenticating the user and booking the cab. The developer needs to have Google Cloud account to create Cloud function in Firebase, that will be invoked on user action and in turn the cloud function should invoke the Cab API to perform the required tasks. And also in addition Google Actions SDK doesn’t support Natural Language processing. Hence developer needs to find other service providers for language processing.

Microsoft Cortana

Microsoft require to configure all the user input patterns in LUIS console and then for the relevant action of authenticating the user and booking the cab. The developer needs to have Azure Cloud account to create Azure Functions, that will be invoked on user action and in turn the Azure Function should invoke the Cab API to perform the required tasks.

How can we help

In the above scenario we have to maintain different cloud accounts and also customized coding is required, as each devices have different input and output specifications. Here in Build Alexa Skills, we provide a standard format for developers to update user input text patterns and corresponding actions which will be built using logical programming blocks, that will be easy for any developer or non developers to build the logic. And then deploy the same across all devices and platforms. Hence we avoid the redundancy of code maintenance and maintenance of multiple host servers.

How do we do it

Our application provides a scratch board powered by Google Blockly, where user will be able to drag and drop programming blocks and build actions to be performed for each user request. On successful compilation, the program can be deployed. And in background our application will be generating code modules compatible with each devices and will be deploying the same.

Step by Step procedure

Sign In to Build Alexa Skills using your Gmail or Amazon account.

Step #1: Create a BOT

  1. Click the Add skill button on the top corner

2. Fill the below requested info

Skill Invocation Name : The name that will be used to invoke a skill.

Description : The description of the skill.

Locales : Select the locale for which the skill needs to published.

Category : Skill Category.

3. Then click the next button.

Step #2: Request for permission

  1. Select the permission required for your skill

Customer Phone Number : Select the permission if the skill requires to get the phone number from Amazon profile.

Notifications : Select the permission if the skill needs to send the notifications

Step #3: Select a template

  1. Select the template that suits your requirement

Step #4: Build the app logic

  1. Depending on the template selected the program will be created

Step #5: Select the Device Platform to which skills needs to be deployed

  1. Select Settings menu, which is provided as drop down menu item below user name.
  2. Select the device for which you would like to deploy the code.

Step #6: Upload the application code

  1. Click the upload button in top of the program editor.
  2. This will deploy the program.
Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade