Alexa is Amazon’s cloud-based voice service which powers Amazon’s Alexa-enabled range of devices as well as the companion app on Android and iOS smartphones. It’s also one of the platforms that you can build apps for in Convoworks.
In this guide, you’ll learn the basics every budding Alexa developer needs to know.
What are Skills
Apps for Alexa are called skills. They help users with performing a variety of everyday tasks like setting the alarm, checking the news, listening to music, and more. Those skills are published in the Alexa Skills Store. You can enable or disable them, using the Alexa app or a web browser.
How skills work
A skill interaction basically consists of speech input and output where input constitutes user request and output constitutes your skill’s response. You can learn more about basic conversation concepts in the next guide. To handle the conversation flow, a skill has both an interaction model and application logic.
The interaction model consists of a JSON file that models all intents. Not exactly sure what are intents?
Here are definitions of basic interaction model elements:
- Invocation name: The name user is going to use for starting the skill. For example, in “Alexa, open Order Pizza”, the invocation name is “Order Pizza”. Keep in mind that the skill name and invocation name don’t have to be the same.
- Intents: Simply put, intent is what a user is trying to accomplish. You set up an intent to handle specific user request. In other words, it’s a way of accessing a specific section or action of an Alexa skill.
- Utterances: Example sentences for each intent are called utterances. They are used for recognizing user requests.
- Slots: Slots are variables that can be embedded in utterances. When the user speaks the utterance, the is parsed and passed to your skill as a variable. (They are called entities in Convoworks)
For a more in-depth explanation of the interaction model, continue to the Basics tutorial – Intent and Entity model chapter.
Now, let’s break down a skill’s workflow into steps:
- User starts the interaction by saying the invocation word along with the wake word (“Alexa”)
- The user request is sent to the Alexa service in cloud. Alexa service processes the request using a combination of automatic speech recognition and natural language processing
- The service then sends a JSON request to your skill’s endpoint. This is usually a Lambda function which acts as the backend and returns a response
Convoworks allows you to build voice apps for Alexa without Lambda, and backend coding.
To build and deploy an Alexa skill on Convoworks, one of the prerequisites is to have an Amazon Developer Account. You can view the full guide on how to create the account and link it to Convoworks here.
The developer account grants you access to the Amazon Developer Portal. The portal, specifically Alexa Skills Kit (ASK) is the platform where you can add your custom skill as a project, configure the interaction model, test if it’s working, and publish it to the Alexa Skill Store.
Most of this can be done using Convoworks, but it’s still important to get to know ASK, especially one of its tools – The Alexa developer console.
How to build skills
One of the most useful skill-building tools ASK provides is the developer console. The console helps you create, test, and publish skills.
The console’s main screen displays all the Alexa skills you have created and lets you create a new skill.
Each skill’s console page is organized into four tabs representing steps: Build, Code, Test, Distribution, Certification, and Analytics. They each symbolize a phase of skill development.
- Build: this is where you set up your application, configure the interaction model, and set up your endpoint (all of this can be done in Conwoworks GUI).
- Test: you can test your skill in the Alexa simulator with either text or voice.
- Code: only for Alexa hosted skills. You won’t need this.
- Distribution: this is where you decide how your skill will appear in the skill store. You define the skill store metadata, add example phrases, define the skill availability, and more.
- Certification: To publish a skill, you have to submit it for certification. You can also run pre-certification tests,
- Analytics: this is where you can find the statistics on the use and download of your skills.
You can find all the available skill-testing options as well as a thorough guide on creating your first skill in the Tutorial – Getting started, especially the first two chapters, Your first Convoworks service, and Deploy your service to the Alexa platform for skill creation, configuration, and testing.
- Alexa is Amazon’s cloud-based voice service which powers a wide range of Alexa-enabled devices
- Apps for Alexa are called skills
- A skill interaction consists of speech input and output where input constitutes user request and output constitutes your skill’s response. To handle that, a skill has both an interaction model and application logic all handled in Convoworks
- Alexa Skills Kit (ASK) is Amazon’s platform for creation, testing, and publishing skills. The tool you’ll be using for that purpose is ASK’s developer console.
- The developer console covers all phases of skill development: Building, Coding, Testing, Distribution, Certification and