Alexa Skills Kit Glossary
This document defines common terms used throughout the Alexa Skills Kit documentation.
- Access token
- A credential that represents the end user (resource owner) in another system. A token should identify the user in the other system. The access token is included in the requests sent to your skill if the user has successfully linked their accounts.
- Access token URI (Access token endpoint)
- The URI (Uniform Resource Identifier) of the access token endpoint for the authentication server. The Alexa service calls this endpoint to exchange the authorization code for the access token. For an Alexa skill, you specify this endpoint in the developer console, in the Access Token URI field on the Build > Account Linking page.
- Account linking
- An Alexa Skills Kit feature that lets you connect the identity of the end user with an account in another system. For example, a
Car-Fucustom skill for ordering a ride needs to access the Car-Fu service as a specific user. Similarly, a smart home skill for controlling a light needs to connect the Alexa user with an account in the device cloud. See Understand Account Linking.
- Alexa app
- The companion app for Alexa customers to set up devices, change settings, and see the displayed output from interactions with Alexa.
- Alexa-enabled device
- A device that provides access to the Alexa service. Examples include Amazon Echo, Amazon Echo Dot, Amazon Tap, Echo Show, and devices made by other manufacturers that use the Alexa Voice Service.
- Alexa service / Alexa
- The cloud-based voice service that powers Alexa-enabled devices made by Amazon or other manufacturers. 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 Build Skills with the Alexa Skills Kit.
- 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.
- Authorization code
- A value used by authorization code grant to allow a client to request an access token from an authorization server. Used with authorization code grant.
- Authorization code grant
- A grant type for requesting the end user's authorization to access their information in another system. In authorization code grant, the authorization server returns a
codeonce the user logs in. Alexa then uses this
codeto request an access token / refresh token pair from the server, using the access token endpoint (URI). The refresh token can then be used to request a new access token after the old token expires.
- Authorization server
- The server that authenticates the identity of the resource owner and issues access tokens. This can be the same as the Resource server, but it does not have to be. One of the four roles defined by OAuth 2.0, used in account linking. For example: if your skill connects to a service for ordering rides ('Car Fu'), the authorization server authenticates the user and provides an access token that can be used to get the user's Car Fu profile from the resource server.
You specify this in the developer console, in the Authorization URI field on the Build > Account Linking page.
- Authorization URI
- The URI (Uniform Resource Identifier) of the page for entering login credentials for a service. The user is redirected to the authorization URI when starting the account linking process for a skill. Once the user has authenticated, this page redirects the user back to an Alexa-specified
- 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. The code for your skill must be hosted as a Lambda function and is required for smart home skills. 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.
- AWS Lambda function
- The code uploaded to AWS Lambda. Lambda supports coding in Node.js, Java, Python, or C#. 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 Home card or Detail card.
- The application making the requests to the resource server on behalf of the resource owner, with the resource owner's authorization. In the context of account linking for skills, this role is shared by the Alexa service and the skill. Alexa handles getting the resource owner's authorization and the skill uses the access token to access the protected resource in the resource server. One of the four roles defined by OAuth 2.0, used in account linking.
- Cloud-based service
- See Service.
- Companion app
- See Alexa app.
- When Alexa says something to make sure the customer knows she understood them correctly. Types of confirmation include Implicit confirmation and Explicit confirmation.
- Consumable purchase
- An in-skill purchase that provides content or features that can be purchased, depleted, and purchased again. For example, hints for a game, in-game currency or extra lives.
- See Interaction.
- Custom interaction model
- The interaction model 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 customers can say to invoke those requests.
- Custom skill
- A skill that uses a custom interaction model. You define the requests your skill can handle (intents) and the words customers 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.
- Let Alexa determine and complete the next step during a dialog between the user and the skill. Alexa uses the skill's dialog model to determine the next step in the dialog and ask the user for the information. You can delegate the dialog manually or automatically.
- 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 on the Launch Your Skill page.
- Device cloud
- Back-end cloud service that can control a cloud-enabled device. For a smart home skill, you write code hosted as a Lambda function 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 required mechanism for account linking.
- Device directive
- A set of data and instructions, expressed in JSON, sent from Alexa to a smart home or video skill.
- Device discovery
- The process by which the Alexa smart home skill API or Video Skill API discovers the devices that can be controlled with a skill.
- Device event
- A response to a device directive, expressed in JSON, sent from a smart home or video skill to Alexa.
- Device with Alexa
- A device that provides access to the Alexa service. Examples include Amazon Echo, Amazon Echo Dot, Amazon Tap, and third-party devices that use the Alexa Voice Service.
- Dialog errors
- When something unexpected happened in the conversation between Alexa and the customer. Types of dialogue errors include low confidence errors, timeouts/silence/no input, and false accepts. For recommendations on how to handle dialogue errors, see the section on Error messages in the Alexa Design Guide.
- Dialog model
- A structure that identifies the prompts and user utterances to collect, validate, and confirm slot values and intents. You use a dialog model to let Alexa determine the next step in a conversation and ask the user for more information. A dialog model also improves accuracy when you manage the dialog manually with the
Dialogdirectives such as
Dialog.ElicitSlot. To create a dialog model, see Define the Dialog to Collect and Confirm Required Information.
- See Device directive.
- Directive language
- JSON protocol that enables communication between the Alexa smart home skill API and a smart home skill.
- Display template
- A display template is used for to Alexa-enabled devices with a screen to display a combination of text and images in a specified format. There are several body templates, which are used to display content, and several list templates, which allow selection of content. Display templates are displayed as cards in the Alexa app if the user does not have an Alexa-enabled device with a screen.
- Echo app
- See Alexa app.
- Represents a physical device, virtual device, group or cluster of devices or a software component that is primarily used in smart home and video skills. An endpoint identifies the target for a directive and the origin of an event from a skill.
- Error message
- The message delivered to a customer when an utterance or technical error occurs during a dialog.
- Example phrase
- A phrase showing customers what they need to say to begin using your custom skill. You'll enter these phrases in the Distribution tab of the developer console. The phrases must also be included in your list of Sample utterances.
- Exit command
- When the customer says a command like
stopto end the interaction.
- Exit message
- The message delivered when a customer asks the skill to stop/exit or the conversation with the skill comes to a natural end.
- Explicit confirmation
- A prompt that repeats back what Alexa heard and explicitly asks the customer to confirm whether they were correct. For example,
Alexa, ask Astrology Daily for my horoscope.Alexa would respond with,
You wanted a horoscope from Astrology Daily, right?
- False accept errors
- When Alexa has mid to high confidence that she correctly understood what the customer said, but she actually misunderstood.
- Full intent invocation
- A customer's request that contains all information Alexa needs to make the request actionable. For example,
Alexa, ask History Buff what happened on June 3rd.
- Help message
- The message delivered to a customer who either asks the skill for help or reaches an error message too many consecutive times. A
masterhelp message delivers high-level information about the skill and its features that includes similar information as the first-time welcome message. Contextual help messages are delivered when the customer is trying to use a specific feature or is stuck on a certain task or prompt.
- Home card
- An element displayed in the Alexa app to describe or enhance a voice interaction with a custom skill. See Including a Card in Your Skill's Response.
- Implicit confirmation (Landmarking)
- A prompt that subtly repeats back what Alexa heard to give the customer assurance that they were correctly understood. In the example below, repeating back the word 'horoscope' is a landmarking technique used to establish trust with the customer but still supports natural dialog.
Alexa, ask Astrology Daily for my horoscope.Alexa would then ask to clarify the request with,
Horoscope for what sign?
- Implicit grant
- A grant type for requesting the end user's authorization to access their information in another system. In implicit grant, the authorization server returns the access token once the user logs in. This grant type is limited compared to authorization code grant.
- A representation of the action that fulfills a customer's spoken request. Intents can have further arguments called slots that represent variable information. For example,
Alexa, ask History Buff what happened on June third.In this statement,
…what happened on June thirdmaps to a specific intent that can be handled by a particular Alexa ability. This tells Alexa that the user wants the skill History Buff to get historical information on a specific date.
For details about defining intents, see Create Intents, Utterances, and Slots.
- Intent schema
- A JSON structure which declares the intents that can be handled by the service for a custom skill. This is documented in the Interaction Model Schema. You can also build your intent schema graphically in the developer console.
- An exchange of information in conversational format between the user and Alexa. This may be a single request-response, or a more extended set of turns.
- Interaction model
- A defined set of logic parameters for your skill that will determine the voice interface through which customers will interact with your skill as well as map customers' spoken input to the intents your cloud-based service can handle.
- When the interaction between Alexa and the customer is interrupted by another event. Examples of interruptions are alarms and timers going off while the customer is talking to Alexa.
- The act of beginning an interaction with a particular Alexa ability. For example, if a customer wants to wake Alexa to use the Horoscope skill,
Alexa, ask Horoscope for today's reading.
Alexa then follows up after the invocation and asks,
What horoscope sign would you like?
Types of invocations include: full intent invocation, partial intent invocation, and no intent invocation.
- Invocation name
- A name that represents the custom skill the customer wants to use. The customer 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 3rd.In this example, History Buff is the invocation name for a skill that retrieves historical events. Note that smart home skills do not have invocation names.
- Lambda blueprint
- An option in the AWS Lambda console that provides sample code and a sample configuration for a new Lambda function. There are multiple blueprints relevant to the Alexa Skills Kit. For example:
alexa-smart-home-skill-adapterprovides a sample skill for a smart home skill in Node.js.
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.
- Lambda function
- See AWS Lambda function.
- See Implicit confirmation.
- Link account card
- A special type of card (
LinkAccount) displayed in the Alexa App that tells the user to link their account. The user can start the account linking process right from this card. A custom skill can respond with this card if a user who has not linked their account tries to invoke an intent that requires authentication.
- Low confidence errors
- When Alexa has low confidence that she correctly understood what the customer said. When this occurs, Alexa cannot proceed in the interaction without asking the question again or ending the interaction.
- Conversational markers, or cues, are words or sentence clauses that indicate the status of a dialog to a customer. For example, “First,” “Next,” “I'll need some information from you,” etc.
- Max error condition
- When consecutive dialogue errors occur, this terminates the interaction and is designed to keep Alexa from making the same mistake repeatedly.
- Menu style prompt
- A prompt that asks the customer a question intended to elicit a response from a small set of possible options (recommended 5 or fewer). For example,
Minecraft Helper. You can ask for a recipe, the ingredients of a potion, or game instructions. Now, which would you like?"
- No intent invocation
- A customer's request with no intent or slot information. For example,
Alexa, open History Buff.
- When the customer 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 customer is interacting with Alexa. In this case, the notification is delivered between turns during an interaction.
- One-time purchase
- An in-skill purchase (entitlement) that unlocks access to features or content within a skill. One-time purchases do not expire.
- Open ended prompt
- A prompt that asks the customer a question intended to elicit a wide range of responses. For example,
What would you like to do?
- Optional slot
- 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 thirdis 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.
- Partial intent invocation
- A customer's request that contains the customer's intent, but is missing a required slot. For example,
Alexa, ask Horoscope for today's reading.Here, the required zodiac sign is missing, and Alexa needs to obtain that information from the customer.
- A string of text that should be spoken to the customer to ask for more information. You include the prompt text in your response to a customer's request. Types of prompts include: Open ended, Menu style, Re-prompt, and Implicit confirmation (Landmarking).
- Redirect URL
- An Amazon-provided URL to which the Authorization URI redirects the user after the user is authenticated. The redirect URLs are displayed in the developer portal after you configure account linking.
- Refresh token
- A credential that can be used to obtain an access token. Refresh tokens are supported with the authorization code grant type. A refresh token can be used to request a new access token after the old token expires.
- A special kind of prompt used by Alexa when a response is not heard or clearly understandable, usually in the form of a question after a dialog error has occurred. The general purpose of a re-prompt is to help the customer recover from errors. For example,
Alexa, open Score Keeper.
Welcome back to Score Keeper. What's your update?
In this case, if the customer doesn't respond, Alexa would continue with helpful tips. For example,
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?
- Required slot
- 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.
- Resource owner
- The user of your skill who can grant permission to access a protected resource (such as, but not limited to, account information) to connect your skill with their user account in another system (resource server). This is one of the four roles defined by OAuth 2.0, used in account linking.
- Resource server
- The server hosting the resources the skill wants to access on behalf of the resource owner. One of the four roles defined by OAuth 2.0, used in account linking.
For example, if your skill connects to a service for ordering rides ('Car Fu'), the resource server might be a database containing profiles for Car Fu users. If your skill is a smart home skill for controlling lighting ('My Lights'), the resource server is the part of your device cloud containing information about each user's smart devices that the service controls.
- 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 customers say one of these utterances, the Alexa service sends a request to your service that includes the corresponding intent.
- 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 takes device directives, communicates with the device cloud to control devices such as lights and thermostats and sends device events back to Alexa.
You can deploy the service for a custom skill either as an AWS Lambda function or a web service. Smart home skills can only be hosted using Lambda.
- A robust set of actions or tasks that are accomplished by 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 console.
- 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 thirdis the value of a date slot that refines the request. For a given intent, slots can be required or optional. To designate slots as required and let Alexa manage the conversation to collect the slot values, create a dialog model and then use the
- 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 lightsinto device directives that it routes to a lambda function that can control a cloud-enabled device.
- Smart home endpoint
- An endpoint identifies the target for a smart home directive and the origin of an event from a smart home skill. A smart home endpoint can represent a physical device, virtual device, group or cluster of devices, or a software component.
- 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, such as 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 must be able to control the device (such as a light) using the cloud.
- An in-skill purchase that offers access to premium content or features for a period of time. Users are charged on a recurring basis until they cancel their subscription.
- System error
- Occurs when something unexpected happened, unrelated to the dialogue between the customer and Alexa. For example, the call for a data service used to get the information the customer requested was unable to send Alexa that information.
- 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)
- Converts a string of text to synthesized speech (Alexa's voice). The Alexa service can take plain text for TTS conversion.
- Timeouts/silence/no response errors
- When the customer does not respond to a question Alexa asked. A re-prompt is usually played to encourage the customer to respond.
- Touch interaction
- A touch on an Alexa-enabled device with a screen that produces a specified response, such as touching an item in a list on the screen to see more information about the item.
- A single request to or a response from Alexa. Sometimes "turn" refers to only the request side of a conversation, for example:
Alexa, open Horoscope.
What horoscope sign would you like?
Today's horoscope for Pisces is…
This example might be referred to as a two-turn interaction, rather than the 4 turns that it technically contained.
- The words the customer 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 Message Reference provides a predefined set of utterances.
- Voice forward
- A voice-optimized multimodal concept where the GUI is optimized for voice. This means that buttons, links, and other touch affordances are replaced by voice-friendly affordances like action hints.
- Voice User Interface (VUI)
- A method for people to use voice input to interact with and control computers and devices. 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 Create the Interaction Model for Your Skill and Interaction Model Schema.
- Wake word
- A command that the customer says to tell Alexa that they want to talk to her. For example,
Alexa, open History Buff.Here,
Alexais the wake word. Alexa customers 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. For the requirements your service must meet, see Host a Custom Skill as a Web Service.
- Welcome message
- The message delivered when a customer invokes a skill without a request. For example,
Alexa, open Horoscope.Alexa would respond with a welcome message, such as:
Welcome back to Horoscope. Which sign would you like to hear a daily horoscope for?
A first time welcome message introduces the customer to the skill and provides a few commands the customer can use in that skill. A return welcome message greets the customer and prompts for a widely used task or required piece of information to continue the conversation.