Works with Alexa Skill Requirements

If your product connects to Alexa through an Alexa skill, your skill must meet the following requirements to obtain Works with Alexa (WWA) certification. Before you submit your product for WWA certification, your skill must receive skill certification.

For details about smart home skills, see Understand Smart Home Skills.

Mobile app requirements

If your device has a mobile app for setup, you must implement account linking from your app to the Alexa app. Your app must support both iOS and Android. For details, see App-to-App Account Linking.

General skill requirements

Your smart home skill must use the smart home model and include code in an AWS Lambda function to provide communication between Alexa and your product. For details, see Steps to Build a Smart Home Skill.

In addition, your smart home skill must meet the following requirements:

  • Target version 3 of the Smart Home API. In device discovery, describe the payload version as 3, and specify each capability listed as version 3. For details, see Alexa.Discovery.
  • You must include manufacturer and model in the additionalAttributes object in the discovery response. For Alexa to identify unique devices, include as many other attributes as you can.
  • Implement the required capability interfaces for the features your product supports. Return all supported capabilities in the discovery response. For details about the required capabilities, see Device requirements.
  • Follow the state and change reporting requirements.
  • To let Alexa know the health of your device, implement EndpointHealth. As a best practice, support as many EndpointHealth properties as you can.
  • Support account linking. For details, see Understand Account Linking.
  • Support proactive management. For details, see How to Proactively Manage Endpoints.
  • Receive skill certification and publish in the Alexa skill store. For details, see Smart Home Skill Publishing Guide.

State and change reporting requirements

Reporting the state of your product enables Alexa to accurately reflect the status of smart home devices in the Alexa app. For details about state and change reporting, see Understand State and Change Reporting and Send Events to the Event Gateway.

Your skill must implement state and change reporting as follows:

  • Mark all capability properties as retrievable and proactivelyReported in your discovery response. For details, see Alexa.Discovery.
  • Always report the state of all capability properties in the context of an Alexa.Response event when you respond to a control directive, including properties defined by EndpointHealth. For details, see Report state in an Alexa.Response.
  • Respond to ReportState directives with StateReport events. For details, see Report State in a StateReport.
  • Proactively report the state of your device to Alexa by sending ChangeReport events when the device state changes for any reason. For details, see Report State in a ChangeReport.
  • When the state of a reported property changes, you must send a ChangeReport with the new property value within three seconds of the state change. The ChangeReport must also include the current value of the connectivity property, defined by the Alexa.EndpointHealth interface.
  • If the connectivity of the device changes to OK, send the report in three seconds or less.
  • If a ChangeReport event fails with HTTP errors 503, 429, or 401, or the message times out, try to resend the ChangeReport. When you resend, do so at least two more times with a delay of no more than 15-second intervals between each try. For details, see event responses.

Testing requirements

Enable your skill for testing in the Alexa developer portal and test it thoroughly with your device, an Alexa-enabled device, and the Alexa app. Your skill must respond quickly and handle error conditions correctly to pass the WWA certification process. For details, see Debug Your Smart Home Skill. To test and debug device state in the developer console, see View Device State.

Recommended performance targets

To provide the best smart home experience for the customer, Amazon recommends that your Alexa skill meets and maintains the following operational performance targets:

  • Latency – After Alexa sends a request to your skill, Alexa must receive a response within 1000 milliseconds 90 percent of the time (P90), and within 800 milliseconds 50 percent of the time (P50).
  • Accuracy rate – The response to a ReportState directive must match the ChangeReport event that you last sent to Alexa at least 97 percent of the time.