Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get started
Connect with Matter
Alexa Connect Kit
Add-ons
Certify
Resources
Skip to main content
After you plan your capability interfaces, you create your add-on in the Alexa developer console and configure account linking. When you finish, you implement your add-on code as a Lambda function. For details about planning your interfaces and the full list of prerequisites, see Steps to Build Smart Home Add-ons. For a step-by-step tutorial that builds an add-on for a virtual light bulb, see Tutorial: Build a Smart Home Add-on.

Create a smart home add-on

You create a smart home add-on in the Alexa developer console. When the console prompts you to choose a model to add to your add-on, select the Smart Home model. You can choose English (US) as your default language and region, or you can create your add-on in another language and region. Select the region where you plan to make your add-on available. Language support varies by interface. For more details, see List of Alexa Interfaces and Supported Languages. To offer your add-on in more than one language, see Develop Smart Home Add-ons for Multiple Languages. After you create your add-on, copy the skill ID to a convenient place. You use the skill ID to connect your add-on to the add-on code that you host on Lambda. To create a new smart home add-on in the Alexa developer console
  1. If you haven’t already, create an Amazon developer account.
  2. Sign in to the Alexa developer console.
  3. On the Skills tab, choose Create Skill.
  4. On the Create a new skill page, provide the following information:
    1. For 1. Name your Skill, enter a name for your add-on.
    2. For 2. Choose a primary locale, choose English(US), and then choose Next.
    3. For 1. Choose a type of experience, select Smart Home.
    4. For 2. Choose a model, select Smart Home.
    5. For 3. Hosting services, select Provision your own, and then choose Next.
    6. Review your selections, and then choose Create skill.
  5. On the Smart Home page, under Smart Home service endpoint, find the skill ID for your new add-on.
  6. Next to Your Skill ID, choose Copy to Clipboard to save your skill ID.
  7. In a convenient place, such as Notepad on Windows or TextEdit on Mac, paste the skill ID.

Configure account linking

All smart home add-ons must enable account linking to connect the identity of the Alexa user with the user’s identity in your system. For a light bulb, your system might have a user account that stores the light bulb model and capabilities, such as whether the bulb is dimmable. When the user enables your add-on in the Alexa app, Alexa starts the account linking process and receives an access token from your system. Later, when the user asks Alexa to dim the light bulb, Alexa sends the access token to your add-on. The token lets your add-on access the user’s account in your system to determine whether the bulb is dimmable. Alexa uses the OAuth 2.0 authorization code grant type for smart home add-ons. To configure account linking, you need the following information from your OAuth provider. For details about these fields, see Configure an Authorization Code Grant.
  • PKCE Authorization — Proof Key for Code Exchange (PKCE) security measures to mitigate authorization code interception attacks. The Login with Amazon (LWA) authorization server supports PKCE with Secure Hash Algorithm 256 (SHA-256).
  • URI of the login page on your authorization server — When a customer enables your add-on in the Alexa app, Alexa redirects the customer to this URI to enter login credentials. On a successful login, the server returns an authorization code to Alexa.
  • URI of your access token server — Endpoint of your authorization server that can exchange an authorization code for access tokens.
  • Client ID — Unique string that identifies the add-on that makes requests to your resource server on behalf of the Alexa user.
  • Your client secret — Alexa uses the client ID and client secret to authenticate with the access token URI. These credentials identify the request from Alexa.
  • Authentication scheme — Identifies the type of authentication that Alexa uses to request access and refresh tokens from your access token server.
  • Scope — (Optional) List of credentials to request from the add-on user, such as user ID and password. You can provide up to 15 scopes.
  • Domains — (Optional) List of domains that the authorization server requests content from. You can provide up to 30 domains.
  • Default access token expiration — (Optional) If your server doesn’t provide the expiration time for access tokens in the messaging, provide the number of seconds for which the access token is valid.
To configure the authorization server and security profile for your add-on, open the Alexa developer console. On the Smart Home page, from the left menu, select ACCOUNT LINKING. Enter the required information, and then choose Save. The Alexa Redirect URLs field shows the redirection endpoints that Alexa uses. Register these redirection URLs with your authorization server. You can use the Amazon OAuth authorization server, called Login with Amazon (LWA), or your own OAuth 2.0 provider. For details about how to set up account linking with the LWA authorization server, see Smart Home Tutorial Step 4: Set up Account Linking.
Last modified on October 16, 2026