Design the Prompts for Your Skill

A prompt is when the device invites input from the user. This could be in the form of a question or a selection of options for the user to choose from. Prompts drive user engagement, and choosing the right prompts for your skill can drastically improve customer experience. Prompts allow you to control the flow of dialog as well as clearly state what functionality the skill supports. Any example phrase suggested to the user in a prompt must be exactly covered in the interaction model of the skill.

In general, prompts should be specific and clear, e.g. “What’s your first name?” instead of the more general “What’s your name?”, or “Which city are you traveling to?” rather than the more unspecific “Where are you traveling to?”. The latter could lead users to replying with an unanticipated mix of countries, cities, airports, or train stations.

Each type of intent requires its own prompt. For example, the welcome prompt will be different from an error prompt. This article explains the different types of prompts along with best practices and examples.

For more information, visit How to Write Engaging Dialogs for Alexa Skills.

Welcome prompts

One of the most important prompts is the welcome prompt. The welcome prompt gives you the opportunity to introduce the user to the skill and its basic functions. The prompt should include the skill name. You can also remind the user to ask for help in case they get stuck. It is good practice to end the welcome prompt with a suggestion what to say next. Any specific phrases need to be exactly supported by the interaction model of the skill.

Bad Example Hi, What would you like to do?

Good Example Hi, welcome to {skill name}. {skill name} can do (a), (b), and (c). To get started, say (x). For a list of available actions, say "Help." (prompt to first action)

Welcome to the Plan my Trip skill. The plan my trip skill can help you find flights, hotels, and much more. Just say a destination, and we can begin planning your trip. For example “I’d like to go to Spain”. Alternatively, say “Help” to hear more options. Where would you like to travel to?

For more information on welcome prompts, visit Best Practices for the Welcome Experience and Prompting in Alexa Skills.

AMAZON.HelpIntent prompts

The help prompt allows you to list supported phrases the user can say. It should also mention the name of the skill to remind users which skill they are interacting with. As with the welcome prompts, make sure that any example phrases listed are exactly supported by the interaction model, including any custom slot values.

Example In the {skill name} skill you can say (x), (y), and (z). What would you like to do?

In the Plan my Trip skill you can say things like “I want to go to Hawaii” or “I want to find a hotel”. What would you like to do?

For more information on AMAZON.HelpIntent Prompts, visit How to Add Contextual Help to Your Alexa Skill.

AMAZON.FallbackIntent prompts

The AMAZON.FallbackIntent is used to catch phrases that the skill doesn’t currently support, or phrases that are not directed at the skill. For the best customer experience, the AMAZON.FallbackIntent prompt should make the user aware that the skill does not currently support the phrase they are using and suggest phrases that work instead. If users make requests not targeted towards the skill, the prompt can also remind them how to exit the skill.

Example The user asks to play music whilst inside the Plan my Trip skill. Prompt: The {skill name} skill cannot help you with that request. You can say (x), (y), or (z), or ask for help. If you want to exit the skill, say "Stop" or "Exit."

The Plan my Trip skill cannot help you with that request. You can say things like “I want to go to Hawaii” or “I want to find a hotel”. If you want to exit the skill, say “Stop” or “Exit”.

Handling errors gracefully with prompts

If the user provides unexpected or incorrect input in response to a prompt, the prompt should guide the user back to the functionality that the skill provides by being re-prompted. For example, if the welcome prompt states "Welcome to Travel Planner. What would you like to do?", and the user states "book a flight":

DO include a response like "I'm sorry, Travel Planner can't do this yet. Travel Planner can give you details on routes to different locations or give you travel updates. What would you like to do?" and

DO NOT write a prompt like "I'm sorry, I didn't understand that. Please repeat."

A good error prompt reminds users that they are in the skill, guides them back to the supported functions of the skill, and keeps them from being confused about any problems that the skill had.

In general, make sure that all intents defined within the skill have helpful, specific and appropriate prompts associated with them.

Example User: Previous Prompt: My Radio Player is a live radio skill. I cannot go back to songs you heard before.

For more information on re-prompting, visit Best Practices for the Welcome Experience and Prompting in Alexa Skills.

How to implement menu-style prompts

Open ended questions can be answered in a multitude of different and sometimes unpredictable ways. To ensure a successful interaction, the prompts should ask specific questions or provide a list of options to the user.

For example, a user might say "Alexa, open Travel Planner and give me the route to New York". If the prompt just asks the user, "How will you be traveling?", there's a whole multitude of ways the user could answer. If you rephrase the prompt to say "How will you be traveling: by plane, train, car, or bus?", this makes the possible inputs clearly apparent to the user. Ensure that the values the prompt suggests are exactly covered in the slot values, along with any potential synonyms (e.g. 'airplane' as a synonym for 'plane').

For more information on Menu-Style Prompts, visit Guiding Users with Successful Alexa Prompts for Custom Slots and How to Write Engaging Dialogs for Alexa Skills.

Dialog management prompts

Dialog management tools help control the flow of the dialog. These tools include:

  • Required Slots - Required slots prompt the user for data required to complete a request. For instance, a 'PlanMyTrip' intent would require, at a minimum, the starting city {fromCity}, destination city {toCity}, and date {date} to save trip details to a list. Slots that contain information that is crucial to processing requests should be identified early on, along with prompts from the skill to ask for this information if it is not provided by the user.

    Example Which airport are you traveling from? Which city would you like to visit? What date would you like to travel?

    For more information on required slots, visit Identify Required Slots & Prompts.

  • Slot Confirmation - If a slot requires confirmation, your skill needs to ask the user to confirm the slot value with "yes" or "no", and you can define prompts to get this information. However, while you can confirm each slot you've collected from the customer during the conversation, it can add more steps to the interaction. You should confirm things when a mistake could be inconvenient for the customer like performing an action that affects others (sending a text message) or buying something (like booking a flight).

    Example So you want to travel to Berlin, correct?

    For more information on Slot Confirmation, visit Enable Confirmation for a Slot and Build Advanced Alexa Skills: Confirm What Customers Want with Dialog Management.

  • Intent Confirmation - Intent confirmation is common for skills that order products or make reservations. A confirmation prompt typically repeats back to the user all the information previously provided for the user to confirm. Again, use confirmations sparingly to avoid annoying users.

    Example You’re traveling from London to Manchester on the 21st of January 2021. Is that correct?

    For more information on Intent Confirmation, visit Enable Confirmation for an Intent and Build Advanced Alexa Skills: Confirm What Customers Want with Dialog Management.

  • Slot Validation - Slot validation lets you create validation rules for your slot values. Alexa can then check the user's response against these rules and automatically re-prompt the user if the user provides an unacceptable value that is outside the set of rules you've defined.

    For example, if the user was planning a trip and the device misheard the users request as ‘Ha why’ instead of ‘Hawaii’, slot validation would check the destination slot for a matching value and prompt the user when a matching slot value is not found: ‘Ha why is not a listed destination. Say which destination you would like to visit'. Having a slot validation check in place with a strong prompt can prevent incorrect or unintended purchases.

    Example Ha why is not a listed destination. Say a destination you want to visit.

    For more information on Slot Validation, visit Define Slot Validation Rules ; Validate Slot Values and Use New Slot Validation to Simplify ASK Dialog Management.

Intent chaining

Intent chaining allows you to initiate another intent in the response from their skill, as opposed to prompting the user to explicitly choose the next step. With this, you can create natural dialogues by dynamically adjusting conversational flow without needing to prompt the user to invoke specific intents. It provides the ability to start a first time user setup dialog when a user launches a skill for the first time, or to scale a trip planning dialog based on whether or not the user wants to include a rental car. For example, in a flight booking skill where the user has already provided the destination and departure dates, ChooseSeatIntent can be invoked automatically if you determine that the airline allows a user to choose their seat without having to prompt the user in a way such as 'Say "I want to choose my seat".'

*User: Plan my trip
Skill: Where would you like to travel from?
User: London Stansted
Skill: Where are you traveling to?
User: Paris
Skill: Is it a one way trip or return?
User: Return
Skill: Would you like to choose a seat?
User: No
Skill: What date are you leaving?
User: 10th of May
Skill: When are you returning?
User: 17th of May
Skill: Would you like a car rental?
User: yes

For more information on Intent Chaining, visit Use Intent Chaining to Enter Dialog Management from a Different Intent and Change the intent or update slot values during the dialog.

How to use prompts within quiz skills

If supported phrasing is restricted in a quiz skill, be sure to inform the user which phrasing should be used to ensure the best customer experience. For example, if the interaction model only supports the user answering multiple choice questions with A, B, C, or D or 1, 2, 3, or 4, the prompts from the quiz skill should indicate this to avoid the user trying to use unsupported phrasing.

Example Please only answer the question with A, B, C, or D.

How to set up stop prompts for success

The stop prompt should clearly indicate the user is exiting the skill. You might use this opportunity to suggest other skills that you created that the user might like. Don't recommend skills created by a different developer, and don't use the default Alexa voice. Use the ‘Polly’ voice for skill recommendations. See the Policy Guidelines.

Example Thanks for using the {skill name} skill. You should check out some of our other skills {skill name 2} and {skill name 3}. See you next time.