Build Your Skill


Use the Build page to set up your skill, configure settings specific to the interaction model, and specify the endpoints for your service. All the configuration options for your skill are available as links in the left-hand column (sidebar) of the developer console.

This document provides an overview of the options in the sidebar and links to more information. The items you see in the sidebar for your skill depend on the interaction model you added to the skill.

Custom model

For a skill with a custom model, the main Build page displays the Skill builder checklist. This shows your progress through the minimum steps to create a skill and get it ready to test.

The following table summarizes the configuration options for a skill with a custom model.

All of these items are in the left-hand sidebar under Custom.

Section Description

Interaction Model

Use these sections to create the interaction model for your skill.

Utterance Conflicts

Displays a list of utterances that map to more than one intent in your model. Use this to find and correct ambiguities in your model that might reduce accuracy of your skill. Conflicts are generated after you complete a full model build. See Find Utterance Conflicts in Your Model.

Invocation

Provide the invocation name for your skill. This is the phrase users say to begin an interaction with your skill. See Choose the Invocation Name for a Custom Skill.

Intents

Create and edit your intents, slots, and sample utterances. An intent represents an action that fulfills a user's spoken request. Intents can optionally have arguments called slots that represent variable information in the request. A sample utterance is a phrase users can say to invoke a particular intent. You provide a set of sample utterances for each intent.

See:

Slot Types

Create custom slot types and search for built-in slot types to use in your intents. Every slot included in your interaction model has a type that determines how Alexa handles the user's spoken data the user provides. For example, the AMAZON.NUMBER slot type converts words like "five" to numbers (5). List types provide a set of values that can be recognized, such as a list of first names or cities.

See:

JSON Editor

View and edit your interaction model for your skill in JSON format. You can make changes directly to the JSON and then click Save Model.

You can also use this section to upload a JSON file.

For details about the JSON schema for the interaction model, see Interaction Model Schema.

Interfaces

Interfaces provide additional directives and request types for specific additional features in your skill. Select any additional interfaces your skill uses. See the linked reference documents for details about each interface:

  • Audio Player for streaming audio.
  • CanFulfillIntentRequest to help ensure that Alexa directs to your skill only those customer requests, questions, or statements that are a good match for the skill.
  • Display for display templates on Alexa-enabled devices with a screen.
  • Auto Delegation indicates whether to automatically delegate dialogs to Alexa. When enabled, this applies just to intents defined with a dialog model. You can override this setting at the intent level.
  • Video App for streaming video.

Endpoint

Specify the endpoint for your skill. Alexa sends requests to this endpoint when users invoke your skill.

Intent History

View aggregated, anonymized frequent utterances and the resolved intents. This data is available for a given locale if your skill has at least 10 unique users in a day in that locale. For details, see Review the Intent History for a Custom Skill.

Annotation Sets

Created and edit groups of annotations you can use with the NLU evaluation tool to batch test the accurate of your NLU model. An annotation is a test utterance annotated with the expected intent and slot values. For details, see Batch Test Your Natural Language Understanding (NLU) Model.

Skill builder checklist displayed on the Build page
Skill builder checklist displayed on the default Build page. In this example, only the **Invocation Name** has been provided.
Build page for a custom skill
Build page for a custom skill, drilled into the Intents section

Pre-built models

The following table summarizes the pre-built models. The left-hand navigation of the Build page for your skill lists multiple sections to complete, some of which are optional and some required.

Each model requires that you have an AWS Lambda ARN endpoint for the corresponding Endpoint section.

Some models require account linking, while account linking is optional or not supported for others.

Some models support enabling permissions to obtain customer consent so that your skill can get access to customer information or send information to Alexa.

All of these models support the en-US locale. Some models are not supported in certain locales.

Section Description

Flash Briefing

A flash briefing skill gives users control over their news feeds. They can control the updates they want to hear. For more details, see:

Smart home

A smart home skill gives users control of their smart home devices. They can remotely manage their lights and other devices. For more details, see:

Video

A video skill lets users find and consume video content. Users can do content searches, and your skill can provide content suggestions.

Music

A music skill give users complete control of their music. Users can search, pause, skip, or shuffle in your skill. For more details, see:

Build page for a smart home skill
Build page for a smart home skill

Account linking

Use this section to configure your skill to connect the identity of the end user with a user in another system. Account linking is optional for skills with a custom or music model, and required for smart home, video, and meetings models. Account linking does not apply to flash briefing skills.

The account linking configuration is similar for different model types, with a few minor differences:

  • For a skill that includes a custom model:
    • Account linking is optional.
    • The skill can use either authorization code grant (recommended) or implicit grant.
  • For a skill that includes the smart home, video, or meetings model:
    • Account linking is required.
    • Account linking must be configured with authorization code grant.
  • For a skill that includes the music model:
    • Account linking is optional.
    • Account linking must be configured with authorization code grant.

For more about how account linking works, see the following:

For details about how you configure account linking, see:

Account linking page for a smart home skill
Account linking page for a smart home skill

Permissions

Use the Permissions section to configure your skill to ask the user for permission to access specific information or perform certain tasks. The available permissions depend on the model included in your skill.

If you enable a permission in this section, that means your skill can ask permission of the skill user to access that information or perform that task. The skill does not actually obtain this permission until the skill user consents to it.

Because flash briefing, meetings, and music skills do not support permissions, they are not included here.

Permissions for custom skills

Permissions page for a custom skill
Permissions page for a custom skill
Permission Setting Description

Notifications

If enabled, your skill can request the customer to provide permission in the Alexa app to send notifications to the customer.

The Notifications permission is not visible unless you open an existing skill that uses proactive events. To enable proactive events in your skill, you must use ASK CLI and modify the skill manifest to include this permission scope, as described in Proactive Events API Reference.

Device Address

If enabled, your skill can ask the user for access to the address information configured for the device. Your skill can request either Full Address or Country/Region & Postal Code Only, depending on the information that your skill requires.

For more details, see Device Address API.

Customer Name

If enabled, your skill can ask the user for access to the customer name information configured for the device. Your skill can request either Full Name or Given Name, depending on the information that your skill requires.

For more details, see Request Customer Contact Information for Use in Your Skill.

Customer Email Address

If enabled, your skill can ask the user for access to the email address configured for the device.

For more details, see Request Customer Contact Information for Use in Your Skill.

Customer Phone Number

If enabled, your skill can ask the user for access to the phone number configured for the device.

For more details, see Request Customer Contact Information for Use in Your Skill.

Lists Read and Lists Write

If enabled, the skill can request access to the user's shopping and to-do lists. You can enable one or both of these, depending on the requirements of your skill.

For more details, see Access the Alexa Shopping and To-Do Lists.

Reminders

If enabled, your skill can ask the user for permission to send reminders.

For more details, see Alexa Reminders Overview.

Location Services

If enabled, your skill can ask the user for permission to obtain and use the user's location. This differs from the Device Address information, because Location Services refers to the user's dynamic location, rather than the address information in the user's account.

For more details, see Location Services for Alexa Skills.

Alexa Skill Messaging

Alexa Skill Messaging appears only when one of the other permissions is enabled, and you cannot enable Alexa Skill Messaging directly. If visible, Alexa Skill Messaging provides the Client Id and Client Secret values needed to send messages to your skill.

For details, see the following topics:

Permissions for smart home and video skills

Permissions page for a smart home or video skill
Permissions page for a smart home or video skill
Permission Setting Description

Send Alexa Events

For smart home and video skills, if enabled and the user grants permission, your skill can send events to the Alexa event gateway. You can use this interface to respond asynchronously to Alexa directives and send proactive state reports to Alexa.
For details, see Send Events to the Alexa Gateway.

Alexa Skill Messaging

After you enable Send Alexa Events, the console displays this section. It provides the Client Id and Client Secret values to authenticate your skill.

For details about using these values, see Send Events to the Alexa Gateway.

The developer console:

Custom and pre-built interaction models:


Last updated: Dec 29, 2022