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

Complete the following steps to add Alexa Conversations to an existing skill.

  1. Enable interfaces.
  2. Check the interaction model.
  3. Create and annotate dialogs.
  4. Review common errors before you build the skill model.
  5. Build the skill model.
  6. Update skill code.
  7. Test the skill.
  8. 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

  1. Log in to the developer console, and then navigate to your Alexa Conversations skill.
  2. In the left pane, click Interfaces.
  3. In the interface list, enable Alexa Presentation Language.
  4. 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

  1. On the left, expand Interaction Model, and then click Intents.
  2. Ensure that AMAZON.FallbackIntent is in the list of intents.
  3. 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

  1. 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.
  2. Next to Create custom intent, enter an intent name such as DummyIntent, and then click Create custom intent.
  3. In the Sample utterances section, enter some text such as This is a dummy intent, and then press enter.
  4. 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.

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.

When you're ready to test your skill, you can use the Alexa Simulator in the developer console. For details, see Test Your Skill. For details about what to test, see Certification Requirements.

Step 8: Certify the skill

Submit your skill for certification. For details, see Test and Submit Your Skill for Certification.