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
- Log in to Alexa developer console.
- Select the skill created in the section Create an Alexa Smart Home Skill.
Smart Home
- Click
SMART HOMEin the left navigation bar. - In the
Smart Home service endpointsection, add the ARNs of theesp-RM-alexaSmarthomeLambda 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 Americaendpoint into theDefault endpointand clickSave.
Locales
-
Click the language and locales dropdown list at the top of the left navigation bar.

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

Account Linking
-
Click
ACCOUNT LINKINGin the left navigation bar. -
Add the following information to link RainMaker Authentication to Alexa.
Standard RainMaker vs OAuth-only RainMakerFor 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
/v1version 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
- Authorization URI:
-
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 URL Authorization URI https://<api-id>.execute-api.<region>.amazonaws.com/devhttps://<api-id>.execute-api.<region>.amazonaws.com/dev/app-link/authorizehttps://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-OnsStackSet 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/tokenreads, 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-skillapp client must also list<RainMaker API base URL>/app-link/cognito-callbackin 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, addhttps://<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 IDandYour Secretfields, then clickSave.
Enabling the Skill in Alexa Phone App
-
Download the Amazon Alexa App from Google Play Store or IOS Store.
-
Go to
Skills & Gamesin theSettingsorMoretab in the app.
-
Go to the
Your Skillstab and scroll the below list to the left and clickDev. -
Click your skill in
Developmentand hitENABLE TO USE, you will be redirected to a RainMaker Login.
-
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.


