This definition will enable your Lambda function to be called by an Alexa Skill kit.
amzn1.ask.skill.xx-xx-xx-xx-xx is an example skill ID for the Alexa Skills kit. You will receive a skill ID once you register and create a skill in the Amazon Developer Console.
After deploying, add your deployed Lambda function ARN associated with this event to the Service Endpoint under Configuration on your Amazon Developer Console.
functions: mySkill: handler: mySkill.handler events: - alexaSkill: amzn1.ask.skill.xx-xx-xx-xx-xx
You can find detailed guides on how to create an Alexa Skill with Serverless using Node.js here as well as in combination with Python here.
Enabling / Disabling
alexaSkill events are enabled by default.
This will create and attach a disabled alexaSkill event for the
mySkill function. If
enabled is set to
true, the attached alexaSkill will execute the function.
functions: mySkill: handler: mySkill.handler events: - alexaSkill: appId: amzn1.ask.skill.xx-xx-xx-xx enabled: false
The previous syntax of this event didn't require a skill ID as parameter, but according to Amazon's documentation you should restrict your lambda function to be executed only by your skill.
Omitting the skill id will make your Lambda function publicly available, which will allow any other skill developer to invoke it.
(This is important, as opposed to custom HTTPS endpoints, there's no way to validate the request was sent by your skill.)