Build Your First Alexa Skill

Alexa Skills Kit    >    Resources    >    Training Resources    >    Build Your First Skill Tutorial

5 Steps to Building Your First Alexa Skill

To help you get started, here's an overview of the skill-building process and the five steps you can follow to design, build, and publish an Alexa skill.

Step 3: Build Your Back End to Power Your Skill

When you use a website or an application, there's a lot going on in the background that you can't see. The front-end interface is separate from, but connected to, a back end that the user only experiences indirectly. Most of the utility of the site or app actually happens in the back end and is then shown or delivered in the front end.

Your Alexa skill will work in much the same way. Your back end will receive information from the user as they interact with the front end you created in step 2. Once the information arrives, it's up to you to decide what your back end should do with it and how to respond to users. There are a few different places your back end can live, and a few different tools and programming languages to choose from when building it.

If you're not someone who codes, start small. We have a variety of templated tutorials on GitHub that contain both the front end (models/{region}.json) and back end (lambda/custom/index.js) information for basic skills. By following the steps, you can have a basic skill operational within an hour without changing the code much.

If you'd prefer not to code at all, that's okay. You can still build a skill! You can create personal skills or prototype rapidly without code using Blueprints. Or you can take advantage of third-party tools like Voice Apps that let you build skills quickly without writing code.

If you're comfortable with code or following one of our GitHub tutorials, the best place to start creating your back end is with AWS Lambda. You simply upload the code for your Alexa skill to a Lambda function and Lambda does the rest, executing it in response to Alexa voice interactions and automatically managing the compute resources for you. Learn more about hosting your code with AWS Lambda. You can also leverage our ASK Software Development Kits (SDKs) for Node.js, Java, and Python (beta) to make the development experience easier.

Of course you don't have to use Lambda or AWS at all. Your front end can be configured to connect with any HTTPS endpoint for your back-end logic.