Skip to main content

Alexa (Optional)

Once cloud side configurations for Alexa skills are done, you can go on to do configurations on Alexa developer console.

Integrating the Alexa Smart Home Skills with RainMaker​

Configuring the Alexa Developer Console​

Smart Home


  • Click SMART HOME in the left navigation bar.
  • In the Smart Home service endpoint section, add the ARNs of the esp-RM-alexaSmarthome Lambda mentioned in the next section.

Getting the Lambda ARNs for the deployed Alexa Skill

  • Select all three check boxes for all three regions.

  • For North America, add the ARN of the Lambda present in us-east-1 AWS region.

  • For Europe, India, add the ARN of the Lambda present in eu-west-1 AWS region.

  • For Far East, add the ARN of the Lambda present in us-west-1 region.

  • Copy the value from the North America endpoint into the Default endpoint and click Save.

    Alexa console lambda config

Locales


  • Click the language and locales dropdown list at the top of the left navigation bar.

    Alexa Locales Drop down

  • Add the languages and locales as per the target audience location of the skill.

    Alexa Locales List

Account Linking


  • Click ACCOUNT LINKING in the left navigation bar.

  • Add the following information to link RainMaker Authentication to Alexa.

    Standard RainMaker vs OAuth-only RainMaker

    For Standard RainMaker​

    • The RainMaker API base URL from the section Getting the RainMaker API URL (Base URL) will be used to construct the Authentication URLs. These endpoints are served at the API root, so they do not carry the /v1 version prefix.

      • Authorization URI: <RainMaker API base URL>/app-link/authorize
      • Token URI: <RainMaker API base URL>/app-link/token
      • Scope: aws.cognito.signin.user.admin
    • Remove any trailing slash from the base URL. An API Gateway URL (*.execute-api.<region>.amazonaws.com) includes the stage name, such as /dev; keep it. A custom domain URL has no stage. For example:

      Base URLAuthorization URI
      https://<api-id>.execute-api.<region>.amazonaws.com/devhttps://<api-id>.execute-api.<region>.amazonaws.com/dev/app-link/authorize
      https://api.example.comhttps://api.example.com/app-link/authorize
    • These URLs require RainMaker backend 3.11.0 or later, with the ESP-3P-Integrations-Skills-Add-Ons StackSet on Voice Assistant Release 1.4.6 or later. Older Skills Add-Ons packages do not store the Alexa app client credentials that /app-link/token reads, so token requests fail. To upgrade, follow Upgrading ESP-3P-Integrations-Skills-Add-Ons.


    For OAuth-only RainMaker​

    • Authorization URI: Follow these steps to get the URL
    • Token URI: <HTTP API Endpoint>/token
  • The esp-rainmaker-alexa-skill app client must also list <RainMaker API base URL>/app-link/cognito-callback in its callback URLs, otherwise linking fails for users who sign in through the hosted login page. Use exactly the same base URL as the Authorization URI, because the backend builds this callback from the host and stage that Alexa calls. For the API Gateway example above, add https://<api-id>.execute-api.<region>.amazonaws.com/dev/app-link/cognito-callback. See Configuring Callback URL in RainMaker.

  • Add the client ID and client secret of the Alexa app client by following the steps in Where do I find the Client ID and Callback URLs for Alexa and GVA? into Your Client ID and Your Secret fields, then click Save.

    Alexa console account linking

Enabling the Skill in Alexa Phone App​

  • Download the Amazon Alexa App from Google Play Store or IOS Store.

  • Go to Skills & Games in the Settings or More tab in the app.

    Alexa Phone app Skills and Games

  • Go to the Your Skills tab and scroll the below list to the left and click Dev.

  • Click your skill in Development and hit ENABLE TO USE, you will be redirected to a RainMaker Login.

    App Account Linking

  • Add the RainMaker phone app credentials. The devices in the RainMaker phone app will be discovered in the Alexa App.

Beta Testing​

Click Distribution and complete the information for all language variants, then click Availability. The Beta Test option would appear.

Alexa Beta Test

On this page