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 both versions of app-to-app account linking, starting your app and starting from the Alexa app. For more details, see Set up App-to-App Account Linking for Your Skill. In addition, your app must support both iOS and Android.

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:

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 and on Alexa-enabled devices with a screen. For example, the tiles on the Amazon Echo Hub show customers a quick view about the status of their Alexa-connected smart devices. In addition, Alexa uses the current state in Alexa Routines and in response to customer requests for the status of their smart device. The visibility of device state makes reliable and accurate state reporting essential to the user experience.

Your skill must implement state and change reporting as follows:

  • Mark all reportable capability properties as retrievable = true and proactivelyReported = true in your discovery response for each of the interfaces that your skill supports. 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 Alexa.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.
  • When you respond to a ReportState directive for an endpoint that's currently unreachable, return StateReport with the value of the connectivity property set to UNREACHABLE for the Alexa.EndpointHealth interface.
  • Proactively report the state of your device to Alexa by sending ChangeReport events when the state of any reportable property changes for any reason, including a state change that happens because of a directive from Alexa. 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 from OK to UNREACHABLE or from UNREACHABLE to OK, send the ChangeReport with the updated value of the connectivity property for Alexa.EndpointHealth 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.

For more details about state and change reporting, see Understand State and Change Reporting and Send Events to the Event Gateway.

Skill requirements for Matter-enabled products

If your skill connects Matter-enabled devices to Alexa, these devices might connect to Alexa over multiple routes. For example, a customer might have more than one Alexa smart home skill linked to their Alexa account to control the same device, and that account can have a local Matter connection to the same device. Your skill must provide device identification information so that Alexa can represent these skill-reported and Matter-reported endpoints to the customer as a single device, and not three different devices. Here, a Matter-reported endpoint can be a native Matter device that connects directly to the Matter fabric or a non-Matter device exposed as a bridged device through a Matter Bridge.

If your skill connects Matter-enabled devices to Alexa, either directly or by a Matter Bridge, you must report the following Matter attributes to Alexa in the Discover.Response and AddOrUpdateReport events from your skill:

  • Populate the endpoint.additionalAttributes.customIdentifier property with the value of the UniqueID attribute of the Basic Cluster for native Matter devices or the Bridged Basic Cluster for Matter Bridged devices.
  • In the endpoint.connections array, report the connection type as MATTER and include the VendorID and ProductID attributes for the Matter device. If known, include the Discriminator attribute.
    Also, Amazon recommends that you report the macAddress and macNetworkInterface, if available.
  • In the endpoint.friendlyName property, make sure that the name that your skill reports matches the NodeLabel attribute of the Basic Cluster for native Matter devices or the Bridged Basic Cluster for Matter Bridged devices, unless the attribute isn't set. When populated, if the customer changes the friendly name on your app, make sure that you update the NodeLabel field to reflect the change. After you update the NodeLabel, send an AddOrUpdateReport event with the updated endpoint.friendlyName to the Alexa event gateway proactively.

Your skill-connected Matter device or Matter Bridge can connect locally with Matter to Alexa-enabled devices, including most Echo models. This option enables Alexa to control these devices locally, which can reduce latency and overall load on your skill. To enable Alexa to establish a local connection with your Matter devices or Matter Bridge, implement Alexa.Commissionable in your skill.

In addition, any Matter-enabled products that your company makes must meet the Matter requirements for WWA certification.

Register your skill with Amazon

If your skill reports a Matter device to Alexa, contact Amazon to register your skill.

To contact the Amazon Matter team

  1. Sign in to the Alexa developer console.
  2. Open the Alexa Developer Contact Us page.
  3. Under Type, choose Skill Building.
  4. Under Category, choose Smart Home.
  5. In the Subject and Description boxes, provide your skill ID, Matter ProductID and VendorID.
  6. To send the question, click Submit.

Testing requirements

Enable your skill for testing in the Alexa Developer Console 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.

Was this page helpful?

Last updated: Sep 10, 2024