About Alexa-Hosted Skills


When you create an Alexa skill, you store your code and manage backend resources yourself. Instead, you can create an Alexa-hosted skill, and Alexa stores your code and resources on Amazon Web Services (AWS) for you. With an Alexa-hosted skill, you can get started quickly by using one of the skill templates available in the developer console. When you create an Alexa-hosted skill, you develop your skill in an online code editor in the developer console.

You can also use the Alexa Skills Kit (ASK) Command Line Interface (CLI) to create and manage Alexa-hosted skills.

Overview

With an Alexa-hosted skill, you can build, edit, and publish a skill without leaving the developer console. You use the online code editor to edit the code for your skill and deploy it directly to your AWS Lambda endpoints.

When you create an Alexa-hosted skill, Alexa provisions the following AWS resources:

You don't need an AWS account to create an Alexa-hosted skill. Alexa provisions the AWS resources that you need directly from the Alexa developer console. Alexa places your files and resources in an individual account, separate from the accounts of other users, and your files are never shared with other users. If you want to use additional AWS services, or if your usage exceeds the usage limits, you can provision the additional resources in your own AWS account. For details, see Use Personal AWS Resources with Your Alexa-hosted Skill.

When you create your skill, you get an AWS CodeCommit repository for managing your code, which you can access by using the ASK CLI to edit your skill. For details, see Create and Manage Alexa-hosted Skills Using the ASK CLI.

For a video introduction to Alexa-hosted skills, see Setting up an Alexa-hosted skill on YouTube.

Considerations for Alexa-hosted skills

Before you create your Alexa-hosted skill, consider the following:

  • You can build skills that use the custom voice interaction model as an Alexa-hosted skill. Currently, you can't create an Alexa-hosted skill that uses a pre-built voice interaction model, such as a Smart Home skill.
  • You can build an Alexa-hosted skill with Node.js version 16.x or Python version 3.8. When you create your skill, you select the runtime for your skill. After you choose the runtime for a skill, you can't change it.
  • You can provision your S3 and DynamoDB resources close to your skill users to reduce the perceived latency of your skill. For details, see Hosting your skill resources in different AWS Regions.
  • All data stored in S3 and DynamoDB is encrypted at rest with AWS-managed encryption keys. These keys are created and managed by AWS Key Management Service (KMS). With Alexa-hosted skills, you can't create or manage the encryption keys.

Creating an Alexa-hosted skill

You can create an Alexa-hosted skill in the following ways:

Hosting your skill resources in different AWS Regions

To reduce perceived latency when accessing your skill, Alexa provisions three AWS Lambda endpoints for your Alexa-hosted skill. Alexa provisions a Lambda endpoint for your skill in each of the following regions:

  • US East (N. Virginia) us-east-1
  • Europe (Ireland) eu-west-1
  • US West (Oregon) us-west-2

You can provision your Amazon S3 and DynamoDB resources in any of these regions. Amazon recommends that you choose the region closest to your users by using the following table. The table also determines the default hosting region that appears in the console when you create your skill.

Skill Language Marketplace Alexa Region Recommended AWS Region
English (AU) .com.au Far East US West (Oregon) us-west-2
English (CA) .ca North America US East (N. Virginia) us-east-1
English (IN) .in Europe Europe (Ireland) eu-west-1
English (UK) .co.uk Europe Europe (Ireland) eu-west-1
English (US) .com North America US East (N. Virginia) us-east-1
French (CA) .ca North America US East (N. Virginia) us-east-1
French (FR) .fr Europe Europe (Ireland) eu-west-1
German (DE) .de Europe Europe (Ireland) eu-west-1
Hindi (IN) .in Europe Europe (Ireland) eu-west-1
Italian (IT) .it Europe Europe (Ireland) eu-west-1
Japanese (JP) .co.jp Far East US West (Oregon) us-west-2
Portuguese (BR) .com.br North America US East (N. Virginia) us-east-1
Spanish (ES) .es Europe Europe (Ireland) eu-west-1
Spanish (MX) .com.mx North America US East (N. Virginia) us-east-1
Spanish (US) .com North America US East (N. Virginia) us-east-1

Skill endpoints

Alexa provisions an AWS Lambda endpoint for your Alexa-hosted skill in each Alexa service region. If you change the default hosted endpoint to an HTTPS endpoint, your skill is no longer an Alexa-hosted skill and the code editor in the console doesn't deploy to the new endpoint. If you change the default endpoint of a live skill, you must create your own AWS Lambda endpoint or HTTPS endpoint and republish the skill to use the new endpoint. Or, you can revert to the Alexa-hosted endpoint by choosing the Use Alexa hosted endpoint option in the Code tab in the developer console.


Was this page helpful?

Last updated: May 01, 2024