Overview

8 Directing conversation flow

Voice interactions benefit from proactive guidance because, unlike visual UIs, they lack persistent navigation and impose no natural limits on input. This chapter explains how to steer conversations with suggestive prompts, constrained choices, and incremental information gathering so users provide responses the system can reliably handle. It emphasizes using dialog to break complex tasks into smaller steps, confirming only when necessary, and “training” users with consistent, preferred terminology and example phrases. The goal is a guided path that reduces ambiguity while preserving a natural, conversational feel.

Alexa’s dialog interface provides a structured way to manage this flow by defining required slots, when and how to elicit them, and when to confirm either individual slots or the full intent. Developers configure slot samples and prompt variations, order slot elicitation for natural progression, and decide whether Alexa, the fulfillment code, or both coordinate the steps via dialogState and delegation. Prompts can implicitly acknowledge prior inputs, employ discourse markers to convey progress, and include dynamic values. Fulfillment can seed defaults, transform values (for example, making times sound natural), override slot values before confirmation, and occasionally take control to offer explicit choices (such as enumerating available showtimes) to reduce user effort and errors.

Robust error handling underpins a smooth experience. The chapter distinguishes user-caused and system-caused errors and recommends graceful recovery without blame, escalating guidance when users repeat mistakes, and clear pathways to correct misunderstandings. It covers denying intent confirmation and adapting responses accordingly, using Unhandled to reorient users, narrowing possible inputs and leveraging entity resolution, and accommodating gaps like “I don’t know” by shifting to answerable questions. The overarching principles are to confirm only high-risk actions, be forgiving and reversible, guide with concise prompts that get more specific as needed, and combine platform-driven dialogs with fulfillment logic to keep users on track.

Figure 8.1. Flow of data in the dialog model
dialog skill flow 2
Figure 8.2. The states of a dialog
dialog fulfillment flow
Figure 8.3. The fulfillment flow between user, Alexa, and fulfillment
dialog fulfillment flow
Figure 8.4. Guidance becomes more specific as the user makes errors
escalating assistance

 Summary

  • The limitations of voice-first necessitate adding bumpers and constraints to the VUI, including using leading questions, limiting possible inputs, and chunking information gathering.
  • The dialog model for Alexa allows developers to hand control for slot elicitation, slot confirmation, and intent confirmation to Alexa, then responding once the dialog is finished.
  • Errors should be handled smoothly, by re-orienting the user toward what is possible.
  • Error responses can be escalated to give users the right amount of information to proceed without bogging them down.

FAQ

Why do voice apps need to actively direct conversation flow?Because voice has no visible menus or constrained input, users can easily get lost. Guiding with suggestive prompts and limited choices helps users provide responses your skill can handle, reducing confusion and error.
What is the Alexa dialog interface and when should I use it?The dialog interface is a model that defines required slots, how to ask for (elicit) them, and when/how to confirm slots or the overall intent. Use it when you need to gather multiple pieces of information over several turns (for example, movie, theater, time, number of tickets).
What do slot elicitation, slot confirmation, and intent confirmation each do?- Slot elicitation: asks for a missing slot value (e.g., “Which theater?”).
- Slot confirmation: verifies a just-captured slot value (e.g., “Two for 8:40, is that right?”).
- Intent confirmation: summarizes all slot values and asks to proceed (useful for high‑stakes actions like charging money).
How do I declare required slots and prompts in the dialog model?Add a dialog object to the interaction model, list the intent’s slots, set elicitationRequired and/or confirmationRequired, and link each to prompt IDs. Define those prompt IDs and their variations under prompts. Alexa uses these to drive the conversation.
What are slot sample utterances and why include them?They train the NLU for slot-filling turns. Include both terse slot-only samples (“{MovieName}”) and proactive multi-slot samples (“{TicketsNumber} tickets to {MovieName} at {MovieTime}”) so Alexa can capture values even when users provide more than the currently requested slot.
In what order should I elicit slots, and how should prompts be phrased?The order of slots in the dialog model controls elicitation order. Start with the most central info (often the thing users know best, like movie title). Use natural discourse markers (“okay”, “great”), implicitly repeat known slot values to give feedback, and keep terminology consistent to “stealth train” users.
Who should control dialog steps—Alexa or my fulfillment?You can: (1) delegate to Alexa by checking dialogState and calling addDelegateDirective(intent), (2) handle steps yourself by building prompts and using addElicitSlotDirective, or (3) use a hybrid. Delegation is simpler; handling yourself gives more control (e.g., custom choice lists).
How can I present choices (like showtimes) while slot-filling?When movie and theater are known but time isn’t, have fulfillment list available times in a natural way (insert “and” before the last option), reprompt, and addElicitSlotDirective for MovieTime. This guides users toward valid inputs instead of making them guess.
When should I confirm, and how explicit should I be?Confirm judiciously. Use explicit confirmation for error-prone values (times, numbers) and high‑stakes actions (payments), summarizing all slot values. For low‑risk actions, rely on implicit or inferential feedback to keep conversations brisk.
How do I handle errors and intent confirmation denial gracefully?Don’t rely only on dialogState=COMPLETED; also check intent.confirmationStatus (CONFIRMED or DENIED). If denied, prompt to try again instead of proceeding. For broader errors, provide brief, blame‑free guidance, escalate specificity if users repeat errors, and constrain/resolve entities to reduce misunderstandings.

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Voice Applications for Alexa and Google Assistant ebook for free
choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Voice Applications for Alexa and Google Assistant ebook for free
choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Voice Applications for Alexa and Google Assistant ebook for free