Alexa, teach me how to teach you

Creating Alexa skills

Alexa skills are built by two different components:

In this article we’ll evaluate how to set up both, starting with the functionality.

The functionality is simply some code that will be executed when Alexa is tasked with our custom actions (or skill). This code for our purposes will run on AWS Lambda, a service matching perfectly with Alexa, it’s cost-efficient and super easy to set up.

Here are all the steps we need to take into account when building an Alexa skill:

So let’s start with the first step:

Setting up an AWS (Amazon Web Services) Lambda

It’s worth noting we’ll use a blueprint for sample, a blueprint is an already developed sample which can be easily added to your AWS lambda account. If you want to build your own skills, you can either program the lambda yourself, or use the blueprint and update it to your needs.

There are blueprints for Python, NodeJS and other programming languages, in our case we will use one based off Python, though we will ignore the code for this tutorial and focus more on the Alexa side of things.

Creating your free Alexa Developer Account

Now we have tocreate an Alexa Developer Account. Go to the Amazon developer portal and create an account if you don’t have an account already. While creating the new account, add the appropriate data in all required fields.

Just sign in to the Amazon developer portal if you have signed up already.

Create a sample of Alexa Skill

Here is where we build the actual Alexa interface, that is how we’re going to talk to Alexa to solve our problems and communicate with our Lambda function.

Follow all these steps carefully:

The skill name can be anything you want, keep it meaningful to what you are trying to achieve. But don’t confuse the name with the phrase you will use to invoke Alexa to perform the task. The name is only for your reference.

With the invocation name you told Alexa to “talk” to your program, now intents, will tell your program exactly what procedure to execute. They can be anything your program can perform, like “find a book”, or “readLiveCode Stream.”

Slots allow you to create lists of possible values, IDs and synonyms. Often times they’re generated by code, but for now we’ll set them up manually.

Alexa skill is now successfully created.

Test the newly created Alexa skill

After the implementation of the Alexa skill, we have to test it. The testing verifies the either we’re achieving our desired results or not?

We can test the Alexa skill in many ways:

This is the fun part, so enjoy it.

Alexa, and voice assistants in general are here to stay, and the success of your product or services may be limited by the integration that these systems will present in the future.

So grab yourself some time and take a look into the endless possibilities these assistants give to users and developers alike.

Thisarticlewas originally published onLive Code StreambyJuan Cruz Martinez(twitter:@bajcmartinez), founder and publisher of Live Code Stream, entrepreneur, developer, author, speaker, and doer of things.

Live Code Streamis also available as a free weekly newsletter. Sign up for updates on everything related to programming, AI, and computer science in general.

Story byLive Code Stream