Alexa Skill

Event definition

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

Note: 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

Backwards compatibility

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.)

Edit this page

Alexa Skill

Event definition

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

Note: 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

Backwards compatibility

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.)