Liam Sorta
Follow Me

Liam Sorta

About Liam Sorta
Liam is the founder of Voice.tv, an Amazon Alexa Champion and contributor to the AWS Alexa Certification Exam. He now looks to teach new developers and bring the voice community closer together.
Liam Sorta
Follow Me

Latest posts by Liam Sorta (see all)

Become an Alexa Skills Developer

Do you want to become an Amazon Alexa Skill Developer? By the end of this post, you will have your very own live skill on the Amazon store. Alexa-enabled devices have provided a wealth of possibilities to developers. From earning free devices for publishing skills with Developer Perks, to full-blown Developer Rewards payouts, with some developers earning over $10,000 a month, there has never been a better time to get started with Alexa Skills Development. This short tutorial will take you less than 30 minutes to complete.

Become an Alexa Skills Developer

Alexa Developer Summary

  • Is it free to get started with? Yes. The only cost associated with Alexa Skill development is the processing costs, which, unless you are processing audio for millions of users, won’t take you outside of the AWS Free Tier.
  • What is AWS? Amazon Web Services is a collection of cloud computing services. For Alexa Development, the key services are Lambda for processing data, S3 for storage, and DynamoDB for databases. AWS comes with a free tier that covers these services.
  • How do I earn money? Amazon’s Developer Rewards is a programme that offers payouts based on the usage of a given skill. Currently, only skills in the US, UK and Germany are eligible, and only within certain categories. In addition to Developer Rewards, skill builders can integrate In-Skill Purchases into their apps to provide access to premium content. This feature is currently only available in the US.
  • What are Developer Perks? Every few months, there are region-specific perks for skill development. Previous perks have included Christmas baubles, hoodies, backpacks and regularly offer free devices if you reach a certain level of engagement. Find out more about Developer Perks

Types of Skills

There are now over 50,000 Alexa skills, all serving different uses. These skills can be categorised into three types: Flash Briefing, Smart Home, and Custom. These skills all work in slightly different ways, giving developers more control in how their skill is used.

Flash Briefing

These are skills meant for any short-form content, typically content that a user would want at the start of their day. Popular examples are news headlines, weather reports and stock prices.

Smart Home

For IoT enthusiasts, being able to control your home through voice is a dream come true. With Smart Home skills, users can change the colour of their lights, control the temperature and even see live security camera video feeds.

Custom

Custom Skills represent the vast majority of the Alexa store; they can help you find your lost phone, take part in high-stakes quiz shows, or play Truth or Dare. Custom skills are also the only category of skills that are eligible for developer rewards.

Getting Started

Sign up for the Developer Portal

Start by signing up to the Developer Portal, this is where you will create, manage and view analytics for your skills. The console also offers an expansive set of tools to help developers be successful, going as far as to offer an integrated device simulator that lets you test your skill in all available languages and even see the exact code responses coming from your code.

alexa_portal

Alexa Developer Portal

Quick Disclaimer on Developer Rewards: If you are interested in being eligible for developer rewards, you must fill out your Royalty and Service tax identity information here, if you do not operate your own company, you can still fill in this information as an individual. If you are successful with skill development, you can always re-submit these forms later under your newly formed company.

Sign up for AWS

To create the functionality of a skill, you will need to direct any invocations (launches) of the skill to a source that can give an output, which really just means telling Alexa to go and look at some code we wrote. The easiest way of getting this set up is to create a Lambda Function, you could think of this as a flowchart that’ll give a response based on what Alexa is asking for.

The best part of all is that Amazon gives every new developer an entire year of free AWS usage under their “free tier”, which, as far as Alexa development is concerned, will be incredibly difficult to exceed.

Amazon AWS

AWS Landing Page

Creating Our First Skill

Skill Creation

From inside the Alexa Skills Console, click ‘Create Skill’. Here you will be prompted to enter a skill name and default language. Switch the language to your region, as there are some small feature differences based on the region you are developing for. After naming the skill, select ‘Custom’ and then ‘Self Hosted’.

Alexa Skill Creation

Alexa Skill Creation

With the skill created, you will now need to choose an ‘Invocation Name’, this is the phrase that a user will need to say in order to use your skill once it has been enabled.

Once you’ve decided on a name and saved your model, you can now add an ‘Intent’. This is the type of request that a user can pose to your skill. An example of this would be: “Alexa, ask VoiceTV for support information”. Here, ‘Support Information’ would be the phrase we want to try and capture. In code, we will direct a response using the Intent name, though any of the sample utterances (alternate phrases) will trigger the response.

Alexa Sample Utterences

Alexa Sample Utterences

Build the model to save those changes, then go to the ‘Endpoint’ tab on the left side and copy the Skill ID to your clipboard. We now need to hook up our skill to a piece of code that will tell us what to say when Alexa queries it.

Setting up a Lambda Function

With an AWS account created, navigate to the ‘Lambda’ service and click on the orange ‘Create function’ button.

To get started, click the ‘Use a blueprint’ button and search for ‘Alexa’. From here, feel free to choose whichever skill interests you most. We’ll use the ‘alexa-skill-kit-sdk-factskil’ for this example. Once decided, hit ‘configure’, choose your function name, select the lambda_basic_execution role, then ‘Create function’.

Alexa Skills AWS

Blueprint selection within AWS Lambda

Inside the function, we now need to click the ‘Alexa Skills Kit’ trigger for Alexa to be able to call this function. As an added security measure, Amazon have made Skill ID Verification the default. This means that only your skill can call the function; paste in the Skill ID we copied from the Alexa console and click ‘Add’.

You’ll also notice a link to the Lambda function in the top right, called the ARN (Amazon Resource Name). Copy this ID and paste it into the ‘Default Region’ section of the skill’s endpoints.

AWS Skill to Lambda Linking

AWS Skill to Lambda Linking

Setting up a Lambda Function

With the skill now linked, let’s add some more functionality to our skill. Since we already have the ‘Support’ intent ready to go, all we need to do to create interactions is add a small bit of code to our ‘event handlers’, basically what we want Alexa to respond with when prompted with a specific event.

In this case, it’s just a simple string directing users to our community page.

'Support': function () {
this.emit(':tell', "You can find out how to join our Alexa support community at voice.tv/alexa-community");
}

(For reference, anywhere within the ‘handlers’ declaration).

AWS Lambda Snippet

Once you save that, head back into the Alexa Developer console to test the skill!

Testing the Skill

Within the Alexa console, navigate to the ‘Test’ menu and set the ‘Skill testing is enabled in:’ dropdown to ‘Development’. You can now test your skill in any region, provided that you have created local versions in your build settings. Using modifiers such as “Ask {skill} {request}” are a great way of efficiently communicating with a skill without having to go through an initial voice user interface (VUI) menu.

Alexa Simulator

Alexa Simulator

Certification and Publishing

The final steps to get your skill live on the Alexa Skills store is to fill in the distribution information and pass certification.

This section is fairly straight-forward, though one section that you must pay attention to is the Privacy & Compliance section, this is especially important if you are:

  • Collecting any form of user data
  • Allowing users to spend money on your skill
  • Are targeting children under the age of 13
  • Advertising

These all have important steps that, if omitted, will result in your skill failing certification, or worse in severe cases.

Within this section, it’s also helpful to provide testing instructions to the nice people making your skill is store-ready. Some skills can be very expansive in size, or require additional hardware. (E.g this project I made that put Alexa in Virtual Reality!)

Next Steps

Congratulations! You now have your very own skill on its way to the store. From here, there are so many options to explore. Do you want to create a relaxing audio skill? An interactive adventure? A quiz show with in-skill purchases?

If you are interested in learning more about Alexa development, consider joining our community to ask for advice, meet fellow developers and advertise your work: https://voice.tv/alexa-community/

Looking to take your development skills to the next level? Check out our beginner-friendly Alexa course on Udemy to learn everything there is to know about successful Alexa development.

Become a Pro Alexa Skills Developer

Recent Posts

Recent Comments

    Archives

    Categories

    Meta

    Recent Tweets

    Recent Posts