serverless-sam
Version:
Serverless framework plugin to export AWS SAM templates for a service
102 lines (76 loc) • 3.57 kB
Markdown
<!--
title: AWS Serverless Alexa Skill example in NodeJS
description: This example demonstrates how to setup your own Alexa skill using AWS Lambdas.
layout: Doc
-->
This example demonstrates how to setup your own Alexa skill using AWS Lambdas.
- Building custom Alexa skills
In the Alexa Developer Portal you can add your own skill. To do so you need to define the available intents and then connect them to a Lambda. You can update and define the Lambda with Serverless.
In order to deploy the endpoint simply run
```bash
serverless deploy
```
The expected result should be similar to:
```bash
Serverless: Packaging service...
Serverless: Uploading CloudFormation file to S3...
Serverless: Uploading service .zip file to S3 (378 B)...
Serverless: Updating Stack...
Serverless: Checking Stack update progress...
.........
Serverless: Stack update finished...
Serverless: Removing old service versions...
Service Information
service: aws-node-alexa-skill-2
stage: dev
region: us-east-1
api keys:
None
endpoints:
None
functions:
aws-node-alexa-skill-2-dev-luckyNumber: arn:aws:lambda:us-east-1:377024778620:function:aws-node-alexa-skill-2-dev-luckyNumber
```
Next we need to setup an Alexa skill. Once you've signed up for the Amazon Developer Platform visit `https://developer.amazon.com/edw/home.html`. There you should see the following screen:

Next click on `Add a new Skill`:

Go through the steps and fill in all the required fields e.g. Intent Schema and Sample Utterances:
Intent Schema
```
{
"intents": [
{
"intent": "GetLuckyNumbers",
"slots": [
{
"name": "UpperLimit",
"type": "AMAZON.NUMBER"
}
]
}
]
}
```
Sample Utterances
```
GetLuckyNumbers what are my lucky numbers
GetLuckyNumbers tell me my lucky numbers
GetLuckyNumbers what are my lucky numbers lower than {UpperLimit}
GetLuckyNumbers tell me my lucky numbers lower than {UpperLimit}
```


Fill in the Lambda ARN which was printed or run `serverless info` to retrieve the ARN again.

Next up visit the test page, fill in the utterance and click on `Ask LuckyNumbers`.




You should have received a response containing the text `Your lucky number is` followed by your lucky number :)
Check out this [Amazon guide](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/overviews/steps-to-build-a-custom-skill#your-skill-is-published-now-what) to learn more about how to submit your skill for publication.