Skip to main content

Alexa

The dashboard's Alexa tab connects your deployment to a Smart Home skill you create in the Alexa developer console, so your users can control their devices from the Alexa app. To set one up by hand, you need an Amazon developer account and admin access to the dashboard.

The work moves from the Alexa developer console to the dashboard, back to the console, and ends in the Alexa app. Keep the dashboard open at Settings → Voice assistants → Alexa and expand Configuration values: it lists every value the console asks for.

The Alexa tab, with the Configuration values card under the Alexa configuration

Expand Configuration values to see every value the Alexa console asks for

1. Create the skill​

  1. Open the Alexa developer console and click Create Skill.

  2. Enter a skill name, choose the primary locale, and click Next. Pick the language of the country where your users' Amazon accounts are registered, for example English (IN) for India. The skill is offered only in the countries of its languages, so a skill created in English (US) does not appear in the Alexa app for an account registered in India. Add a language for each further country in step 5.

    Name the skill and pick its primary locale, then click Next

  3. Choose the Smart Home model and finish creating the skill. It appears in the skill list as In Dev.

    The new Smart Home skill in the skill list, In Dev

  4. Open the skill, go to Build → Smart Home, and copy Your Skill ID (amzn1.ask.skill.<id>). Leave the endpoint fields empty for now.

  5. To offer the skill in another country, open the language dropdown at the top left of the Build tab, choose Language settings, click Add new language, pick the language, for example English (IN), and click Save.

    Language settings with English (US) and English (IN), and Add new language

2. Set up account linking​

  1. Open Build → Account Linking and select Auth Code Grant.

  2. Fill in the fields from Configuration values:

    • Your Web Authorization URI: Authorization URI
    • Access Token URI: Access Token URI
    • Your Client ID: Client ID (va-client)
    • Your Secret: Client Secret
    • Your Authentication Scheme: HTTP Basic (Recommended)
    • Scope: one entry per value in Scopes

    Fill in the account-linking URIs, va-client and its secret, and the scopes

  3. Save the page, then copy the three Alexa Redirect URLs listed at the bottom. The dashboard needs them in step 4.

3. Turn on Alexa events​

  1. Open Build → Permissions and turn on Send Alexa Events.

  2. Under Alexa Skill Messaging, copy the Alexa Client Id, then click SHOW and copy the Alexa Client Secret.

    Turn on Send Alexa Events and copy the Alexa client ID and secret

4. Configure Alexa in the dashboard​

  1. In Settings → Voice assistants → Alexa, click Configure, or Edit if a configuration already exists.

  2. Fill in the form:

    • Client ID and Client Secret: the Alexa Client Id and Alexa Client Secret from step 3, not the va-client values
    • Skill ID: the ID from step 1
    • Redirect URIs: click Add URI once for each Alexa Redirect URL from step 2
    • Manufacturer Name: the brand shown for your devices in the Alexa app. Leave it empty to use the default, Espressif

    Fill in the Alexa client ID, skill ID and redirect URIs

  3. Click Update. The configuration card shows the client ID, skill ID and redirect URIs.

5. Add the skill endpoints​

Do this after step 4

Amazon checks that the skill may call your deployment when you save the endpoints, and saving the dashboard form in step 4 is what grants that. Saved earlier, the endpoints are rejected.

  1. In the Alexa developer console, open Build → Smart Home.

  2. Set Default endpoint to the Skill endpoint — North America value from Configuration values.

  3. Tick North America, Europe, India and Far East, and paste the matching Skill endpoint value into each.

    Paste the skill endpoint ARNs into the default and regional endpoint fields

  4. Click SAVE.

6. Check the setup​

Most failed setups come down to one of these. Check each before linking:

  • Dashboard Client ID and Client Secret are the Alexa Client Id and Alexa Client Secret from Build → Permissions, not the va-client values used for account linking.
  • Redirect URIs in the dashboard list all three Alexa Redirect URLs, not just one.
  • Account linking uses Auth Code Grant and HTTP Basic (Recommended), with each scope as its own entry rather than one space-separated line.
  • Endpoints were saved after clicking Update in the dashboard, and all three regions are filled in. Users whose Amazon account is in a region without an endpoint cannot link.
  • Languages cover every country your users' Amazon accounts are registered in.
  • The Alexa app is signed in with the developer account that owns the skill, or with a beta tester account it is shared with.

The skill is now ready. Enable it and discover devices as described in Link Alexa.