As a young startup specializing in smart lighting, who could be more excited than us when Amazon launched its Alexa-enabled family of devices, and announced that we were free to develop skills for Alexa?
We thus embarked on our journey to develop our very own Alexa skills in English (US), English (UK) and German (DE); and after months of effort our US skill went live on the 22nd of March 2017, and our UK and DE skills on the 6th of April 2017!
The journey wasn’t all a bed of roses, though; and we thought we’ll like to give back to the budding developer community by documenting the steps we took to develop and certify our skills, and our two cents’ worth regarding the little pitfalls to avoid falling into in the process.
The step-by-step guide to developing your very own Alexa skill
Pre-development preparation work-
Register for Amazon developer accounts at aws.amazon.com and developer.amazon.com
Smart Home API skills will require account linking, and thus you’ll need to apply for an SSL certificate for your site name to host your Amazon skill landing page on https://
Log in to your developer.amazon.com account, then retrieve your Application ID under Skill Information
Log in to your aws.amazon.com account, then retrieve your Lambda ID under AWS Lambda by choosing Code.
1. You’ll first need to create the lambda server, and this can be done by visiting AWS Lambda on aws.amazon.com
a. Do note that you must choose to host the Lambda function in one of the two regions provided: US East (N. Virginia) for US skills, and EU (Ireland) for EU skills
b. You’ll then need to select the blueprint for your skill from either python or node.js: we chose node.js and alexa-skill-kit-sdk-factskill
c. Next, you’ll need to Configure triggers: select Alexa Smart Home, and key in the Application ID you noted down earlier.
d. Name your Lambda server; its only visible to yourself
e. Enter your Lambda function code; you can choose to use the code Amazon has provided for smart home skills at https://github.com/alexa/alexa-smarthome-validation
f. Once this is done, the skill can be created.
2. Head over to developer.amazon.com, and create a new Security Profile
a. Note down the client ID and client secret- this is crucial for the later steps!
3. Creating the Alexa skill on developer.amazon.com
a. Choose the Smart Home Skill API under Skill Information
b. Choose the language of your skill: English (US), English (UK) or German (DE)
c. Name your skill. Note that this is the name that will be displayed to your users!
d.You will then be prompted to fill in the details for the Configuration
Geographical region: Choose between North America or Europe, or both; then type in the Lambda Function ID that you have noted down earlier.
Authorization URL: fill in the site address of your HTTPS site landing page
Client ID: Fill in the client ID you have noted down
Scope: Fill in a list of permissions you will require from the users of your skill.
Access Token URI: this is the URI which will be used for both the access token and the token refresh requests
Client secret: fill in the client secret you have noted down
e. Next, fill in the information under the Publishing Information
Choose the category for your skill
Under Testing Instructions, enter your testing instructions and the account login details for a testing account you’ve created for your landing page- this is necessary for smart home API skills.
Next, choose your countries & regions
4. Testing your skill
So the skill’s finally been created, and it should now undergo the testing process before it officially goes live. Amazon’s recently made this even easier by releasing the beta test for your skill function.
a. If you have already preexisting amazon accounts, enter them to use for the testing. If not, register for an Amazon account in the respective country your skill will be launched in to use for the testing. You may register for the accounts here: amazon.com for a US account, amazon.co.uk for a UK account & amazon.de for a German account.
b. After you’ve created your accounts, be sure to specify your country settings within the account for your Amazon devices (under Content & Devices)
c. You may now use your testing accounts on the respective Alexa sites: alexa.amazon.com for US, alexa.amazon.co.uk for UK and alexa.amazon.de for Germany.
d. You may also use the Alexa skill testing tool linked here: https://echosim.io/
That’s it, and with this you should receive this “skill is live” email in your inbox very soon!
For clarity’s sake we’ve left the other potential pitfalls for a separate post, which you can find here.
If you’ve any questions, comments or feedback for us, feel free to holler @wisqosmart on twitter and facebook- we’ll be happy to help!