Note: Sign in to the developer console to build or publish your skill.
During the certification process the certification team runs functional tests to verify that the core functionality of the skill works and the information displayed on the skill detail card in the Alexa app matches the functionality. You enter the skill description on the Distribution page for the skill on the developer console. For more details, see Define Skill Store Details for Publication.
Use the Alexa app for these tests. The Alexa app is available for Fire OS, Android, and iOS. The Alexa app displays your skills under development, as well as all published skills.
To help users understand how to interact with the skill, you include example phrases in your skill metadata that display on the skill detail card in the Alexa app. You select these phrases from your sample utterances. Users usually try the example phrases the first time they interact with the skill. Therefore, make sure that these phrases work well and provide a good user experience.
For more details about defining example phrases, see Example phrases for custom skills.
The following image shows a skill detail card for the Dev Tips skill in the Alexa app
Important: If you use any of the intents from the built-in intent library in your skill, you might want to also use utterances for those intents in your example phrases. For built-in intents, you can use the exact phrase provided in the documentation for the intent. Alternatively, you can use a variation of this phrase. Be sure to fully test the utterance and verify that it works and your skill returns a valid response. If the example utterances you provide fail to return a valid response during certification, your skill will fail certification.
The example phrases you enter on the Distribution page in the Alexa developer console are automatically validated against several criteria. After you enter the phrases, correct any errors or warnings. Then, verify your phrases with the following tests because the console doesn't check for all possible problems.
Test
Expected Results
1.
Open the Alexa app, click Skills and then scroll or search to find your skill.
Review the skill's detail page. Inspect all example phrases listed on the skill's detail card.
You provided at least one example phrase.
The first phrase clearly indicates how to begin using the skill, and includes both the wake word and invocation name. Valid wake words are "Alexa," "Computer," "Echo," or "Amazon."
Example phrases use supported launch words. Valid launch phrases are: open, ask, start, launch, begin, and more.
Example phrases containing the wake word, invocation name, and launch phrase must use a supported format for invoking a skill. For a list of supported formats, see Understand How Users Invoke Custom Skills.
The example phrases don't contain any additional information that's not intended to be spoken by users. The example phrases must function exactly as written.
The invocation name uses title case.
The example phrases don't contain any emoticons, symbols, or grammatical errors.
Each example phrase ends with punctuation.
The example phrases show how to launch the skill. They don't illustrate enabling the skill by voice. For example, the phrase must not be something like "Alexa, enable <skill name>."
The example phrases are all written in the same language used by the Alexa account. For instance, for an account configured with German, the example phrases are written in German.
2.
Review your interaction model in the Alexa developer console. Verify that sample utterances are defined within each intent. Click the intent, review the utterances, and verify that your chosen example phrases match existing sample utterances.
Each example phrase is explicitly included in the sample utterances.
For instance, if you have this example phrase:
Alexa, ask Tide Pooler when is high tide in Seattle.
Then you must also have this utterance:
OneshotTideIntent when is high tide in {City}
Any slots in the example phrase (such as Seattle in this example) must be filled with an example of a valid slot value. In this example, City is a custom slot type, and "Seattle" is a value explicitly defined for the City type.
If you use the utterance defined for a built-in intent as an example phrase, the utterance does not need to be in your sample utterances. However, fully test the utterance and verify that your skill returns a valid response.
3.
Launch the skill using each of the provided example phrases.
Each example phrase renders a contextualized, non-error response.
Skill description and detail page
The skill description teaches users about what your skill can do and how to use it. The description displays in the Alexa app when users view available skills. You define the description on the Distribution page in the developer console.
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills
The short description describes the skill's core functionality.
The short description is written in the same language used by the Alexa account. For instance, when using an account configured with English, the skill short description is displayed in English.
2.
Open the detail card for the skill. Review the skill's full description shown on the skill's detail card.
The skill description captures any prerequisites needed to use the skill (such as additional hardware, software, or accounts).
The description describes the skill's core functionality.
The description does not misrepresent the skill's functionality.
The description is written in the same language used by the Alexa account. For instance, when using an account configured with English, the skill description is displayed in English.
If the skill integrates with Raspberry Pi or a similar device, the description must:
Mention that a Raspberry Pi (or similar device) is required to access core functionality of the skill.
Include links to documentation explaining how to configure the Raspberry Pi with the skill.
The description must not claim that the skill has any anti-virus features.
If the description includes any example phrases, the phrases are worded correctly and include the wake word when the example is intended to show how the user invokes the skill.
3.
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error.
The page referenced by the description opens without error.
The page is displayed in the same language used by the Alexa account. For instance, when using an account configured with English, the page should display in English.
4.
If your skill's detail page includes links to a privacy policy or terms of use, open the links in a browser.
The privacy policy / terms of use links shown on the skill detail page open without error.
The pages are displayed in the same language used by the Alexa account. For instance, when using an account configured with English, the privacy policy and terms of use must be in English.
5.
Review the skill title and ensure it is relevant to the core functionality of the skill.
The title is relevant to the skill description and is not misleading.
The title of the skill is free of typos and grammatical errors.
6.
Review the skill icon and ensure it is not cropped or blank.
The icon is not cropped or blank.
Test
Expected Results
1.
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills
The short description describes the skill's core functionality.
The short description is written in the same language used by the Alexa account. For instance, when using an account configured with Dutch, the skill short description is displayed in Dutch.
For any references to the term "skill" use "skill" and not the literal translation "vaardigheid".
2.
Open the detail card for the skill. Review the skill's full description shown on the skill's detail card.
The skill description captures any prerequisites needed to use the skill (such as additional hardware, software, or accounts).
The description describes the skill's core functionality.
The description does not misrepresent the skill's functionality.
The description is written in the same language used by the Alexa account. For instance, when using an account configured with Dutch, the skill description is displayed in Dutch.
If the skill integrates with Raspberry Pi or a similar device, the description must:
Mention that a Raspberry Pi (or similar device) is required to access core functionality of the skill.
Include links to documentation explaining how to configure the Raspberry Pi with the skill.
The description must not claim that the skill has any anti-virus features.
If the description includes any example phrases, the phrases are worded correctly and include the wake word when the example is intended to show how the user invokes the skill.
3.
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error.
The page referenced by the description opens without error.
The page is displayed in the same language used by the Alexa account. For instance, when using an account configured with Dutch, the page should display in Dutch.
4.
If your skill's detail page includes links to a privacy policy or terms of use, open the links in a browser.
The privacy policy / terms of use links shown on the skill detail page open without error.
The pages are displayed in the same language used by the Alexa account. For instance, when using an account configured with Dutch, the privacy policy and terms of use must be in Dutch.
5.
Review the skill title and ensure it is relevant to the core functionality of the skill.
The title is relevant to the skill description and is not misleading.
The title of the skill is free of typos and grammatical errors.
6.
Review the skill icon and ensure it is not cropped or blank.
The icon is not cropped or blank.
Test
Expected Results
1.
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills
The short description describes the skill's core functionality.
The short description is written in the same language used by the Alexa account. For instance, when using an account configured with English, the skill short description is displayed in English.
2.
Open the detail card for the skill. Review the skill's full description shown on the skill's detail card.
The skill description captures any prerequisites needed to use the skill (such as additional hardware, software, or accounts).
The description describes the skill's core functionality.
The description does not misrepresent the skill's functionality.
The description is written in the same language used by the Alexa account. For instance, when using an account configured with English, the skill description is displayed in English.
If the skill integrates with Raspberry Pi or a similar device, the description must:
Mention that a Raspberry Pi (or similar device) is required to access core functionality of the skill.
Include links to documentation explaining how to configure the Raspberry Pi with the skill.
The description must not claim that the skill has any anti-virus features.
If the description includes any example phrases, the phrases are worded correctly and include the wake word when the example is intended to show how the user invokes the skill.
3.
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error.
The page referenced by the description opens without error.
The page is displayed in the same language used by the Alexa account. For instance, when using an account configured with English, the page should display in English.
4.
If your skill's detail page includes links to a privacy policy or terms of use, open the links in a browser.
The privacy policy / terms of use links shown on the skill detail page open without error.
The pages are displayed in the same language used by the Alexa account. For instance, when using an account configured with English, the privacy policy and terms of use must be in English.
5.
Review the skill title and ensure it is relevant to the core functionality of the skill.
The title is relevant to the skill description and is not misleading.
The title of the skill is free of typos and grammatical errors.
6.
Review the skill icon and ensure it is not cropped or blank.
The icon is not cropped or blank.
Test
Expected Results
1.
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills
The short description describes the skill's core functionality.
The short description is written in the same language used by the Alexa account. For instance, when using an account configured with French, the skill short description is displayed in French.
Any references to the term "skill" use "skill" and not the literal translation "compétence". Note that "skill" is feminine ("la skill" or "une skill").
2.
Open the detail card for the skill. Review the skill's full description shown on the skill's detail card.
The skill description captures any prerequisites needed to use the skill (such as additional hardware, software, or accounts).
The description describes the skill's core functionality.
The description does not misrepresent the skill's functionality.
The description is written in the same language used by the Alexa account. For instance, when using an account configured with French, the skill description is displayed in French.
Any references to the term "skill" use "skill" and not the literal translation "compétence". Note that "skill" is feminine ("la skill" or "une skill").
If the skill integrates with Raspberry Pi or a similar device, the description must:
Mention that a Raspberry Pi (or similar device) is required to access core functionality of the skill.
Include links to documentation explaining how to configure the Raspberry Pi with the skill.
The description must not claim that the skill has any anti-virus features.
If the description includes any example phrases, the phrases are worded correctly and include the wake word when the example is intended to show how the user invokes the skill.
3.
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error.
The page referenced by the description opens without error.
The page is displayed in the same language used by the Alexa account. For instance, when using an account configured with French, the page should display in French.
4.
If your skill's detail page includes links to a privacy policy or terms of use, open the links in a browser.
The privacy policy / terms of use links shown on the skill detail page open without error.
The pages are displayed in the same language used by the Alexa account. For instance, when using an account configured with French, the privacy policy and terms of use must be in French.
5.
Review the skill title and ensure it is relevant to the core functionality of the skill.
The title is relevant to the skill description and is not misleading.
The title of the skill is free of typos and grammatical errors.
6.
Review the skill icon and ensure it is not cropped or blank.
The icon is not cropped or blank.
Test
Expected Results
1.
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills
The short description describes the skill's core functionality.
The short description is written in the same language used by the Alexa account. For instance, when using an account configured with German, the skill short description is displayed in German.
Any references to the term "skill" use "skill" and not the literal translation "fähigkeit". Note that "skill" is feminine ("die skill" or "eine skill").
2.
Open the detail card for the skill. Review the skill's full description shown on the skill's detail card.
The skill description captures any prerequisites needed to use the skill (such as additional hardware, software, or accounts).
The description describes the skill's core functionality.
The description does not misrepresent the skill's functionality.
The description is written in the same language used by the Alexa account. For instance, when using an account configured with German, the skill description is displayed in German.
Any references to the term "skill" use "skill" and not the literal translation "fähigkeit". Note that "skill" is feminine ("die skill" or "eine skill").
If the skill integrates with Raspberry Pi or a similar device, the description must:
Mention that a Raspberry Pi (or similar device) is required to access core functionality of the skill.
Include links to documentation explaining how to configure the Raspberry Pi with the skill.
The description must not claim that the skill has any anti-virus features.
If the description includes any example phrases, the phrases are worded correctly and include the wake word when the example is intended to show how the user invokes the skill.
3.
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error.
The page referenced by the description opens without error.
The page is displayed in the same language used by the Alexa account. For instance, when using an account configured with German, the page should display in German.
4.
If your skill's detail page includes links to a privacy policy or terms of use, open the links in a browser.
The privacy policy / terms of use links shown on the skill detail page open without error.
The pages are displayed in the same language used by the Alexa account. For instance, when using an account configured with German, the privacy policy and terms of use must be in German.
5.
Review the skill title and ensure it is relevant to the core functionality of the skill.
The title is relevant to the skill description and is not misleading.
The title of the skill is free of typos and grammatical errors.
6.
Review the skill icon and ensure it is not cropped or blank.
The icon is not cropped or blank.
Test
Expected Results
1.
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills
The short description describes the skill's core functionality.
The short description is written in the same language used by the Alexa account. For instance, when using an account configured with Hindi, the skill short description is displayed in Hindi.
Any references to the term "skill" use "skill" and not the literal translation "हुनर" or "कौशल".
2.
Open the detail card for the skill. Review the skill's full description shown on the skill's detail card.
The skill description captures any prerequisites needed to use the skill (such as additional hardware, software, or accounts).
The description describes the skill's core functionality.
The description does not misrepresent the skill's functionality.
The description is written in the same language used by the Alexa account. For instance, when using an account configured with Hindi, the skill description is displayed in Hindi.
Any references to the term "skill" use "skill" and not the literal translation "हुनर" or "कौशल".
If the skill integrates with Raspberry Pi or a similar device, the description must:
Mention that a Raspberry Pi (or similar device) is required to access core functionality of the skill.
Include links to documentation explaining how to configure the Raspberry Pi with the skill.
The description must not claim that the skill has any anti-virus features.
If the description includes any example phrases, the phrases are worded correctly and include the wake word when the example is intended to show how the user invokes the skill.
3.
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error.
The page referenced by the description opens without error.
The page is displayed in the same language used by the Alexa account. For instance, when using an account configured with Hindi, the page should display in Hindi.
4.
If your skill's detail page includes links to a privacy policy or terms of use, open the links in a browser.
The privacy policy / terms of use links shown on the skill detail page open without error.
The pages are displayed in the same language used by the Alexa account. For instance, when using an account configured with Hindi, the privacy policy and terms of use must be in Hindi.
5.
Review the skill title and ensure it is relevant to the core functionality of the skill.
The title is relevant to the skill description and is not misleading.
The title of the skill is free of typos and grammatical errors.
6.
Review the skill icon and ensure it is not cropped or blank.
The icon is not cropped or blank.
Test
Expected Results
1.
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills
The short description describes the skill's core functionality.
The short description is written in the same language used by the Alexa account. For instance, when using an account configured with Italian, the skill short description is displayed in Italian.
Any references to the term "skill" use "skill" and not the literal translation "abilità". Note that "skill" is feminine ("la skill" or "una skill").
2.
Open the detail card for the skill. Review the skill's full description shown on the skill's detail card.
The skill description captures any prerequisites needed to use the skill (such as additional hardware, software, or accounts).
The description describes the skill's core functionality.
The description does not misrepresent the skill's functionality.
The description is written in the same language used by the Alexa account. For instance, when using an account configured with Italian, the skill description is displayed in Italian.
Any references to the term "skill" use "skill" and not the literal translation "abilità". Note that "skill" is feminine ("la skill" or "una skill").
If the skill integrates with Raspberry Pi or a similar device, the description must:
Mention that a Raspberry Pi (or similar device) is required to access core functionality of the skill.
Include links to documentation explaining how to configure the Raspberry Pi with the skill.
The description must not claim that the skill has any anti-virus features.
If the description includes any example phrases, the phrases are worded correctly and include the wake word when the example is intended to show how the user invokes the skill.
3.
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error.
The page referenced by the description opens without error.
The page is displayed in the same language used by the Alexa account. For instance, when using an account configured with Italian, the page should display in Italian.
4.
If your skill's detail page includes links to a privacy policy or terms of use, open the links in a browser.
The privacy policy / terms of use links shown on the skill detail page open without error.
The pages are displayed in the same language used by the Alexa account. For instance, when using an account configured with Italian, the privacy policy and terms of use must be in Italian.
5.
Review the skill title and ensure it is relevant to the core functionality of the skill.
The title is relevant to the skill description and is not misleading.
The title of the skill is free of typos and grammatical errors.
6.
Review the skill icon and ensure it is not cropped or blank.
The icon is not cropped or blank.
Test
Expected Results
1.
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills
The short description describes the skill's core functionality.
The short description is written in the same language used by the Alexa account. For instance, when using an account configured with Japanese, the skill short description is displayed in Japanese.
Any references to the term "skill" use "skill" and not the literal translation "スキル", "アプリ".
2.
Open the detail card for the skill. Review the skill's full description shown on the skill's detail card.
The skill description captures any prerequisites needed to use the skill (such as additional hardware, software, or accounts).
The description describes the skill's core functionality.
The description does not misrepresent the skill's functionality.
The description is written in the same language used by the Alexa account. For instance, when using an account configured with Japanese, the skill description is displayed in Japanese.
Any references to the term "skill" use "skill" and not the literal translation "スキル", "アプリ".
If the skill integrates with Raspberry Pi or a similar device, the description must:
Mention that a Raspberry Pi (or similar device) is required to access core functionality of the skill.
Include links to documentation explaining how to configure the Raspberry Pi with the skill.
The description must not claim that the skill has any anti-virus features.
If the description includes any example phrases, the phrases are worded correctly and include the wake word when the example is intended to show how the user invokes the skill.
3.
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error.
The page referenced by the description opens without error.
The page is displayed in the same language used by the Alexa account. For instance, when using an account configured with Japanese, the page should display in Japanese.
4.
If your skill's detail page includes links to a privacy policy or terms of use, open the links in a browser.
The privacy policy / terms of use links shown on the skill detail page open without error.
The pages are displayed in the same language used by the Alexa account. For instance, when using an account configured with Japanese, the privacy policy and terms of use must be in Japanese.
5.
Review the skill title and ensure it is relevant to the core functionality of the skill.
The title is relevant to the skill description and is not misleading.
The title of the skill is free of typos and grammatical errors.
6.
Review the skill icon and ensure it is not cropped or blank.
The icon is not cropped or blank.
Test
Expected Results
1.
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills
The short description describes the skill's core functionality.
The short description is written in the same language used by the Alexa account. For instance, when using an account configured with Portuguese, the skill short description is displayed in Portuguese.
Any references to the term "skill" use "skill" and not the literal translation "habilidade". Note that "skill" is feminine ("a skill" or "uma skill").
2.
Open the detail card for the skill. Review the skill's full description shown on the skill's detail card.
The skill description captures any prerequisites needed to use the skill (such as additional hardware, software, or accounts).
The description describes the skill's core functionality.
The description does not misrepresent the skill's functionality.
The description is written in the same language used by the Alexa account. For instance, when using an account configured with Portuguese, the skill description is displayed in Portuguese.
Any references to the term "skill" use "skill" and not the literal translation "habilidade". Note that "skill" is feminine ("a skill" or "uma skill").
If the skill integrates with Raspberry Pi or a similar device, the description must:
Mention that a Raspberry Pi (or similar device) is required to access core functionality of the skill.
Include links to documentation explaining how to configure the Raspberry Pi with the skill.
The description must not claim that the skill has any anti-virus features.
If the description includes any example phrases, the phrases are worded correctly and include the wake word when the example is intended to show how the user invokes the skill.
3.
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error.
The page referenced by the description opens without error.
The page is displayed in the same language used by the Alexa account. For instance, when using an account configured with Portuguese, the page should display in Portuguese.
4.
If your skill's detail page includes links to a privacy policy or terms of use, open the links in a browser.
The privacy policy / terms of use links shown on the skill detail page open without error.
The pages are displayed in the same language used by the Alexa account. For instance, when using an account configured with Portuguese, the privacy policy and terms of use must be in Portuguese.
5.
Review the skill title and ensure it is relevant to the core functionality of the skill.
The title is relevant to the skill description and is not misleading.
The title of the skill is free of typos and grammatical errors.
6.
Review the skill icon and ensure it is not cropped or blank.
The icon is not cropped or blank.
Test
Expected Results
1.
Open the Alexa app, click Skills and then scroll to your skill. Review the short description shown in the list of skills
The short description describes the skill's core functionality.
The short description is written in the same language used by the Alexa account. For instance, when using an account configured with Spanish, the skill short description is displayed in Spanish.
Any references to the term "skill" use "skill" and not the literal translation "habilidad". Note that "skill" is feminine ("la skill" or "una skill").
2.
Open the detail card for the skill. Review the skill's full description shown on the skill's detail card.
The skill description captures any prerequisites needed to use the skill (such as additional hardware, software, or accounts).
The description describes the skill's core functionality.
The description does not misrepresent the skill's functionality.
The description is written in the same language used by the Alexa account. For instance, when using an account configured with Spanish, the skill description is displayed in Spanish.
Any references to the term "skill" use "skill" and not the literal translation "habilidad". Note that "skill" is feminine ("la skill" or "una skill").
If the skill integrates with Raspberry Pi or a similar device, the description must:
Mention that a Raspberry Pi (or similar device) is required to access core functionality of the skill.
Include links to documentation explaining how to configure the Raspberry Pi with the skill.
The description must not claim that the skill has any anti-virus features.
If the description includes any example phrases, the phrases are worded correctly and include the wake word when the example is intended to show how the user invokes the skill.
3.
If either the short description or full description includes any URLs (such as directing users to more information about the skill), visit the URL in a browser and verify the page opens without error.
The page referenced by the description opens without error.
The page is displayed in the same language used by the Alexa account. For instance, when using an account configured with Spanish, the page should display in Spanish.
4.
If your skill's detail page includes links to a privacy policy or terms of use, open the links in a browser.
The privacy policy / terms of use links shown on the skill detail page open without error.
The pages are displayed in the same language used by the Alexa account. For instance, when using an account configured with Spanish, the privacy policy and terms of use must be in Spanish.
5.
Review the skill title and ensure it is relevant to the core functionality of the skill.
The title is relevant to the skill description and is not misleading.
The title of the skill is free of typos and grammatical errors.
6.
Review the skill icon and ensure it is not cropped or blank.
The icon is not cropped or blank.
Cards
Cards are graphical cards displayed in the Alexa app to describe or enhance the voice interaction. Usually, skills return cards only when responding with information the user requested. Supportive prompts to ask the user for more information don't usually include cards.
Tip: Cards can be a useful tool when developing and debugging a skill, but be sure to remove any extraneous debug-type cards before you submit the skill for certification.
Test
Expected Results
1.
Walk through the skill's functionality, invoking each intent. For each response that includes a card, review the card in the Alexa app. (Open the Alexa app and navigate to the Activity page.)
For each card:
The card title and content are appropriate in the context of the skill's functionality.
The card title and content don't contain any code references or grammatical errors.
Account linking enables your skill to connect the user's account in your system with their Amazon Alexa account. For more details, see Add Account Linking to Your Alexa Skill. If your skill doesn't use account linking, you can skip this test.
In addition, test the account linking flow from the user perspective:
When the user invokes an intent that requires authorization, the skill successfully authenticates and completes the request.
The skill returns the LinkAccount card if a user invokes an intent that requires authorization, but hasn't yet linked their account.
Link the skill with test credentials before you submit
When you submit your skill for certification, automated tests check for common certification issues. To verify that your skill passes these tests, use your Amazon developer account to link your skill with a test account in your other system before you submit:
In your other system, make sure you have a test account to use with your skill. For example, if your skill connects with your "Ride Hailer" service, you need a Ride Hailer test account. Be sure to use a test account for this purpose, as you will need to share the credentials for this account with the certification team.
Log in to the Alexa app with the Amazon developer account you used to create the skill.
Important: You must use your Amazon developer account for this step.
Enable your skill in the Alexa app and start the account linking flow.
Complete the account linking flow by using the test account from step 1. Continuing the earlier example, use your test credentials to link the skill to "Ride Hailer".
Test that the skill is successfully linked to the other service. Your Amazon developer account should now be connected with the test account in the other service.
When you submit your skill, provide the credentials (account and password) for the test account in the Testing Instructions field.
Test
Expected Results
1.
In the developer console, review the TOOLS > Account Linking page for the skill and verify that account linking is configured correctly.
The Do you allow users to create an account or link to an existing account with you? option is enabled.
The Authorization URI is set to the login page for your service.
2.
In the Alexa app, review the detail card for your skill. Verify that the skill description explains that you must log in to the other system to use the skill.
The description clearly explains the steps and information necessary to successfully link the accounts.
3.
Log in to the Alexa app as an Alexa user who hasn't yet enabled the skill, or log in and then disable the skill.
Enable the skill, but don't complete the account linking process, leaving the skill enabled but not linked.
Invoke any intents that do not require authentication and verify that they work.
Invoke the intents that do require authentication and verify that the skill sends the LinkAccount card and an appropriate prompt.
Each intent that does not require authentication works correctly even when accounts aren't linked.
Each intent that does require authentication returns output speech telling the user what to do, and a LinkAccount card. Verify the card in the Alexa app.
4.
Disable the skill or log in to the Alexa app as an Alexa user who hasn't yet enabled the skill.
Enable the skill. After you see the login page for your skill, click all links to verify that they navigate to new and correct pages.
All clickable links on the login page navigate to new pages.
None of the clickable links open JavaScript alerts or popup windows.
5.
Disable the skill or log in to the Alexa app as an Alexa user who hasn't yet enabled the skill.
Enable the skill. After you see the login page for your skill, log in and verify the account linking flow.
The login page for your skill displays correctly.
You can successfully sign in by using an account with the service.
After connecting the accounts, you can successfully invoke each intent that requires authentication.
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes.
The audio playback is audible at volume level 3.
The volume of the audio playback does not vary significantly from normal Alexa text-to-speech. The volume remains consistent while playing for several minutes. For information about normalizing audio loudness, see Normalizing the Loudness of Audio Content.
For the policies regarding the content of the audio, see Policy Requirements.
2.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.PauseIntent (say "وقفي التشغيل مؤقتاً")
AMAZON.ResumeIntent (say "استمري")
The "pause" utterance stops the audio playback.
The "resume" utterance resumes the audio playback.
3.
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio.
Pressing a pause button while audio is playing stops the playback.
Pressing a play button while the audio is stopped resumes the playback.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.CancelIntent (say "إلغاء")
AMAZON.LoopOffIntent (say "انهي التكرار")
AMAZON.LoopOnIntent (say "ابدي التكرار")
AMAZON.NextIntent (say "الجاية")
AMAZON.PreviousIntent (say "ارجع")
AMAZON.RepeatIntent (say "كرّري")
AMAZON.ShuffleOffIntent(say "انهي شفل")
AMAZON.ShuffleOnIntent (say "شفل")
AMAZON.StartOverIntent (say "ابدي مرة ثانية")
AMAZON.StopIntent (say "بطلي")
Each command either does something that makes sense for your skill (such as "الجاية" advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives.
5.
If your skill plays audio that contains a wake word, play that audio on an Alexa device.
If your skill plays audio that contains a wake word, the wake word in the audio might wake up the device. Make sure that your skill's audio does not wake up the device. One way to do this is to make sure that there are no pauses after the wake word.
Test
Expected Results
1.
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes.
The audio playback is audible at volume level 3.
The volume of the audio playback does not vary significantly from normal Alexa text-to-speech. The volume remains consistent while playing for several minutes. For information about normalizing audio loudness, see Normalizing the Loudness of Audio Content.
For the policies regarding the content of the audio, see Policy Requirements.
2.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.PauseIntent (say "pauze")
AMAZON.ResumeIntent (say "hervatten")
The "pauze" utterance stops the audio playback.
The "hervatten" utterance resumes the audio playback.
3.
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio.
Pressing a pause button while audio is playing stops the playback.
Pressing a play button while the audio is stopped resumes the playback.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.CancelIntent (say "annuleer")
AMAZON.LoopOffIntent (say "loop uit")
AMAZON.LoopOnIntent (say "loop aan")
AMAZON.NextIntent (say "volgende")
AMAZON.PreviousIntent (say "vorige")
AMAZON.RepeatIntent (say "herhaal dat")
AMAZON.ShuffleOffIntent(say "shuffle uit")
AMAZON.ShuffleOnIntent (say "shuffle")
AMAZON.StartOverIntent (say "start opnieuw")
AMAZON.StopIntent (say "stop")
Each command either does something that makes sense for your skill (such as "volgende" advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives.
5.
If your skill plays audio that contains a wake word, play that audio on an Alexa device.
If your skill plays audio that contains a wake word, the wake word in the audio might wake up the device. Make sure that your skill's audio does not wake up the device. One way to do this is to make sure that there are no pauses after the wake word.
Test
Expected Results
1.
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes.
The audio playback is audible at volume level 3.
The volume of the audio playback does not vary significantly from normal Alexa text-to-speech. The volume remains consistent while playing for several minutes. For information about normalizing audio loudness, see Normalizing the Loudness of Audio Content.
For the policies regarding the content of the audio, see Policy Requirements.
2.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.PauseIntent (say "pause")
AMAZON.ResumeIntent (say "resume")
The "pause" utterance stops the audio playback.
The "resume" utterance resumes the audio playback.
3.
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio.
Pressing a pause button while audio is playing stops the playback.
Pressing a play button while the audio is stopped resumes the playback.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.CancelIntent (say "cancel")
AMAZON.LoopOffIntent (say "loop off")
AMAZON.LoopOnIntent (say "loop on")
AMAZON.NextIntent (say "next")
AMAZON.PreviousIntent (say "previous")
AMAZON.RepeatIntent (say "repeat that")
AMAZON.ShuffleOffIntent(say "shuffle off")
AMAZON.ShuffleOnIntent (say "shuffle")
AMAZON.StartOverIntent (say "start over")
AMAZON.StopIntent (say "stop")
Each command either does something that makes sense for your skill (such as "next" advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives.
5.
If your skill plays audio that contains a wake word, play that audio on an Alexa device.
If your skill plays audio that contains a wake word, the wake word in the audio might wake up the device. Make sure that your skill's audio does not wake up the device. One way to do this is to make sure that there are no pauses after the wake word.
Test
Expected Results
1.
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes.
The audio playback is audible at volume level 3.
The volume of the audio playback does not vary significantly from normal Alexa text-to-speech. The volume remains consistent while playing for several minutes.
If the audio content includes words or speech, the content is spoken in a language supported by Alexa. The current supported languages are English, French, and German.
2.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.PauseIntent (say "pause" or "pause ça")
AMAZON.ResumeIntent (say "continue" or "reprends")
The "pause" utterance stops the audio playback.
The "resume" utterance resumes the audio playback.
3.
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio.
Pressing a pause button while audio is playing stops the playback.
Pressing a play button while the audio is stopped resumes the playback.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.CancelIntent (say "annule")
AMAZON.LoopOffIntent (say "arrête le mode boucle")
AMAZON.LoopOnIntent (say "mets en boucle")
AMAZON.NextIntent (say "suivant")
AMAZON.PreviousIntent (say "précédent")
AMAZON.RepeatIntent (say "est-ce que tu peux répéter")
AMAZON.ShuffleOffIntent(say "arrête la lecture aléatoire")
AMAZON.ShuffleOnIntent (say "mélanger")
AMAZON.StartOverIntent (say "recommence")
AMAZON.StopIntent (say "arrête")
Each command either does something that makes sense for your skill (such as "next" advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives.
Test
Expected Results
1.
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes.
The audio playback is audible at volume level 3.
The volume of the audio playback does not vary significantly from normal Alexa text-to-speech. The volume remains consistent while playing for several minutes. For information about normalizing audio loudness, see Normalizing the Loudness of Audio Content.
For the policies regarding the content of the audio, see Policy Requirements.
2.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.PauseIntent (say "Pause")
AMAZON.ResumeIntent (say "Fortsetzen")
The "Pause" utterance stops the audio playback.
The "Fortsetzen" utterance resumes the audio playback.
3.
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio.
Pressing a pause button while audio is playing stops the playback.
Pressing a play button while the audio is stopped resumes the playback.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.CancelIntent (say "abbrechen")
AMAZON.LoopOffIntent (say "deaktiviere den Wiederholmodus")
AMAZON.LoopOnIntent (say "aktiviere den Wiederholmodus")
AMAZON.NextIntent (say "nächste")
AMAZON.PreviousIntent (say "vorherige")
AMAZON.RepeatIntent (say "wiederholen")
AMAZON.ShuffleOffIntent(say "deaktiviere die Zufallswiedergabe")
AMAZON.ShuffleOnIntent (say "aktiviere die Zufallswiedergabe")
AMAZON.StartOverIntent (say "beginne von vorne")
AMAZON.StopIntent (say "Stopp")
Each command either does something that makes sense for your skill (such as "nächste" advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives.
Test
Expected Results
1.
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes.
The audio playback is audible at volume level 3.
The volume of the audio playback does not vary significantly from normal Alexa text-to-speech. The volume remains consistent while playing for several minutes. For information about normalizing audio loudness, see Normalizing the Loudness of Audio Content.
For the policies regarding the content of the audio, see Policy Requirements.
2.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.PauseIntent (say "ज़रा रुक")
AMAZON.ResumeIntent (say "फिर से चालू करो")
The "रोक दो" utterance stops the audio playback.
The "फिर से चालू करो" utterance resumes the audio playback.
3.
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio.
Pressing a pause button while audio is playing stops the playback.
Pressing a play button while the audio is stopped resumes the playback.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.CancelIntent (say "रद्द करें")
AMAZON.LoopOffIntent (say "loop बंद")
AMAZON.LoopOnIntent (say "इसको loop कर दो")
AMAZON.NextIntent (say "अगला")
AMAZON.PreviousIntent (say "पिछला")
AMAZON.RepeatIntent (say "क्या कहा आपने")
AMAZON.ShuffleOffIntent(say "shuffle बंद")
AMAZON.ShuffleOnIntent (say "shuffle")
AMAZON.StartOverIntent (say "दुबारा से शुरू करो")
AMAZON.StopIntent (say "इसे बंद करो")
Each command either does something that makes sense for your skill (such as "अगला" advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives.
5.
If your skill plays audio that contains a wake word, play that audio on an Alexa device.
If your skill plays audio that contains a wake word, the wake word in the audio might wake up the device. Make sure that your skill's audio does not wake up the device. One way to do this is to make sure that there are no pauses after the wake word.
Test
Expected Results
1.
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes.
The audio playback is audible at volume level 3.
The volume of the audio playback does not vary significantly from normal Alexa text-to-speech. The volume remains consistent while playing for several minutes.
If the audio content includes words or speech, the content is spoken in a language supported by Alexa. The current supported languages are English, French, and German.
2.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.PauseIntent (say "metti in pausa")
AMAZON.ResumeIntent (say "continua")
The "pause" utterance stops the audio playback.
The "resume" utterance resumes the audio playback.
3.
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio.
Pressing a pause button while audio is playing stops the playback.
Pressing a play button while the audio is stopped resumes the playback.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.CancelIntent (say "annulla")
AMAZON.LoopOffIntent (say "mi puoi disattivare la modalità loop")
AMAZON.LoopOnIntent (say "mi puoi attivare la modalità loop")
AMAZON.NextIntent (say "il prossimo")
AMAZON.PreviousIntent (say "il precedente")
AMAZON.RepeatIntent (say "ripeti")
AMAZON.ShuffleOffIntent(say "mi puoi disattivare la modalità shuffle")
AMAZON.ShuffleOnIntent (say "mi puoi attivare la modalità shuffle")
AMAZON.StartOverIntent (say "ricomincia")
AMAZON.StopIntent (say "basta")
Each command either does something that makes sense for your skill (such as "la prossima" advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives.
Test
Expected Results
1.
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes.
The audio playback is audible at volume level 3.
The volume of the audio playback does not vary significantly from normal Alexa text-to-speech. The volume remains consistent while playing for several minutes. For information about normalizing audio loudness, see Normalizing the Loudness of Audio Content.
For the policies regarding the content of the audio, see Policy Requirements.
2.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.PauseIntent (say "一時停止")
AMAZON.ResumeIntent (say "再開")
The "一時停止" utterance stops the audio playback.
The "再開" utterance resumes the audio playback.
3.
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio.
Pressing a pause button while audio is playing stops the playback.
Pressing a play button while the audio is stopped resumes the playback.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.CancelIntent (say "キャンセル")
AMAZON.LoopOffIntent (say "ループ再生オフ")
AMAZON.LoopOnIntent (say "ループ再生して")
AMAZON.NextIntent (say "次")
AMAZON.PreviousIntent (say "前へ")
AMAZON.RepeatIntent (say "繰り返して")
AMAZON.ShuffleOffIntent(say "シャッフル止めて")
AMAZON.ShuffleOnIntent (say "シャッフル再生して")
AMAZON.StartOverIntent (say "最初から始めて")
AMAZON.StopIntent (say "止めて")
Each command either does something that makes sense for your skill (such as "次" advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives.
Test
Expected Results
1.
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes.
The audio playback is audible at volume level 3.
The volume of the audio playback does not vary significantly from normal Alexa text-to-speech. The volume remains consistent while playing for several minutes. For information about normalizing audio loudness, see Normalizing the Loudness of Audio Content.
For the policies regarding the content of the audio, see Policy Requirements.
2.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.PauseIntent (say "pausar")
AMAZON.ResumeIntent (say "continuar")
The "pause" utterance stops the audio playback.
The "resume" utterance resumes the audio playback.
3.
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio.
Pressing a pause button while audio is playing stops the playback.
Pressing a play button while the audio is stopped resumes the playback.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.CancelIntent (say "cancelar")
AMAZON.LoopOffIntent (say "desativar o loop")
AMAZON.LoopOnIntent (say "ativar o loop")
AMAZON.NextIntent (say "próximo")
AMAZON.PreviousIntent (say "anterior")
AMAZON.RepeatIntent (say "repetir")
AMAZON.ShuffleOffIntent(say "desativar o modo de reprodução aleatória")
AMAZON.ShuffleOnIntent (say "ativar o modo de reprodução aleatória")
AMAZON.StartOverIntent (say "recomeçar")
AMAZON.StopIntent (say "parar")
Each command either does something that makes sense for your skill (such as "next" advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives.
Test
Expected Results
1.
Set the volume on the device to 3 and invoke an intent that streams the audio. Listen for several minutes.
The audio playback is audible at volume level 3.
The volume of the audio playback does not vary significantly from normal Alexa text-to-speech. The volume remains consistent while playing for several minutes.
If the audio content includes words or speech, the content is spoken in a language supported by Alexa. The current supported languages are English, French, and German.
2.
While listening to the audio playback, invoke the following built-in intents:
AMAZON.PauseIntent (say "pausa")
AMAZON.ResumeIntent (say "reanuda")
The "pause" utterance stops the audio playback.
The "resume" utterance resumes the audio playback.
3.
While listening to the audio playback, use a remote control or other hardware device to pause and resume the audio.
Pressing a pause button while audio is playing stops the playback.
Pressing a play button while the audio is stopped resumes the playback.
AMAZON.ShuffleOffIntent (say "apaga el modo aleatorio")
AMAZON.ShuffleOnIntent (say "activa el modo aleatorio")
AMAZON.StartOverIntent (say "empieza de nuevo")
AMAZON.StopIntent (say "para")
Each command either does something that makes sense for your skill (such as "next" advancing to the next track in a playlist) or is handled gracefully. No unexpected errors occur. See Configuring Your Skill for the AudioPlayer Directives.
Screen display and navigation
Complete these tests if your skill uses Alexa Presentation Language or the deprecated Display interface to display content on Alexa-enabled devices with screens. Pay particular attention to the interaction of voice, tap, audio, and video in your skill.
Test
Expected Results
1.
Open the skill by using an Alexa-enabled device with a screen and interact with the skill for several minutes, paying particular attention to the user experience.
All GUI content, whether in the form of static templates or video, must load within 10 seconds of the triggering voice or tap input.
GUI content (images and video) shouldn't look stretched, grainy or pixelated.
The GUI content must not contradict the voice content (whether text-to-speech or audio) that's delivered alongside the GUI content. The GUI content doesn't need to match exactly, but must complement the voice content.
All GUI content should be relevant to the triggering voice input or tap input.
GUI content shouldn't contain more than three actions per screen, if the screen isn't showing a list.
All actions present on the GUI should also be accessible by voice requests, meaning that you implemented these actions as intents and have corresponding sample utterances in the language model.
2.
For Echo Show or Fire TV Cube, place the device at a 7-foot or 2-meter distance from the viewer. Interact with the skill for several minutes.
All GUI content should be readable from a 7-foot or 2-meter distance for Echo Show or Fire TV Cube.
3.
Exit the skill by using "stop" or "cancel" by voice with the same tap screen inputs on the screen.
After the skill exits, the tap inputs should no longer be displayed.
Video playback
In addition to the screen display requirements, some of which also apply to video, also complete these tests if your skill uses the VideoApp interface to stream video.
Test
Expected Results
1.
Set the volume on the device to 3 and invoke an intent that streams the video. Listen for several minutes.
The video playback is audible at volume level 3.
The volume of the audio playback doesn't vary significantly from normal Alexa text-to-speech. The volume remains consistent during audio played for several minutes.
If the audio content includes words or speech, the content is spoken in a language supported by Alexa. The current supported languages are
Arabic (SA), Dutch (NL), English (AU), English (CA), English (IN), English (UK), English (US), French (CA), French (FR), German (DE), Hindi (IN), Italian (IT), Japanese (JP), Portuguese (BR), Spanish (ES), Spanish (MX), and Spanish (US).
Buffering during video playback shouldn't exceed 10 percent of the total video playback time. For example, for every minute of video playback, buffering must not exceed six seconds.
During video playback, the audio should be in sync with the video.
The video is clearly visible and not grainy, pixelated, or distorted.
2.
During video playback, use the progress bar on the screen to navigate forward and backward.
Verify that the video resumes without error.
Duplicates of samples or templates
Make sure your skill isn't an exact duplicate of any of the Amazon-provided samples or templates. You can use the samples and templates as a starting point for your skill, but the finished skill must be different.
For example, if you use the Trivia sample to create a trivia skill, your skill must have:
Complete these tests if your skill uses the Device Settings REST API to obtain the location of the user's device.
Test
Expected Results
1.
Enable the skill and grant the skill the requested permissions for the device location. Test the functionality that's dependent on the device location and note the responses.
All skill responses are appropriate with regards to the device location. For example, a weather skill that uses the device location must give weather information for the city specified in the device location unless the user provides a different location in an utterance.
If the skill communicates the device location back to the user, it matches the specified device location.
2.
Enable the skill, but don't grant the device location permissions.
Invoke any intents that do not require the location and verify that they work.
Invoke the intents that do require the location and verify the response.
Each intent that does not require the device location works correctly even the user hasn't granted the permissions.
Each intent that does require the device location returns output speech telling the user to grant the permissions, and a permissions card. Verify the card in the Alexa app.
3.
If applicable, change the device location to a location or address that's not supported by the skill, and then enable the skill and grant permissions. Invoke the intents that require the device location.
For example, if your skill provides food delivery in a particular city, set the device location to an address far outside your delivery area, and then invoke the intents to place a delivery order.
The skill informs the user that the skill doesn't support their location. No errors are returned.
Test skills
Alexa skills submitted for certification should have complete functionality and shouldn't be test, trial, sample, or otherwise appear to be under development. The information in the distribution section of the developer console shouldn't indicate that the skill is a trial or sample skill. For details about testing skills, see Test Your Skill.
If your skill doesn't use the Customer Profile API, disable this permission.
To turn off the customer contact permissions in the Alexa developer console
Edit your skill in the developer console.
Navigate to the Build > Permissions page
Disable each of the following:
Customer Email Address
Customer Phone Number
Customer Name
Test
Expected Results
1.
Enable the skill and grant the skill the requested permissions like customer name, customer email address, and customer phone number, as applicable for your skill. Test the functionality that's dependent on the customer contact information.
Verify all skill responses are appropriate with regards to the customer contact information permission. For example, the weather information requested was sent to the correct email address, based on the permissions that the skill requires.
2.
Enable the skill, but don't grant the customer contact information permissions.
Invoke any intents that don't require the customer contact permission and verify that they work.
Invoke the intents that do require the customer contact information and verify the response.
Verify the following items:
Each intent that doesn't require the customer contact permission works correctly even when the user hasn't granted the permissions.
Each intent that does require the customer contact permission returns output speech telling the user to grant the permissions, and a permissions card. Verify the card in the Alexa app.
Change the customer contact information, and then enable the skill and grant permissions. Invoke the intents that require the customer contact permission.
All skill responses are appropriate with regards to the updated customer contact information and don't return any error messages.