Last updated: 10 Jun 2022

You can connect your chatbot Alexa to create an Amazon Alexa Skill.

Step 1: Create an account on Amazon Developer Services

Go to https://developer.amazon.com.

If you already have an account, click on Sign in in the top right. If you don’t have an account, click Create your Amazon Developer account.

Step 2: Sign in to the Alexa Developer console

Armed with your Amazon Developer account, go to https://developer.amazon.com/alexa/console/ask and sign in.

Step 3: Create your skill

Before you can build your chatbot inside your platform, you need to create a Skill in Alexa. A Skill is essentially a chatbot, it’s the word Amazon give to their chatbot applications.

Go to https://developer.amazon.com/alexa/console/ask and click Create skill.

Give your skill a name.

In the model section, select Custom skill and Provision your own.

Click Create skill.

In the template section, select Start from scratch. Click

Almost there!

Step 4: Create your skill model

Alexa will give your skill a default model (the engine that powers your skill). That’s very nice of them, but because we’re going to create our own chatbot inside our platform, we’ll need slight modifications to that model.

Go to Interaction ModelJSON Editor.

Delete everything that’s in the code box and replace it with:

{
    "interactionModel": {
        "languageModel": {
            "invocationName": "skill name",
            "intents": [
                {
                    "name": "CatchAll",
                    "slots": [
                        {
                            "name": "text",
                            "type": "CatchAll"
                        }
                    ],
                    "samples": [
                        "{text}"
                    ]
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.HelpIntent",
                    "samples": []
                }
            ],
            "types": [
                {
                    "name": "CatchAll",
                    "values": [
                        {
                            "name": {
                                "value": "This is a placeholder. Do not change this or the name of the CatchAll Intent."
                            }
                        }
                    ]
                }
            ]
        }
    }
}
CODE

Don’t forgot to change skill name with your desired skill name.

Once the code has been copied in, click Save model then Build model.

Phew, that’s done!

Step 5: Connect your chatbot to Alexa

Now that your skill is created, you can connect it to your platform.

Go to EngageChannels. Find Alexa and click Options.

Copy the API end point.

Head back to your Alexa console (https://developer.amazon.com/alexa/console/ask) and go to the Endpoint section.

Click on HTTPS service endpoint type.

Paste your API endpoint from the platform into the Default Region field.

In the dropdown, select My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority.

Step 6: Create the required conversations

Alexa have strict rules when it comes to publishing chatbots. Before you can build anything else, you will have to build the following three conversations:

  1. Launch conversation – this conversation triggers your skill when a user mentions its name (e.g. Alexa, open [skill name]).

  2. Help conversation – this conversation helps your users when they don’t know how to use your skill.

  3. Stop conversation – this conversation immediately stops the communication between the user and Alexa and closes the skill (e.g. Alexa, stop).

Without these three conversations, your skill will not get approved for publishing.

Head over to your chatbot platform and Builder.

Create a new conversation. We’ll start with the Launch conversation.

As a trigger, set up When Variable {{alexa.is_launch_request}} is true.

Hit Save.

Edit the first message and set up your welcome message. This conversation will trigger every time a user opens your skill.

Easy, right? Now follow the same process to create the other two conversations using these variables:

  • For the Help conversation, use {{alexa.is_help_request}}.

  • For the Stop conversation, use {{alexa.is_stop_request}}.

Step 7: Set up your skill for testing

As you start building your chatbot, you will want to test it sporadically. Alexa allow you to do this in two ways: through the browser or through your Alexa app/device.

First, we need to finish the skill’s set up.

Go to https://developer.amazon.com/alexa/console/ask and click Distribution.

Follow the form along and fill out all the relevant details about your skill, including logo, target audience, privacy policy and compliance documents.

When you’re done, Alexa will run your settings and let you know if you need to review any of it or if you’re good to go.