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:
- 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
andmodel
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. You must implement both versions of app-to-app account linking: beginning with your app and beginning with the Alexa app.
- Support proactive management. For details, see How to Proactively Manage Endpoints.
- If your skill connects Alexa to Matter-enabled devices, follow the Skill requirements for Matter-enabled products.
- Receive skill certification and publish in the Alexa Skills Store. For details, see Smart Home and Video Skill Certification 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 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
andproactivelyReported = 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 byAlexa.EndpointHealth
. For details, see Report state in an Alexa.Response. - Respond to
ReportState
directives withStateReport
events. For details, see Report State in a StateReport. - When you respond to a
ReportState
directive for an endpoint that's currently unreachable, returnStateReport
with the value of theconnectivity
property set toUNREACHABLE
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. TheChangeReport
must also include the current value of theconnectivity
property, defined by theAlexa.EndpointHealth
interface. - If the
connectivity
of the device changes fromOK
toUNREACHABLE
or fromUNREACHABLE
toOK
, send theChangeReport
with the updated value of theconnectivity
property forAlexa.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 theChangeReport
. 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 theUniqueID
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 asMATTER
and include theVendorID
andProductID
attributes for the Matter device. If known, include theDiscriminator
attribute.
Also, Amazon recommends that you report themacAddress
andmacNetworkInterface
, if available.Important: If the MAC address changes, you must report the updatedmacAddress
to Alexa proactively by sending anAddOrUpdateReport
event to the Alexa event gateway. - In the
endpoint.friendlyName
property, make sure that the name that your skill reports matches theNodeLabel
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 theNodeLabel
field to reflect the change. After you update theNodeLabel
, send anAddOrUpdateReport
event with the updatedendpoint.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
- Sign in to the Alexa developer console.
- Open the Alexa Developer Contact Us page.
- Under Type, choose Skill Building.
- Under Category, choose Smart Home.
- In the Subject and Description boxes, provide your skill ID, Matter
ProductID
andVendorID
. - 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 theChangeReport
event that you last sent to Alexa at least 97 percent of the time.
Related topics
Last updated: Sep 10, 2024