Publish Your Bot to an Amazon Alexa Skill

Learn how to set-up the integration between NativeChat and Alexa.

You can map an Amazon Alexa skill to a NativeChat bot. When the end-user engages the Alexa skill and says something, it is sent to NativeChat and the chatbot decides what the appropriate response. The response is sent to Alexa, which reads it out to the user.

Setup

Create an Account in Alexa Developer Console

Create a (or login using your existing) Amazon Developer account at https://developer.amazon.com/alexa/console/ask.

Create Alexa Skill

  1. From the Alexa Developer Console create a new skill
  2. Pick a name for your skill
  3. Pick language - make sure it matches the language of your NativeChat bot. If it is English pick the locale (UK, US, etc.) based on where you would like to distribute your Alexa skill.
  4. Pick model - Choose the Custom skill option
  5. Pick hosting method - Choose the Provision your own option.
  6. For training model choose Start from scratch training

Generate the Alexa Skill Configuration

  1. Open the Publishing section of your NativeChat bot.
  2. Click the Add button for Alexa to open the Add Alexa skill configuration form.
  3. Enter the invocation name for your skill. A skill’s invocation name is spoken by the end-users to begin an interaction with a particular custom skill. For example, if the invocation name is “daily horoscopes”, users can say: “Alexa, ask daily horoscopes for the horoscope for Gemini”. You can change that later.
  4. When you click the Generate skill configuration button, you will get a JSON configuration file and an endpoint URL that is used for communication between Alexa and NativeChat. You need them for the configuration done in the Alexa Developer Console.

Set up the Alexa Skill

  1. Go back to Alexa Developer Console and the skill you created earlier.
  2. Find the JSON Editor (1) link in the left navigation under the Build tab and open it. JSON Editor a links location in Alexa Developer Console
  3. Paste the JSON configuration you got from the portal Publish page in the editor
  4. Click Save Model (2)
  5. Click Build Model (3) Endpoint configuration screen in Alexa Developer Console
  6. Open the Endpoints (1) link on the left
  7. Pick the HTTPS option (2)
  8. In the Default region input field (3) paste the URL you got form the Publish page in NativeChat portal
  9. From the dropdown (4) pick the “My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority” option.
  10. Click Save Endpoints button

Test your bot

After you’ve set up your bot as Alexa skill, you can start testing the voice interaction.

In Alexa Simulator

The one option is to use the Alexa Developer Console’s Alexa Simulator.

  1. Go to Alexa Developer Console and open your skill
  2. From the top menu pick Test Alexa Simulator screen in Alexa Developer Console
  3. From the dropdown (2) select Development, which will enable the Simulator.
  4. In the field (3) type or speak your skill’s invocation name. Then you can start testing your chatbot.

With a Real Alexa Device

To test your chatbot via a real Amazon Alexa device (Amazon Echo, Spot, Dot, Show etc.), you need to set up the device for use with the same account you use for accessing the Alexa Developer Console.

Publish Your Skill in Amazon Alexa Store

Please, refer to the Amazon Alexa documentation on publishing and distributing skills.