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.
Template for a recommended welcome prompt: "Welcome to the skill {skill_name}, this skill will provide you {skill's_functionality}. Please say {prompt} to do {functionality}."
The following examples show a user invoking a skill called "My Skill."
Bad example of a welcome prompt
User: Alexa, Open My Skill
My Skill: What would you like to do?
Good example of a welcome prompt
User: Alexa, Open My Skill
My Skill: Welcome back to My Skill. This skill will provide you info on the best practices, suggestions on how to do things and much more, please say help any time for assistance.
At minimum, a welcome prompt must identify the skill and leave the session open with a prompt.
Bad example of a minimal welcome prompt
In this example, the prompt doesn't identify the skill.
User: Alexa, open My Skill
My Skill: How may I help you?
Good example of a minimal welcome prompt
In this example, the prompt identifies the name of skill, so the user knows that they invoked the skill they wanted.
User: Alexa, open My Skill
My Skill: Welcome to My Skill. How may I help you?
Recommended welcome prompt template for Arabic:
- رحبًا بكم في المهارة }إسم_المهارة{ ، ستوفر لك هذه المهارة{ وظيفة_المهارة } من فضلك قل {prompt} للقيام بـ {وظيفة}.
Recommended welcome prompt template for Dutch:
- Welkom bij de skill {skill_name}, deze skill geeft je {skill's_functionality}. Zeg alsjeblieft {prompt} om {functionality} te doen.
Recommended welcome prompt template for English:
- Welcome to the skill {skill_name}, this skill will provide you {skill's_functionality}. Please say {prompt} to do {functionality}.
Recommended welcome prompt template for French:
- Bienvenue dans la skill {nom_de_la_skill}, cette skill vous offrira {fonctionnalité_de_la_skill}. Veuillez dire {indication} afin de {fonctionnalité}.
Recommended welcome prompt template for German:
- Willkommen beim Skill {skill_name}. Dieser Skill bietet dir {skill’s_functionality}. Bitte sage {prompt}, um {functionity} (auszuführen).
Recommended welcome prompt template for Hindi:
- Skill {skill_name} में आपका स्वागत है, यह Skill आपको {skill’s_functionality} प्रदान करेगा। {functionality} करने के लिए कृपया {Prompt} कहें।
Recommended welcome prompt template for Italian:
- Benvenuto nella skill {nome della skill}, questa skill ti fornirà {funzionalità della skill}. Dì {richiesta} per {funzionalità}.
Recommended welcome prompt template for Japanese:
- {スキルタイトル} スキルにようこそ。このスキルでは{スキルの機能}ができます。{スキルの機能}をするために{発話例}と言ってください。
Recommended welcome prompt template for Portuguese:
- Seja bem-vindo a {nome da skill}, nesta skill você pode {funcionalidade da skill}. Por favor diga {mensagem} para {funcionalidade}.
Recommended welcome prompt template for Spanish:
- Bienvenido a la skill {nombre de la skill}, esta skill te proporcionará {funcionalidad de la skill}. Por favor di {indicación} para {funcionalidad}.
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".'
Example
*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.
Last updated: Apr 30, 2024