Build Skills in the Alexa Developer Console


Use the Build page in the Alexa developer console to configure your skill, specify the endpoints for your skill service, and more. The configuration options that you provide in the developer console depend on the voice interaction model that you choose when you create your skill. For custom skills, you define the custom voice interaction model, add multi-model responses, and select the interfaces that your skill uses. For skills that use the pre-built voice interaction model, you define account linking and permissions.

Configuration options for your skill are available on the Build page in the left pane of the developer console. Some items are required and some items are optional. The items that you see in the pane depend on the model that you selected when you created your skill.

Custom model

For skills that use the custom voice interaction model, the Build page displays a list of the minimum steps to configure your skill and get it ready to test. You must complete the required steps. For more details about custom skills, see Understand Custom Skills.

The check list shows the required steps: step 1 invocation name, step 2 intents, samples, and slots, step 3 build model, and step 4 endpoint.
Steps to build a custom skill

The following table summarizes the configuration options for a skill with the custom model. You can find the options in the left pane under CUSTOM.

Option Description

Invocations

Define your skill invocation name, launch phrases, and intent launch phrases. For more details, see Choose the Invocation Name for a Custom Skill.

Interaction Model

Create a custom voice interaction model.
For more details, see Create the Interaction Model for Your Skill.

Under Interaction Model, you can find the following menu items:

  •  Intents – Create and edit intents, slots, and sample utterances.
  •  Annotation Sets – Create and edit groups of annotations. Use the annotation set with the Natural Language Understanding (NLU) evaluation tool to batch test the accuracy of your interaction model.
  •  Intent History – View aggregated, anonymized, frequent utterances and the resolved intents. The history is available for a given locale if your skill has at least 10 unique users in a day in that locale.
  •  JSON Editor – Upload, view, and edit your interaction model in the JSON editor. The editor provides basic validation for JSON syntax errors, such as misplaced commas. For more details about the JSON schema, see Interaction Model Schema.

Assets

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 spoken data that the user provides. For more details, see Create and Edit Custom Slot Types, Use Slot Types in Alexa Conversations, and Slot Type Reference.

Multimodal Responses

Define visual and audio responses for Alexa-enabled multimodal devices. For more details, see Add Visuals and Audio to Your Skill.

Tasks

Define a custom task or action that the skill performs. Customers can choose the task when they create Alexa Routines in the Alexa app. For more details, see Offer Pre-Built Routines from Your Skill.

Interfaces

Add additional directives and requests for specific features.

The following interfaces are available to custom skills:
  •  Audio Player
  •  Video App
  •  CanFulfillIntentRequest for Name-free Interactions
  •  Alexa Presentation Language (APL)
  •  Alexa Web API for Games
  •  Alexa Extensions for APL or Web API Extensions for Games
  •  Alexa Conversations
  •  Alexa Shopping Kit
  •  Auto Delegation

Endpoint

Define the endpoint that hosts your service as an Amazon Web Service (AWS) Lambda function or a web service.

  • For Lambda endpoints, select the AWS Lambda ARN option, and then for Default Region, enter the ARN for your function.
    You can provide multiple endpoints for better latency in other regions.
  • For web service endpoints, select the HTTPS option ,and then for Default Region, enter the full URL for your endpoint.
    You must configure an SSL certificate from a trusted certificate authority, or your endpoint must be a sub-domain of a domain with a wildcard certificate from a trusted certificate authority. For testing purposes, you can create self-signed certificates.

Build History

View previous build versions of your interaction models. Here, you can compare the current model build to a previous build, and copy the previous version of your interaction models to the current version. For more details, see Build history.

The following image shows the build page for a custom skill with the Intent builder selected in the left-pane menu.

The image shows the build page left pane menu and intent page to create a custom interaction model.
Build page for a custom skill

Build your skill

After you create the invocation name for your skill and define intents, samples, and slots for your voice interaction model, you save and build your skill. To build your skill in the languages and locales that you defined, on the top right, click the Build skill button.

The image shows the build page with the save and build buttons highlighted.
Save and build your skill

To see the build progress, on the top right click View build status. On the Build in progress panel, you can see the build status for each locale. If the build encounters errors in the interaction model, the console displays the errors and warnings on the bottom of the Build page.

The image shows the build progress panel and status of each locale.
Build-in-progress panel

Build history

To view previous builds, in the left pane, select CUSTOM > Build History. Here you can view the latest successful builds. To compare previous interaction models with the current version, under ACTIONS, select View diff. To keep a copy of the current version, make sure that you build the current version. To restore a previous version of your interaction models, under ACTIONS, select Copy build.

The image shows the build history.
Build history page

Pre-built models

For skills that use the pre-built voice interaction model, such as music, smart home, and video skills, the Build page shows the configuration options for the skill. All models support the en-US locale and some models aren't supported in certain locales. Each model requires that you have an AWS Lambda ARN endpoint for the corresponding Endpoint section. Choose the options in the left pane to configure additional information for your skill. 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.

The following table summarizes the pre-built models and provides references for more details.

Pre-built model Description

Connected vehicle

With a connected vehicle skill, users can control their vehicle remotely. For more details, see Connected Vehicle Skills for Alexa.

Flash Briefing

A Flash Briefing skill gives users control over their news feeds. Users control the new feeds that they want to hear. For more details, see Steps to Create a Flash Briefing Skill.

Music

A music skill give users complete control of their audio streaming service. Users can play, search, pause, skip, or shuffle music, radio, and podcasts from your catalog. 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. For more details, see:

The following image shows the build page for a pre-built skill.

The image shows smart home, account linking, and permissions in the left pane and service endpoint on the page.
Build page for a smart home skill

Multi-capability models

The Multi-capability skills (MCS) feature enables you to add pre-built models to your custom skill or extend your smart home skill with the custom model and add custom utterances. For more details, see About Multi-capability Skills .

To add or remove eligible models to your skill, in the left pane, select MODELS. On the Models page find the model that you want to add or remove. Under STATUS, toggle to select or deselect the model, and then click Save.

The following image shows the model page with the custom model enabled.

The image shows a smart home skill with the model page.
Model page for a smart home skill

Optional features

In the left pane, open TOOLS to view the features available to your skill model.

Monetize your skill

You can earn money with an Alexa custom skill by offering in-skill purchasing (ISP), paid skills, and Alexa skill deals. To monetize your skill, click TOOLS > Monetize Your Skill, and then select the option that you want to add. For more details, see Earn Money with an Alexa Skill.

The following image shows the monetize-your-skill page.

The image the options on the monetize page: in-skill products, paid skills, and skills deals.
Monetize-your-skill page for a custom skill

Account linking

Use account linking to configure security information to link the identity of the Alexa user with the user's identity in your system. Account linking is optional for skills with a custom or music model, and required for connected vehicle, smart home, and video models. For more details, see Add Account Linking to Your Alexa Skill.

The account linking configuration is similar for different model types, with the following 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 connected vehicle, smart home, or video model:
    • Account linking is required.
    • The skill must use authorization code grant.
  • For a skill that includes the music model:
    • Account linking is optional.
    • The skill must use authorization code grant.

For a skill that includes a custom model and either the smart home or video model, the same smart home and video requirements apply. For more details, see Account Linking for Custom Skills and Account Linking for Smart Home and Other Domains.

For details about how you configure account linking, see:

You can configure account linking on the developer console. In the left pane, select TOOLS > Account linking (for custom skills) ACCOUNT LINKING (for pre-built models).

The following image shows the account linking page in the developer console for a smart home skill.

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

Permissions

In the left pane, select TOOLS > Permissions or PERMISSIONS to enable your skill to ask the user for permission to access specific information or perform a task. Enable only the permissions that your skill requires. The available permissions depend on the model that you selected when you created your skill.

After you enable a permission, your skill can ask permission of the user to access that information or perform that task. The skill doesn't obtain this permission until the skill user consents to it.

Flash Briefing and music models don't support permissions.

Permissions for custom skills

The following table shows permissions available to custom skills.

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 isn't visible unless you open an existing skill that uses proactive events. To enable proactive events in your skill, you must use Alexa Skills Kit Command Line Interface (ASK CLI) and modify the skill manifest to include this permission scope. For more details, see 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 Settings 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.

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.

Skills Personalization

If enabled, your skill can ask the user for permission to provide a personalized experience to the recognized speaker with a voice ID.

For more details, see Add Personalization to Your Alexa Skill.

PIN Confirmation

If enabled, your skill can ask Alexa to confirm the profile PIN of the user before you give access to some skill features. You choose between mandatory and optional confirmation.

For more details, see Add PIN Confirmation to Alexa Skills.

Timers

If enabled, your skill can create timers for activities during a skill session.

For more details, see Understand Alexa Timers and Timers REST API Reference.

Alexa Skill Messaging

After you enable any permission, the console displays the Client Id and Client Secret values to authenticate your skill. You use these values to enable out-of-session events to your skill.

For more details, see Skill Events in Alexa Skills and Send Messages to Your Skill.

Permissions for connected vehicle, smart home, and video skills

The following table shows permissions available to skills with the pre-built models.

Permission Setting Description

Send Alexa Events

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.

Proactively Enable Alexa Skill

If enabled, Alexa can auto-enable your skill after the customer starts using it. This permission is applicable to video skills.

Alexa Skill Messaging

After you enable Send Alexa Events, the console displays the Client Id and Client Secret values to authenticate your skill. You use these values to enable out-of-session events to your skill.

Languages

For custom skills, you can define your interaction model in multiple languages and enable your skill in new locales. For more details, see Develop Skills in Multiple Languages and Add Additional Locales of the Same Language to Custom Skills.

For smart home skills, you can add languages and expand to new locales. For more details, see Develop Smart Home Skills for Multiple Languages.

To add new languages and locales to custom skills

  1. On the left pane, select TOOLS > Language settings.
  2. On the Language settings page, scroll to the bottom, and then click Add new language.
  3. Select the languages that you want to add.
  4. For custom skills, to enable your skill across locales that support the same language, click toggle Sync Locales.
  5. To save the language settings, click Save.
  6. For custom skills, to build your skill in the new languages, on the left panel select CUSTOM, and then click Build skill.

To add new languages and locales to smart home skills

  1. On the language drop-down menu on the left pane, select Language settings.
  2. On the Language settings page, scroll to the bottom, and then click Add new language.
  3. Select the languages that you want to add.
  4. To save the language settings, click Save.

The following image shows the language-settings page.

The image the options on the language settings page.
Language-settings page for a custom skill

Was this page helpful?

Last updated: Sep 10, 2024