With Dialog Management you can set prompts and confirmations in the Developer Console, then delegate the slot collection and status tracking to Alexa. This approach is easy to setup, but not flexible enough to create custom or complex dialogs.

For more customization and complexity, we can direct the conversation programmatically in our Lambda function instead of delegating everything to Alexa. This approach offers us more flexibility and control over the dialog.

We may need this to tailor our prompts to certain conditions, or to have more control over Alexa’s interaction with the user. For example: our skill must check availability of a request before responding, or it uses complex conditions like requiring either city and state or zip code.

In this lesson you will learn how to handle these custom scenarios in Lambda:

  • change the slot elicitation prompt based on the available options using the :elicitSlot directive
  • deliver a specific confirmation prompt for each slot value using the :confirmSlot directive
  • personalize the intent confirmation message using the :confirmIntent directive


Read through the conversation on the right. We’ll be using this throughout the lesson.

Take this course for free

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?