This document defines common terms used throughout the Alexa Skills Kit documentation.
adapter: See Skill adapter.
Alexa app: The companion app for Alexa users to set up devices, change settings, and see the displayed output from interactions with Alexa.
Alexa service / Alexa: The cloud-based voice service that powers devices such as the Amazon Echo, Amazon Echo Dot, and Amazon Tap. You can give Alexa new abilities by creating your own cloud-based service that accepts requests from Alexa and returns responses.
Alexa skill: See skill.
Alexa Skills Kit: A collection of APIs, tools, and documentation for giving Alexa new capabilities. See Getting Started with the Alexa Skills Kit.
Alexa Smart Home Skill API: See Smart Home Skill API.
Alexa-enabled device: A device that provides access to the Alexa service. Examples include Amazon Echo, Amazon Echo Dot, Amazon Tap, and devices that use the Alexa Voice Service.
Ask: One of the words a user can say to ask Alexa to invoke a particular custom skill. This is used in combination with the invocation name for the skill. For example: “Alexa, ask Astrology Daily for my horoscope.” There are several phrases users can say to start a conversation with Alexa. See Understanding How Users Invoke Custom Skills.
AWS Lambda function: The code uploaded to AWS Lambda. Lambda supports coding in Node.js, Java, Python, or C#. The skill adapter for a smart home skill must be implemented as a Lambda function. You can also choose to use a Lambda function for the service for a custom skill. See also AWS Lambda.
AWS Lambda: An AWS compute service that runs your code in response to events and automatically manages the compute resources for you. This lets you run code (referred to as a Lambda function) in the cloud without managing servers. Lambda is required for smart home skills – the code for your skill adapter must be a Lambda function. You can also choose to use a Lambda function for the service for a custom skill. AWS Lambda is a service offering by Amazon Web Services.
Card: See Home card or Detail card.
Cloud-based service: See Service.
Cloud-enabled device: In the context of smart home devices, a customer device such as a light bulb, switch, thermostat, or other smart home device with the ability to connect to the Internet. The device is normally controlled by the device cloud.
Companion app: See Alexa app.
Confirmation: When Alexa says something to make sure the user knows she understood them correctly. Types of confirmation:
Implicit confirmation (also known as landmarking): a prompt that subtly repeats back what Alexa heard to give the user assurance that they were correctly understood. Example:
User: Alexa, ask Astrology Daily for my horoscope.
Astrology Daily: Horoscope for what sign?
Here, repeating back the word horoscope is a landmarking technique used to establish trust with the user, but still supports a natural dialogue.
Explicit confirmation: a prompt that repeats back what Alexa heard and explicitly asks the user to confirm whether she was correct. Example:
User: Alexa, ask Astrology Daily for my horoscope.
Astrology Daily: You wanted a horoscope from Astrology Daily, right?
For recommendations around when to confirm, see Voice Design Best Practices.
Conversation: See Interaction.
Custom interaction model: An interaction model that you define for a custom skill. A custom interaction model consists of an intent schema that defines the requests the skill can handle and a set of sample utterances that users can say to invoke those requests.
Custom skill: A skill that uses a custom interaction model. You, as the developer, can define the requests your skill can handle (intents) and the words users say to make (or invoke) those requests (sample utterances). The mapping between the intents and sample utterances creates the interaction model or voice user interface for the skill.
A complete custom skill includes the code hosted as a cloud-based service and a configuration that provides the information the Alexa service needs to route requests to the service. This is the most flexible kind of skill you can build, but also the most complex, as you must provide the voice interface yourself.
Detail card: A card displayed in the Alexa app with information about the skill and how to use it. Customers can review detail cards and enable the skills they want. You enter most of the information displayed on the detail card in the Publishing Information section in the developer portal. See Define Skill Metadata.
Device cloud: Back-end cloud service that can control a cloud-enabled device. For a smart home skill, you write a skill adapter that translates commands from the Alexa Smart Home Skill API to the device cloud.
Device cloud account: Unique customer account used to access the device cloud. The customer links the device cloud account with the Alexa service using the Alexa app. OAuth 2.0 is the preferred mechanism for linking.
Device directive See Skill adapter directive.
Device discovery: Process by which the Alexa Smart Home Skill API discovers the devices that can be controlled through a skill adapter.
Dialogue errors: When something unexpected happened in the conversation between Alexa and the user. Types of dialogue errors:
- Low confidence errors: when Alexa has low confidence that she correctly understood what the user said. When this occurs, Alexa cannot proceed in the interaction without asking the question again or ending the interaction.
- Timeouts/Silence/No input: when the user does not respond to a question Alexa asked. A re-prompt is usually played to encourage the user to respond.
- False accept: when Alexa has mid- to high confidence that she correctly understood what the user said, but she actually misunderstood.
For recommendations on how to handle dialogue errors, see the “Handing Dialogue Errors” section of Voice Design Best Practices.
Directive: See Skill adapter directive.
Echo app: See Alexa app.
Example phrase: A phrase showing users what they need to say to begin using your custom skill. You enter these phrases on the Publishing Information section in the developer portal. The phrases must also be included in your list of sample utterances. See Submitting an Alexa Skill for Certification.
Exit command: When the user says a command like exit or stop to end the interaction.
Home card: an element displayed in the Alexa app to describe or enhance a voice interaction with a custom skill. Cards can also be useful when testing and debugging the Lambda function or web service for a skill. See Including a Card in Your Skill’s Response.
Intent: The main request or action associated with the user’s command for a custom skill. For example: “Alexa, ask History Buff what happened on June third.” In this statement, “what happened on June third” maps to a specific intent that can be handled by a particular Alexa ability. This tells Alexa that the user wants “History Buff” to get historical information on a specific date.
For details about defining intents, see:
- Use the Skill Builder (Beta) to Define Intents, Slots, and Dialogs
- Define the Interaction Model in JSON and Text
- Custom Interaction Model Reference.
Intent schema: A JSON structure which declares the intents that can be handled by the service for a custom skill. For details, see Define the Interaction Model in JSON and Text and Custom Interaction Model Reference.
Interaction: An exchange or dialogue between the user and Alexa. This may be a single request-response, or a more extended set of turns.
Interaction model: The words and phrases users can say to make a skill do what they want. For a custom skill, you define the interaction model by creating an intent schema and set of sample utterances. For a smart home skill, this is defined by the Smart Home Skill API.
Interruptions: When the interaction between Alexa and the user is interrupted by another event. Examples of interruptions are alarms and timers going off while the user is talking to Alexa.
Invocation: The act of beginning an interaction with a particular Alexa ability. Example: “Alexa, ask Astrology Daily for my horoscope” is an example of how the user could wake up Alexa and make a request directed to the Astrology Daily skill. Alexa then follows up after the invocation and asks “For what sign?”. Different types of invocation:
- Full intent: a user’s request that contains all information Alexa needs to make the request actionable. Example: “Alexa, ask ask History Buff what happened on August twentieth.”
- Partial intent: a user’s request that contains the user’s intent, but is missing a required slot. Example: “Alexa, ask Astrology Daily for my horoscope.” Here, the required zodiac sign is missing, and Alexa needs to obtain that information from the user.
- No intent: a user’s request with no intent or slot information. Example: “Alexa, open History Buff.”
For recommendations around designing interactions that handle different types of invocation, see Voice Design Handbook.
Invocation name: A name that represents the custom skill the user wants to use. The user says a supported phrase in combination with the invocation name for a skill to begin interacting with that skill. For example: “Alexa, ask History Buff what happened on June third”. In this example, History Buff is the invocation name an ability that retrieves historical events. Note that a smart home skill does not have an invocation name.
Lambda blueprint: An option in the AWS Lambda console that provides sample code and a sample configuration for a new Lambda function. Use this to create Lambda functions with just a few clicks. There are three blueprints relevant to the Alexa Skills Kit:
alexa-skills-kit-color-expert-pythonprovide samples of a simple custom skill in both Node.js and Python. See Creating an AWS Lambda Function for a Custom Skill.
alexa-connected-home-driverprovides a sample skill adapter for a smart home skill in Node.js.
Lambda function: See AWS Lambda function.
Landmark: (also known as implicit confirmation) a prompt that subtly repeats back what Alexa heard to give the user assurance that they were correctly understood.
Max error condition: When consecutive dialogue errors occur. This terminates the interaction and is designed to keep Alexa from making the same mistake repeatedly.
Notification: When the user takes an action that requires Alexa to inform them at a later time that an event is occurring or about to occur. The most common examples of this are alarms and timers. A notification can occur if nothing else is going on at all, or they also can occur in the form of an interruption while the user is interacting with Alexa. In this case, the notification is delivered between turns during an interaction.
Prompt: A string of text that should be spoken to the user to ask for more information. You include the prompt text in your response to a user’s request. Types of prompts:
- Open-ended: a prompt that asks the user a question intended to elicit a wide range of responses. Example: “What would you like to do?”
- Menu-style: a prompt that asks the user a question intended to elicit a response from a small set of possible options (recommended 5 or fewer). Example: “Minecraft Helper. You can ask for a recipe, the ingredients of a potion, or game instructions. Now, which would you like?”
Re-prompt: a prompt that asks the user a question after a dialogue error has occurred. The general purpose of a re-prompt is to help the user recover from errors. Example:
User: Alexa, open Score Keeper.
Score Keeper: Score Keeper. What’s your update?
User: … (no response)
Score Keeper: You can add points for a player, ask for the current score, or start a new game. To hear a list of everything you can do, say Help. Now, what would you like to do?.
- Landmark (also known as implicit confirmation): a prompt that subtly repeats back what Alexa heard to give the user assurance that they were correctly understood.
Re-prompt: a special kind of prompt used by Alexa when a response is not heard or clearly understandable. See also Prompt.
Sample utterance: a structured string of text that connects a specific intent to a likely utterance. You provide a set of sample utterances as part of your interaction model for a custom skill. When users say one of these utterances, the Alexa service sends a request to your service that includes the corresponding intent.
Service: A cloud-based service you create to support a skill. This service takes requests from Alexa and returns responses. For a custom skill, the service accepts requests with intents and returns responses with the text to speak back to the user. For a smart home skill, the service is a skill adapter that takes device directives and then communicates with the device cloud to control devices such as lights and thermostats.
You can deploy the service for a custom skill either as an AWS Lambda function or a web service. Skill adapters for smart home skills can only be hosted using Lambda.
Skill: A capability or ability of Alexa. Alexa provides a set of built-in skills (such as playing music), and developers can use the Alexa Skills Kit to give Alexa new skills. A skill includes both the code (in the form of a cloud-based service) and the configuration provided on the developer portal. See also custom skill and smart home skill.
Skill adapter: Code you write to translate commands from the Alexa Smart Home Skill API to your device cloud. The API sends requests, known as directives, to your skill adapter. The skill adapter then communicates with the device cloud to control the device. You write the skill adapter as an AWS Lambda function.
Skill adapter directive: A set of data and instructions, expressed in JSON, to send a request from the Alexa Smart Home Skill API to a skill adapter.
Skill adapter directive language: JSON protocol that enables communication between the Alexa Smart Home Skill API and a skill adapter.
Slot: an argument to an intent that gives Alexa more information about that request. For example: “Alexa, ask History Buff what happened on June third”. In this statement, “June third” is the value of a date slot that refines the request.
For a given intent, slots can be required or optional:
- Required: a slot that contains values that are necessary for Alexa to complete the user’s request. For example: “Alexa, ask Astrology Daily for the horoscope for Taurus.” Without the name of the specific zodiac sign, Astrology Daily cannot provide a horoscope. If the user does not provide a value for a required slot, you must ask the user for that slot value.
- Optional: a slot that contains values that refine the user’s request, but are not necessary for Alexa to complete the task. For example, “Alexa, ask History Buff what happened in history on June third”. Here, June third is optional since History Buff can just give historical events for today if the user does not specify a date. As such, you should not ask the user for optional slot values if they exclude them.
Smart Home Skill API: An API to create skills that give Alexa the ability to control smart home devices such as lights and switches. The Smart Home Skill API translates utterances such as “turn on the lights” into device directives that it routes to a skill adapter that can control a cloud-enabled device.
Smart home skill: A skill intended to control smart home devices such as lights and thermostats. When using the Smart Home Skill API, the API defines the requests the skill can handle (device directives) and the words the users say to make those requests.
A complete smart home skill includes the code hosted as an AWS Lambda function and a configuration that provides the information the Alexa service needs to route requests to the Lambda function. The code for the skill (referred to as the skill adapter) must be able to control the device (such as a light) using the cloud.
System errors: when something unexpected happened, unrelated to the dialogue between the user and Alexa. Example: The call for a data service used to get the information the user requested failed to send Alexa that information.
Tell: One of the words a user can say to tell Alexa to invoke a particular custom skill. This is used in combination with the invocation name for the skill. For example: “Alexa, tell Color Expert that my favorite color is red.” There are several phrases users can say to start a conversation with Alexa. See Understanding How Users Invoke Custom Skills.
Text-to-Speech (TTS): Converting a string of text to synthesized speech (Alexa’s voice). The Alexa service can take plain text for TTS conversion.
Turn: A conversational turn is a single request to or response from Alexa. Sometimes shorthand for only the request side of a conversation, so “Alexa, Open Horoscope”, “What horoscope sign would you like?”, “Pisces”, “Today’s horoscope for Pisces is …” might be referred to as a two-turn interaction, rather than the 4 turns that it technically contained.
Utterance: The words the user says to Alexa to convey what they want to do, or to provide a response to a question Alexa asks. For custom skills, you provide a set of sample utterances mapped to intents as part of your custom interaction model. For smart home skills, the Smart Home Skill API provides a predefined set of utterances.
Voice Interface or Voice User Interface (VUI): A way of humans to interact with computers using primarily voice communication. For a custom skill, the voice interface consists of a mapping between users’ spoken utterances and the intents your cloud-based service can handle. See:
- Use the Skill Builder (Beta) to Define Intents, Slots, and Dialogs
- Define the Interaction Model in JSON and Text
Wake word: A command that the user says to tell Alexa that they want to talk to her. Example: “Alexa, ask History Buff what happened on December seventh.” Here, “Alexa” is the wake word. Alexa users can select from a defined set of wake words.
Web service: In the context of the Alexa Skills Kit, an Internet-accessible service that can accept requests from the Alexa service and return responses. You can use a web service as the cloud-based service for a custom skill.