With Alexa, Amazon operates a cloud-based voice service for the smart speakers dis­trib­uted by the company – like the Amazon Echo, Echo Dot, Echo Show, or Echo Spot. A smart speaker is a loud­speak­er connected to the internet with an in­te­grat­ed virtual assistant that receives commands through a voice interface and therefore fa­cil­i­tates various in­ter­ac­tions.

Smart speakers fa­cil­i­tate the use of audio-based internet services and make it possible to control devices connected through Wi-Fi or Bluetooth as part of home au­toma­tion (smart home). The Alexa voice assistant already offers various basic functions. Users can use their smart speaker to play music, listen to the news, traffic reports, and weather reports, or to provide calendar functions via voice commands. In com­bi­na­tion with smart home devices, Alexa offers a vocal interface for con­trol­ling in­tel­li­gent lamps, ther­mostats, or sockets.

Further functions can be installed as “skills.” In the Alexa Skills Store, there are more than 50,000 skills made by external de­vel­op­ers available to users. These can be activated free of charge in some cases. If you want to be creative yourself, you can program your own Alexa Skills in just a few steps using the Alexa Skills Kit and AWS Lambda. We’ll show you how it works.

What is an Alexa Skill?

Alexa Skills are programs that can be activated online and extend the range the Alexa Language Service’s functions with certain abilities. Tech­ni­cal­ly, an Alexa skill consists of a user interface (the “front end”) and the program logic (the back end). The front end of an Alexa Skill is any smart device that supports the Alexa voice service – for example, an Amazon Echo smart speaker or an ap­pro­pri­ate­ly equipped LG re­frig­er­a­tor. The program logic in the back end runs either on your own server or on the basis of AWS Lambda, a data pro­cess­ing service provided by Amazon.

Note

AWS (Amazon Web Services) is a sub­sidiary of the US online mail order company Amazon. With its cloud computing platform of the same name, the company is one of the leading providers of on-demand IT resource pro­vi­sion­ing with a usage-based billing model.

Re­quire­ments for Alexa skill de­vel­op­ment

Alexa Skills are developed using the Alexa Skills Kit (ASK) and made available to users through the Alexa Skills Store. Access to the Alexa Skills Kit is available with a free Amazon Developer account.

Note

The Alexa Skills Kit (ASK) is a col­lec­tion of self-service APIs, tools, doc­u­men­ta­tion, and code samples that allows you to create your own Alexa Skills quickly and free of charge using pre-built building blocks if needed.

If you do not want to host your Alexa’s Skills’ program logic yourself, you will also need an AWS account that gives you access to the AWS Lambda pro­cess­ing service.

Tutorial: Create your own Alexa Skill in seven steps

The process of creating your first Alexa Skill to pub­lish­ing your app takes 7 steps:

  • In steps 1 and 2, you create a new Alexa Skill in the Amazon Developer Console and configure the in­ter­ac­tion model for the voice interface.
  • Based on the in­ter­ac­tion model, you create an AWS Lambda function in step 3. This includes the program logic for your skill and runs on Amazon’s cloud computing platform AWS.
  • In step 4, link the AWS Lambda feature to the Amazon Developer Console to make your skill available to Amazon devices.
  • This is followed by a testing phase in step 5 and the val­i­da­tion and pub­li­ca­tion of your skill in steps 6 and 7.

We will outline de­vel­op­ing an Alexa skill with a simple example.

Small business owner Jess runs a sandwich shop in Bend, Oregon. Flour Pot Sand­wich­es is popular with customers looking for a healthy, fast option. The sandwich shop is located in downtown Bend, and Jess would like to meet the needs of her customers and maintain an online presence listing her range of products and services. To this end, she will launch the store’s own website, as well as a skill for the Alexa voice service. The small business owner starts the de­vel­op­ment out small, first creating a skill with which her customers can access Flour Pot Sand­wich­es’ opening hours using the Alexa voice interface.

1. Prepa­ra­tion

To allow Alexa voice service users to develop their own Alexa Skills, Amazon provides the Alexa Skills Kit through the Alexa Developer Console as a de­vel­op­ment en­vi­ron­ment with a graphical web interface. The Alexa Developer Console is part of the Amazon Developer Console.

Log in to Amazon Developer. If you don’t have an Amazon Developer account yet, create a free one.

After logging in, you will be taken to the service overview. Select “Amazon Alexa” here.

Click on “Alexa Skills Kit” in the drop-down menu under “Products” and then on “Start a Skill” to open the Alexa Developer console.

The Alexa Developer Console home page will show you all the Alexa Skills you have created yourself. If you log in for the first time, the list will be empty.

Note

The Alexa Developer Console is currently available in English, Japanese, and Chinese only.

Click on “Create Skill” to create a new Alexa skill.

Name your skill, select the desired language, and choose one of four model types for your skill’s in­ter­ac­tion model:

  • Custom model (user-defined in­ter­ac­tion model)
  • Flash briefing model (pre­de­fined in­ter­ac­tion model for news feeds)
  • Smart home model (pre­de­fined in­ter­ac­tion model for smart home ap­pli­ca­tions)
  • Video model (pre­de­fined in­ter­ac­tion model for video ap­pli­ca­tions)

In this Alexa Skills tutorial, we’ll show you how to create custom in­ter­ac­tion models using the custom skill model.

Enter the display name for your Alexa skill as the “Skill Name.” In our example, we have chosen the name “Flour Pot Sand­wich­es.”

Then click on “Create Skill” to start the de­vel­op­ment process. You will au­to­mat­i­cal­ly be redi­rect­ed to the “Edit View” of the Alexa Developer Console.

Note

If you want to customize or further develop an already created skill, click on the “Edit” button in the “Skill Overview” to switch to the “Edit View.”

2. Configure the in­ter­ac­tion model using the Alexa Skills Kit

For the de­vel­op­ment of your Alexa Skill, there is a graphical user interface that reduces pro­gram­ming to a minimum. The “Edit View” of the Alexa De­vel­op­ment Console is divided into five sections:

  • Build (de­vel­op­ment)
  • Test
  • Dis­tri­b­u­tion (pub­li­ca­tion)
  • Cer­ti­fi­ca­tion
  • Analytics

Use the tabs in the nav­i­ga­tion bar at the top of the browser window to move from one area to the next.

Start in the “Build” section to design an in­ter­ac­tion model for your custom skill and train using the Alexa Skills Kit. The overview page of the build area is divided into three columns. The skill is created using the skill builder checklist in the right column and consists of four con­fig­u­ra­tion steps:

  • Select in­vo­ca­tion name
  • Define intents and example state­ments
  • Create model
  • Select web service endpoint

If you have completed one of the required steps, a green checkmark will indicate this.

Start a con­fig­u­ra­tion step by clicking on the cor­re­spond­ing button in the skill builder checklist. Al­ter­na­tive­ly, you can call up the in­di­vid­ual con­fig­u­ra­tion areas through the menu bar on the left-hand side column. This also includes a JSON editor and a menu item for selecting the user in­ter­faces.

In the middle column of the overview page you will find in­for­ma­tion material on Alexa Skill de­vel­op­ment, as well as a video on the selected area of the Alexa Developer Console.

Select in­vo­ca­tion name

First you define your Alexa skill’s in­vo­ca­tion name. Click on step 1 of the skill builder checklist or select the menu item “In­vo­ca­tion” in the left column to open the cor­re­spond­ing con­fig­u­ra­tion area.

The in­vo­ca­tion name is the term used by users to refer to your skill. The in­vo­ca­tion name may be the same as the skill name, but may differ from it if necessary.

Enter the desired in­vo­ca­tion name in the field provided. Please note the following pre­req­ui­sites:

  • Use an in­vo­ca­tion name with two or more words
  • Separate the words with spaces
  • Use lowercase letters only
  • Put the in­vo­ca­tion name in quotation marks if you use an apos­tro­phe or an ab­bre­vi­a­tion with a period
  • Numbers or other special char­ac­ters must be written in full
Note

The in­vo­ca­tion name must not contain any of the Alexa skill start phrases like “launch,” “ask,” “tell,” “load,” “open,” or “play,” nor should it contain wake-up words like “Alexa,” “Amazon,” “Echo,” or “Computer” that are used to address the smart speaker. Also the words “skill” and “app” are not allowed.

We have chosen the name “Flour Pot Sand­wich­es.”

Save the in­vo­ca­tion name by clicking on “Save Model.” Then click on “Custom” to return to the overview.

Define intents and example state­ments

With intents, you define actions that your Alexa skill performs as soon as a user uses a specific language pattern. You define what potential skill users might say, what the intention is and how your skill reacts. Each custom skill already contains five preset intents that need to be im­ple­ment­ed later. In addition, you can add either pre-built or custom intents to your skill as needed.

Proceed as follows to create a custom intent:

Name the new intent and click “Create custom intent.”

Define sample ut­ter­ances with which users can call up the new intent. Enter the desired phrase in the text field provided and click on the plug sign (+).

We would like the program to call up an intent for your Alexa skill that allows users to request our store’s opening hours. We call the intent “GetOpen­ing­Hours” and enter the example phrases for it, with which users could possibly ask for the desired in­for­ma­tion.

The defined language patterns are then au­to­mat­i­cal­ly extended by the Alexa De­vel­op­ment console through machine learning. However, this only works if the system has a suf­fi­cient­ly large data basis at its disposal. You should therefore enter at least eight (prefer­ably around 30) sample state­ments with the desired intention.

If you have entered a suf­fi­cient number of sample state­ments, return to the overview through the “Custom” button to create the model and train it through machine learning.

Create model

Proceed as follows to create your Alexa skill’s in­ter­ac­tion model based on the settings you have made:

Click on “Build Model” in the skill builder checklist. The Amazon Developer console will play a push message informing you that the build process has started.

Wait until the console notifies you that your in­ter­ac­tion model has been suc­cess­ful­ly created.

Note

If you want to change the in­vo­ca­tion name, the intents or the sample state­ments af­ter­wards, you just have to restart the build process to create a new model.

Select web service endpoint

Step 4 of the skill builder checklist includes selecting the web service endpoint. There are two options to choose from. Your Alexa skill’s program logic can be executed either as a Lambda function on the AWS cloud computing platform or through HTTPS on your own web server.

If you want to run to the program logic on your own resources, you need a web server that meets the following re­quire­ments:

  • Con­nec­tion to the internet
  • HTTPS through an Amazon rec­og­nized SSL/TLS cer­tifi­cate
  • Port 443 is available for inquiries

If you would like to use AWS Lambda for hosting, you will need a user account for the Amazon Web Service.

In this tutorial, we will focus on AWS and create the Alexa Skill’s program logic as a Lambda function.

Activate the checkbox for AWS Lambda ARN. ARN stands for “Amazon Resource Name.” It is a unique name for an AWS resource, like a Lambda function.

Before you can use ARN to refer to a Lambda function that contains your skill’s program logic, you must first create it in the AWS console. We will show you how to do this in step 3 of this Alexa Skills tutorial.

Optional: pro­gram­ming in­ter­faces

Alexa Skills can be extended by various APIs (pro­gram­ming in­ter­faces), which offer you ad­di­tion­al pos­si­bil­i­ties to provide mul­ti­me­dia contents or to integrate external devices. The following table shows a selection of the available APIs.

Interface De­scrip­tion
Audio player API The audio player API extends the program code of a skill to include all re­quire­ments for playback of audio streaming content.
Display API In addition to the voice interface, an Alexa skill which has been enhanced with the display API enables in­ter­ac­tion through the Echo Show’s screen.
Video app API A skill with video app API can play video streaming content on the Echo show.
Alexa gadget API The gadget API can be used to develop Alexa Skills that allow in­ter­ac­tions with Alexa ac­ces­sories.

3. Create program logic for AWS Lambda

The AWS Lambda data pro­cess­ing service is part of Amazon Web Services. Register first for a free AWS account.

Note

You do not incur any costs when reg­is­ter­ing your AWS account. These costs are only incurred when you use AWS resources. For the first 12 months, Amazon will make selected services available free of charge to a certain extent to newly reg­is­tered users. At AWS Lambda, the free service currently includes 1 million requests per month and 3.2 million seconds of computing time per month.

Log in to your AWS account and select “AWS Man­age­ment Console” under “My Account.”

The AWS Man­age­ment Console is a browser-based interface that you use to access and manage Amazon Web Services.

First, make sure your console is set to the region where you want to offer your Alexa Skill. Select the regional setting “US” if you want your skill to be available to users in the US.

On the AWS Lambda data pro­cess­ing service home page, the AWS console displays an overview of the Lambda functions you have created. If you have not yet created any functions, the list will be empty.

Click on the “Create function” to start the con­fig­u­ra­tion process for a new Lambda function.

AWS Lambda functions can be created from scratch, using a pre­con­fig­ured template, or based on an ap­pli­ca­tion provided by AWS or AWS partners in the AWS server­less ap­pli­ca­tion repos­i­to­ry.

Since we have to rely on various libraries for the program logic of our Alexa Skill, the creation on the basis of a template is a good idea.

Select the option “Template” and enter the keyword “Alexa” into the search mask.

In this case, it does not matter which template you choose, since we only need the un­der­ly­ing libraries and com­plete­ly overwrite the program code in the following steps.

For the tutorial, we chose the template “alexa-skill-kit-sdk-factskill” based on Node.js 6.10.

Confirm your selection by clicking on “Configure.”

In the next step, select a name and the desired Lambda execution role. The latter defines the function’s au­tho­riza­tions. In line with our example, the function should be called “Flour­Pot­Sand­wich­es.” To define their au­tho­riza­tions, we click on “Create a user-defined role” in the drop-down menu under role.

Note

The AWS Man­age­ment Console informs you that your function contains external libraries.

The con­fig­u­ra­tion mask for the execution role of the function opens in a new tab already with preset values.

Do not change anything here and confirm the setting with “Allow.” The Lambda function is created with the role “lambda_basic_execution”. The tab closes au­to­mat­i­cal­ly.

In the lower area of the con­fig­u­ra­tion mask, you will find the template’s Lambda function code. You do not need to pay attention to this at first. Instead, click on “Create function.

After your Lambda function has been created, you are au­to­mat­i­cal­ly forwarded to the Lambda function’s con­fig­u­ra­tion overview, where you make all further settings.

In the upper area of the con­fig­u­ra­tion overview, you will find the function designer and an editor with which you can manually intervene in the function code. The editor is followed by further con­fig­u­ra­tion buttons, which are not discussed in detail in this Alexa Skill tutorial.

Scroll down to the function code section, mark the entire code in the editor with [Ctrl] + [A] and delete it with the DEL key.

Now switch to the Amazon Developer Console and open the in­ter­ac­tion model of your Alexa skill in the JSON editor. The cor­re­spond­ing button can be found in the nav­i­ga­tion menu on the left side of the window.

Mark the entire JSON code with [Ctrl] + [A] and copy it to the clipboard with [Ctrl] + [C].

The in­ter­ac­tion model for our sample skill “Flour­Pot­Sand­wich­es” looks as follows:

{
    "interactionModel": {
        "languageModel": {
            "invocationName": "flour pots sandwiches",
            "intents": [
                {
                    "name": "AMAZON.FallbackIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.CancelIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.HelpIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.NavigateHomeIntent",
                    "samples": []
                },
                {
                    "name": "GetOpeningHours",
                    "slots": [],
                    "samples": [
                        "When will the store close",
                        "When will the store open",
                        "When does the store open",
                        "When does the store close",
                        "What are the opening hours"
                    ]
                }
            ],
            "types": []
        }
    }
}

The code shows the pre­vi­ous­ly created in­ter­ac­tion model in JSON format.

Note

JSON (JavaScript Object Notation) is a compact, text-based data exchange format that is easy for both humans and machines to process. Data in JSON format is stored either as name-value pairs or as ordered lists.

Our JSON document contains the intents of our Alexa Skill, as well as the sample state­ments assigned to the intents (if available). It therefore includes all in­ter­ac­tion pos­si­bil­i­ties that are available on the user page.

How our skill reacts to user signals is defined in our Lambda function’s code. For this, we used the web app Skil­li­na­tor.io. With this free tool, you can convert an in­ter­ac­tion model in JSON format into a valid Lambda template with just one click.

Copy the generated Lambda template to the clipboard and call up the con­fig­u­ra­tion overview of your Lambda function in the AWS Man­age­ment Console. Now, insert the template as the function code for your Lambda function. Click on “Save” to accept the change.

You have now created a Lambda function with valid program logic. However, essential sections of the function code are filled with place­hold­ers – for example, the speech output that Alexa plays as soon as a user utters a phrase that cor­re­sponds to the intent defined above.

In the following, it is therefore necessary to go through the template created with Skil­li­na­tor.io line by line and rewrite the cor­re­spond­ing sections manually.

In this Alexa skill tutorial, we limit the adaption of the function code to the wel­come­Out­put and the speech output for the intent “GetOpen­ing­Hours” defined in the in­ter­ac­tion model. In practice, however, you should define an in­di­vid­ual speech output for all intents of your skill.

The wel­come­Out­put is defined by the variable of the same name and is located in the area “1. Text strings.” We replace the place­hold­er “This is a place­hold­er welcome message. This skill includes 6 intents. Try one of your intent ut­ter­ances to test the skill” by a user-defined greeting.

The wel­come­Out­put is sup­ple­ment­ed by a wel­com­eRe­prompt. Here you define what Alexa should say if the user does not respond to the welcome prompt.

Tip

For voice ap­pli­ca­tions, always work with vari­a­tions. Make the in­ter­ac­tion with your skill as varied as possible. For example, the reprompt should always be a re­for­mu­la­tion of the first output played.

// 1. Text strings =====================================================================================================
 //    Modify these strings and messages to change the behavior of your Lambda function
let speechOutput;
let reprompt;
let welcomeOutput = "Welcome to Flour Pot Sandwiches. What can I do for you?";
let welcomeReprompt = "How can I help you";

Then scroll to the area “2nd Skill Code.” Here, we find six intent-slots according to our in­ter­ac­tion model – the five pre­con­fig­ured intents as well as our self-defined intent “GetOpen­ing­Hours.”

The Intent “GetOpen­ing­Hours” cor­re­sponds to the intention of a user to inquire about Flour Pot Sand­wich­es opening hours. We replace the place­hold­er “This is a place­hold­er response for the intent named GetOpen­ing­Hours. This intent has no slots. Anything else?“ with an answer cor­re­spond­ing to the intent.

},
	'GetOpeningHours': function () {
		speechOutput = '';
		//any intent slot variables are listed here for convenience
		//Your custom intent handling goes here
		speechOutput = "Flour Pot Sandwiches is open today until 6pm.";
		this.emit(":ask", speechOutput, speechOutput);
    },

After we have saved the changes, our self-developed Alexa Skill is the­o­ret­i­cal­ly ready for the first test run. For this, we first have to link the Lambda function “Flour­Pot­Sand­wich­es” with the skill’s web con­fig­u­ra­tion in the Alexa Developer Console.

4. Link in­ter­ac­tion model with AWS Lambda function

In order for our Alexa skill to be accessed by users through a smart speaker, a link on both sides is required. Proceed as follows:

  • First, we define the in­ter­ac­tion model con­fig­ured in the Alexa developer console as a trigger for the AWS Lambda function.
  • We then enter the Lambda function Flour­Pot­Sand­wich­es in the Alexa developer console as the web service endpoint for the skill.

Defining an in­ter­ac­tion model as a trigger

Call up the con­fig­u­ra­tion of your Lambda function in the AWS Man­age­ment Console and select the option “Alexa Skills Kit” in the function designer.

The Alexa Skills Kit is now listed as a trigger in the graphical rep­re­sen­ta­tion of your Lambda function, but requires further con­fig­u­ra­tion.

You will need the qual­i­fi­ca­tion ID of the in­ter­ac­tion model created in the Alexa Developer Console. To determine this, switch to the Alexa Developer Console, and select “Endpoint” in the nav­i­ga­tion bar on the left side of your browser window.

Copy the character string displayed under “Your Skill ID” to the clipboard and then enter it as the qual­i­fi­ca­tion ID of your Lambda function. Confirm the setting by clicking on “Add” and save your changes.

Enter Lambda function as end point

To define the web service endpoint for your skill, scroll up in the con­fig­u­ra­tion overview or your Lambda function. Copy the ARN in the upper right corner or your browser window to the clipboard and switch to the Alexa Developer Console.

In the Alexa Developer’s nav­i­ga­tion menu, select “Endpoint” again (if not already selected) and paste the copied ARN into the “Default Region” field.

You must define at least one default endpoint for your skill. You also have the option to specify al­ter­na­tive endpoints for the regions Europe and India, the Middle East, and the Far East. Save the settings by clicking “Save endpoints.”

Your Alexa skill is now ready for the first test run.

5. Test

In the “Test” section, the Alexa Developer Console offers a complete test en­vi­ron­ment for self-pro­grammed Alexa Skills, including an Alexa simulator with speech output. You can access the test en­vi­ron­ment by clicking on the “Test” tab in the menu bar at the top of the browser window.

By default, the test en­vi­ron­ment is disabled for newly-created Alexa Skills. Activate it by changing the drop-down menu from “Off” to “De­vel­op­ment.”

You now have the op­por­tu­ni­ty to interact with your skill at the current stage of de­vel­op­ment to ensure that it works in practice the way you imagined it would.

Give the Alexa simulator access to a mi­cro­phone or enter voice commands using the keyboard. Call up your newly developed Alexa skill using in­vo­ca­tion and test a voice command that matches your defined intent.

Our example skill can be started with the in­vo­ca­tion “flour pots sand­wich­es.” Alexa responds with the wel­come­Out­put defined in the program logic:

“Welcome to Flour Pots Sand­wich­es. What can I do for you?”

Access to the program logic works. Which input and output the Amazon language service processes within the scope of the query is displayed in the Skill I/O window in JSON format.

Now ask a question cor­re­spond­ing to the intent. In line with our example, we will inquire about the opening hours of the sandwich store:

“What are your opening hours?”

Alexa un­der­stands our question and gives us the in­for­ma­tion we need:

“Flour Pots Sand­wich­es is open today from 10 am until 6 pm.”

Note

Al­ter­na­tive­ly, test newly-developed Alexa Skills on all devices connected to your Amazon Developer account even before release.

6. Pub­li­ca­tion

If you have tested your new Alexa Skill and found it works to your sat­is­fac­tion, you can make it available to other users in the Alexa Skills Store. To do this, you must provide all the in­for­ma­tion required for pub­li­ca­tion.

To do this, go to the “Dis­tri­b­u­tion” section by clicking on the button of the same name in the nav­i­ga­tion menu of the Alexa Developer Console. Fill in all required fields under “Skill Preview,” “Privacy & Com­pli­ance,” and “Avail­abil­i­ty.”

Under “Skill Preview,” enter all in­for­ma­tion that should be displayed to users in the desired target country in the preview. The following in­for­ma­tion must be provided here:

  • Skill name
  • Brief de­scrip­tion (max. 160 char­ac­ters)
  • Detailed de­scrip­tion (max. 4.000 char­ac­ters)
  • At least three sample comments
  • Skill icon (small)
  • Skill icon (large)
  • Category

You can also enter in­for­ma­tion about new features and, if necessary, links to the data pro­tec­tion pro­vi­sions or terms of use for your skill.

Tip

You don’t have an icon for your skill? Then use the free Alexa Skill icon builder.

Under “Privacy & Com­pli­ance,” you specify whether users can use paid functions within the scope of their skill, whether you collect personal user data, and whether your skill is aimed at users under the age of 13 or includes ad­ver­tis­ing.

Note

The ac­ti­va­tion of an Alexa Skill through the Alexa Skills Store is free of charge. Projects pro­grammed with the Alexa Skills Kit can be monetized by in-skill purchases and sub­scrip­tions.

In addition, you must confirm that your skill meets export com­pli­ance for Alexa Skills. If the ver­i­fi­ca­tion by the Alexa team requires you to follow certain in­struc­tions – for example, regarding hardware or software re­quire­ments – you can describe them in a text box provided for this purpose.

Finally, under “Avail­abil­i­ty,” define any re­stric­tions for the avail­abil­i­ty of your skill. Should your skill be available to all users or only selected or­ga­ni­za­tions? Should the beta tests be carried out by specific in­di­vid­u­als? And in which countries and regions would you like to publish your skill?

Save your data in the “Skill Preview,” “Privacy & Com­pli­ance,” and “Avail­abil­i­ty” areas by clicking on “Save and continue.”

Your data will be validated as part of your skill’s cer­ti­fi­ca­tion.

7. Cer­ti­fi­ca­tion

Once you have entered all the in­for­ma­tion required for pub­li­ca­tion, you can validate your Alexa skill.

Once you have saved your pub­li­ca­tion details by clicking on “Save and continue,” you will au­to­mat­i­cal­ly be redi­rect­ed to the “Cer­ti­fi­ca­tion” area. The Alexa Developer Console checks your data and, if necessary, prompts you to revise incorrect in­for­ma­tion or supply missing data.

If you have entered the required in­for­ma­tion correctly or corrected it if necessary, you can continue with a func­tion­al test. Start the test by clicking on “Run.”

If the test report shows errors, you have the option of returning to the ap­pro­pri­ate area, cor­rect­ing the error, and per­form­ing a new func­tion­al test.

If the Alexa skill you have pro­grammed has suc­cess­ful­ly completed the func­tion­al test, it is ready for the last step of the pub­li­ca­tion – the “Sub­mis­sion.” Click “Submit for Review” to submit your skill for cer­ti­fi­ca­tion. The next step is a review by the Amazon Alexa team.

Note

The con­fig­u­ra­tion of your skill cannot be adjusted during the cer­ti­fi­ca­tion process. However, you can cancel the ver­i­fi­ca­tion at any time. Click on the “Withdraw from cer­ti­fi­ca­tion” button.

Once the Amazon review is complete, you will receive an e-mail to the account as­so­ci­at­ed with your Amazon Developer account. There are basically two possible scenarios:

  • Your skill has been suc­cess­ful­ly certified: In this case, you will be informed by e-mail when your skill is expected to be published in the Alexa Skills Store.
  • Your skill has not been certified: In this case, Amazon has detected problems during the cer­ti­fi­ca­tion process. The e-mail will include a detailed report on what changes are required for suc­cess­ful cer­ti­fi­ca­tion. Once you have made the ap­pro­pri­ate ad­just­ments, you can resubmit your skill for cer­ti­fi­ca­tion at any time.

You can see the current status of all Alexa Skills you have created in the Alexa Developer Console in the skills overview of the Alexa Developer console:

  • In de­vel­op­ment: your skill is in de­vel­op­ment
  • Cer­ti­fi­ca­tion: your skin is in the cer­ti­fi­ca­tion process
  • Live: your skill is available to users through the Alexa Skills Store
Note

If your skill has reached the status “Live,” you cannot adjust its con­fig­u­ra­tion af­ter­wards. In addition to the live version, a developer version of the published skill is available in the Alexa Developer Console, which can be revised in­de­pen­dent­ly of the original. As soon as a revised version of your skill has been certified by Amazon, it replaces the previous live version, and a new developer version is au­to­mat­i­cal­ly created.

Better user ex­pe­ri­ence with the voice interface

Why should you, as an en­tre­pre­neur, create an Alexa skill? The reasons for this are obvious: In­ter­per­son­al in­ter­ac­tion is largely based on spoken com­mu­ni­ca­tion. When dealing with machines, however, we still resort to aids: inputs via keyboard, mouse, or touch screen lead to an output on the screen. However, that will soon change. With Amazon Alexa, Google Assistant, and Apple Siri, operation becomes a dialog. Objects become in­ter­locu­tors and how we deal with them becomes more intuitive.

The tech­nol­o­gy is still in its infancy, but voice-as-UI is a trend that has the potential to fun­da­men­tal­ly change the way we perceive and interact with machines. For you as an en­tre­pre­neur, a language service like Amazon Alexa offers a variety of op­por­tu­ni­ties.

Use Alexa Skills, for example, to show that your company is keeping up with the times. Present yourself as modern, tech­nol­o­gy oriented, and dynamic by offering your customers com­plete­ly new in­ter­ac­tion pos­si­bil­i­ties.

As an Amazon product, Alexa benefits from an enormous reach. Together with Google, the company dominates the smart speaker market. Consumers perceive the smart speaker as a rev­o­lu­tion­ary medium, i.e. the voice interface opens up a com­plete­ly new com­mu­ni­ca­tion channel for your marketing goals. In the area of customer service, for example, Alexa gives you the op­por­tu­ni­ty to per­son­al­ize automated com­mu­ni­ca­tion processes.

The focus of virtual language as­sis­tants is still on the advisory function. However, in the future, smart speakers will make various con­ver­sions possible – for example, pur­chas­ing by voice command. Your Alexa skill will then become a virtual branch directly in your customer’s living room. Already today, Amazon Prime members can make voice purchases through Amazon Pay.

Go to Main Menu