Mark Kirby - mobile, cloud, voice and IoT

How to build Alexa skills

I’ve put this guide together for anyone getting started with Alexa Skill development, as well as anyone wanting to keep on top of the latest new features Amazon are providing to Alexa developers.

Amazon have plenty of content for developers, but sometimes it can be a little hard to find, so this guide should help anyone getting started, and I’ve linked to lots of their own great articles and tutorials.

Where to begin with Alexa

Keep on top of Alexa news

  • The Alexa Dev Chat Podcast - New episodes every 2 weeks, with “Alexa news, developer tips, and interviews with Alexa developers and Alexa employees”
  • Alexa Blog - Amazon official announcements all appear here and you can keep on top of all the news by following this blog

Learning the basics

To get going, you really should take the time to learn the following concepts, which I hope to add content around in the coming weeks myself.

Advanced features

Alexa offers the following features outside of the standard interaction model:

  • Access to the users postal address, permission is required - Learn more, and try the Device Address API template app
  • You can include visual cards in the accompanying Alexa app, adding additional text and images to the app to support responses your skill might provide - Learn more
  • Alexa provides skills with a session id, which lasts for a user’s individual session (from when they start using this skill to stopping, normally shortly after) - Learn more
  • Alexa provides skills with a user id, which allows you to identify a user, until they disable the skill. This allows you to persist data across sessions. If a user re-enables the skill, they will have a new user id, so take care to add account linking if you really want to track a user over a long period of time.
  • The SSML markup language allows you to add pauses and other customizations to the responses you provide via Alexa, to alter the way Alexa speaks - Learn more
  • Speechcons allow you to have Alexa say custom phrases such as ‘booyah’ - Learn more
  • Amazon provide standard built-in intents, a library of intents for use by any skill, such as ‘help’, ‘no’, ‘cancel’, ‘repeat’, ‘stop’, ‘start over’, ‘no’, ‘yes’ etc, these save you having to set up utterances for concepts such as going to the next song or stopping a skill. You still need to write the action code, but you don’t need to come up with utterances - Learn more
  • Amazon provide a large range of additional built-in intents, a library of pre-populated intents, in preview, in categories such as books, weather, calendar, these save you having to set up utterances for concepts such as managing a reading list, or playing music or searching locally. You still need to write the action code, but you don’t need to come up with utterances - Learn more
  • Amazon provide a library of built-in slot types, such as date, duration, four digit number, number, time and a range of useful lists such as states, music events, months and many more. These allow Alexa to weight certain words under certain circumstances, such as when you want book names, months, US States etc - Learn more

Development support

The following tools are provided by Amazon and the wider development community to help developers when building skills:

Design tips

Check out the following design articles to ensure you build skills the right way:

comments powered by Disqus