Steps to Add Alexa Conversations to an Existing Skill
If you built a custom skill that uses intent-based dialog management features, you can adapt the skill to use Alexa Conversations as the dialog manager.
Without deleting any of your existing skill configuration, you configure your skill for Alexa Conversations, update your intent handler skill code to hand off dialog management to Alexa Conversations, and then build the model as you usually do. The build process then builds the Alexa Conversations dialog management model in addition to the interaction model that your skill previously used.
If you only want to learn about how to adapt your skill code, see Hand off Dialog Management to and from Alexa Conversations.
Alexa Conversations is best suited to published voice developers who have experience with Node.js or Python, and are familiar with the basic constructs of artificial intelligence and machine learning.
- Steps to add Alexa Conversations to an existing skill
- Step 1: Enable interfaces
- Step 2: Check the interaction model
- Step 3: Create and annotate dialogs
- Step 4: Review common errors before you build the skill model
- Step 5: Build the skill model
- Step 6: Update skill code
- Step 7: Test the skill
- Step 8: Certify the skill
- Related topics
Steps to add Alexa Conversations to an existing skill
Complete the following steps to add Alexa Conversations to an existing skill.
- Enable interfaces.
- Check the interaction model.
- Create and annotate dialogs.
- Review common errors before you build the skill model.
- Build the skill model.
- Update skill code.
- Test the skill.
- Certify the skill.
Step 1: Enable interfaces
To use Alexa Conversations, you must configure your skill to support Alexa Presentation Language and Alexa Conversations. The following steps describe how to enable these interfaces by using the developer console.
To enable interfaces for Alexa Conversations
- Log in to the developer console, and then navigate to your Alexa Conversations skill.
- In the left pane, click Interfaces.
- In the interface list, enable Alexa Presentation Language.
- Enable Alexa Conversations.
Step 2: Check the interaction model
In this step, you do the following:
- Make sure that the interaction model includes the fallback intent. Alexa Conversations needs this intent for routing purposes.
- Make sure that your skill has at least one custom intent with at least one sample utterance. The intent doesn't need to do anything.
To check for the fallback intent
- On the left, expand Interaction Model, and then click Intents.
- Ensure that AMAZON.FallbackIntent is in the list of intents.
- If AMAZON.FallbackIntent is not present, click Add Intent, click Use an existing intent from Alexa's built-in library, and then use the search box to search for and add the AMAZON.FallbackIntent.
To check for a custom intent
- Continuing from the previous step, review the list of intents to find at least one intent that doesn't start with AMAZON. If there isn't one, click Add Intent and then continue to the next step.
- Next to Create custom intent, enter an intent name such as
DummyIntent, and then click Create custom intent.
- In the Sample utterances section, enter some text such as
This is a dummy intent, and then press enter.
- At the top, click Save.
Step 3: Create and annotate dialogs
This step is the majority of the work that you do to create a skill that uses Alexa Conversations. You can do all this work in the developer console.
You first enter dialogs that are typical conversations between the user and Alexa during the course of your skill. Each dialog consists of turns between your user and Alexa (that is, a user utterance followed by an Alexa utterance). You then click through each utterance to annotate it with Alexa Conversations elements: user utterance sets, Alexa responses, and API definitions. As a starting point to this process, see Best Practices for Authoring Dialogs in Alexa Conversations.
At the end of the process, you have an annotated dialog.
For best practices and ways to design your workflow, write dialogs, and set user expectations, see Design with Alexa Conversations.
• Save often. Navigating between tabs doesn't always count as activity for extending your developer console session.
• Be sure that you only use one browser tab to edit your model from the Build page. It's ok to have multiple browser tabs open — for example, one tab for the Build page, one tab for the Code page, and one tab for the Test page — but if you have two Build tabs open and you make changes in one of the tabs, you're at risk of losing data.
Step 4: Review common errors before you build the skill model
To proactively cut down on debugging time, review Avoid Common Errors in Your Skill Model for Alexa Conversations before you build your skill model.
Step 5: Build the skill model
You build the skill model for your Alexa Conversations skill by using the developer console. For details, see Build the Skill Model for Your Alexa Conversations Skill.
Step 6: Update skill code
In your skill code, you switch from the intent-based dialog manager to Alexa Conversations and vice versa by sending a
Dialog.DelegateRequest directive. For details, see Hand off Dialog Management to and from Alexa Conversations.
Step 7: Test the skill
Before you test your skill, make sure that your skill has at least one custom intent with at least one utterance in the interaction model. Otherwise, the skill session might end prematurely during runtime.
Step 8: Certify the skill
Submit your skill for certification. For details, see Test and Submit Your Skill for Certification.