Conversation design patterns

In this section you will find best practices and samples of common patterns used skill dialogs. These building blocks of an Alexa conversation include:

I. Lists
II. Gathering feedback
III. Handling errors

line-break

Lists

Key takeaways

Customers don’t have much time to listen to, understand, and respond to prompts that include a list of options. There are a few strategies you can follow to avoid overwhelming your listener with such information.

 

Need quick advice?

View the Checklist for designing lists for tips to help customers navigate your skill’s lists with ease.

 

In this section:

line-break

Often your customer will need to hear a list of options, whether they’ve just launched your skill, performed a search, or are browsing a library of content. Listen to the following examples of lists customers might encounter on Alexa.

 

Navigating a menu:

 

Customer: Alexa, open Planet Facts

Alexa: Hi there. Welcome to Planet facts, with facts, trivia, and jokes that are out of this world. I can tell you about Mercury, Venus, Earth, Mars, Jupiter, and more. Which do you want to learn about?

Customer: More

Alexa: I can also tell you about Saturn, Uranus, Neptune, and Mercury. Which would you like?

Performing a search:  

 

Alexa: That’s all I have about Mercury. I can tell you about any of the other planets in the solar system. Which would you like?

Customer: How about Earth’s neighbors?

Alexa: Would you like Venus, or Mars.

Browsing content:

 

Alexa: I can tell you about Mercury, Venus, Earth, Mars, Jupiter, and more. Which do you want to learn about?

Customer: Help

Alexa: You’re playing Planet Facts. My facts, trivia, and jokes are out of this world. You can ask me for a fact, to play trivia, or tell a joke. Which planet do you want to learn about?

Customer: Play trivia

Alexa: Ok. Trivia for which planet?

Playing trivia:

 

Alexa: Ok. Venus is the hottest planet in our solar system. True or False?

Customer: …

Alexa: I didn’t catch that. Venus is the hottest planet in our solar system.. Do you think that’s true, or false?

Customer: False!

Alexa: This one is true! Even though it’s not the closest planet to the sun (that’s Mercury), Venus is still the hottest planet in our solar system. Temperatures can reach 870 degrees. That’s hot enough to melt lead! Want another?

After they’ve heard a list, customers only have about 8 seconds to understand their options, make a decision, and state it clearly back to Alexa. Keep in mind that lists are written for customers to hear, rather than for customers to read. Follow a few best practices so the listener can make their selections quickly and with confidence.

 

Checklist for designing lists:

Will your skill surface lists to your customer? If so, check your script to see if it’s easy for your customers to understand their options and make quick decisions.

▢  Include a preamble that informs the customer of context such as number of items in the list, conveys understanding of what the customer said, or states an assumption that was made

▢  Surface options in order of contextual relevance wherever possible

▢  Paginate long lists. Indicate the pagination to the customer in some way verbally & visually

▢  Differentiate responses that include a list for devices with and without screens

▢  Create verbally distinct labels for list items

▢  Include a short (350-400ms) break between list items

▢  Support common commands like “next” “more” “go back” and “repeat”

▢  Allow customers to select options using ordinals (“1, 2, 3” or “A, B, C …”)

▢  Allow customers to select options using natural language, including synonyms and partial titles

▢  Prompt customers for their choice after reading their options

▢  Follow up to disambiguate if the customer makes a selection that could indicate more than one of the options

Dos & Don'ts

Do: Include a preamble to your list. The preamble may inform the customer of the number of items in the list, repeat what they asked for, or clearly state an assumption that was made. Do convey what the system understood as well as any constraints applied to the results.

 

Customer: What trivia packs do you have?

Alexa: I have lots of trivia packs. You might like “All about Pluto,” a trivia pack of 100 more questions about the defunct planet, and more. What would you like?

Don’t: Just read out the options

 

Customer: What trivia packs do you have?

Alexa: I found “All about Pluto,” and “Famous astronauts,” and “Lunar launches,” and “Super satellites,” and “Space mega pack,” and “Space discoveries,” and –

Customer: Alexa, stop!

Do: Surface options in order of contextual relevance and most imporant. What is your customer most likely to want at that time? Which is most important?

 

Customer: Alexa, start Seattle Super Trivia

Alexa: Welcome back to Seattle Super Trivia. You can play today’s challenge, play one of your trivia packs, and more. What would you like?

Customer: What else can I do?

Alexa: You can also buy game cheats, or buy trivia packs. What do you want to do?

Don’t: Be tempted to include all possible options in one list. (See FAQs below for guidance on the optimal number of items in a voice list)

 

Customer: Alexa, start Seattle Super Trivia

Alexa: Welcome back to Seattle Super Trivia. You can play today’s challenge, play one of your trivia packs, or buy items like game cheats and trivia packs. What would you like to do?

Do: Paginate long lists and indicate the pagination to the customer

 

Alexa: Alright. Earth! Home sweet home. Did you know your globe is wrong, and Earth isn’t a perfect sphere? Gravitational forces make it more oblong-shaped. Want to hear a joke about Earth?

Customer: No

Alexa: No problem. Want to play a trivia question about Earth?

Customer: No

Alexa: “Ok. I can tell you about Mercury, Venus, Earth, Mars, Jupiter, and more. Which do you want to learn about?”

Customer: More

Alexa: I can also tell you about Saturn, Uranus, Neptune, and Mercury. Which would you like?

Do: Differentiate your response for devices with and without screens. You do not need to read as much of, or even any of, the list when customers are using a device with a screen, and when their request includes “show me.”

This VUI read to the customer without a screen …

Customer: Alexa, open Planet Facts

<audio src="soundbank://soundlibrary/video_tunes/video_tunes_02"/>

Alexa: Hi there. Welcome to Planet Facts. I have facts, trivia, and jokes that are out of this world. I can tell you about Mercury, Venus, Earth, Mars, Jupiter, and more. Which do you want to learn about?

Customer: I want to play trivia

Alexa: Ok. Trivia for which planet?

Could sound like this to the customer when the list and additional detail is being displayed on screen

 

Customer: Alexa, open Planet Facts

<audio src="soundbank://soundlibrary/video_tunes/video_tunes_02"/>

Alexa: Hi there. Welcome to Planet facts. My facts, trivia, and jokes are out of this world. What planet do you want to learn about?

Customer: I want to play trivia

Alexa: Ok. Trivia for which planet?

Do: Create verbally distinct names for list items. Offer simple, brief options

 

Alexa: “Welcome back to Live Wire. You can listen to News, Best of Live Wire, or Podcasts. Which would you like?

Don’t: Create a tongue twister of options

 

Alexa: “Welcome to Live Wire. where you can hear Live Wire News from around the world, Best of Live Wire, or Live Wire Podcasts, and more Live Wire content. What do you want to listen to today?”

See the FAQs below for tips on creating voice-friendly labels.

Do: Insert breaks between list items. Include comma and a 350-400ms break between list items

 

Customer: Alexa, open Planet Facts

<audio src="soundbank://soundlibrary/video_tunes/video_tunes_02"/>

Alexa: Hi there. Welcome to Planet facts, with facts, trivia, and jokes that are out of this world. I can tell you about Mercury, Venus, Earth, Mars, Jupiter, and more. Which do you want to learn about?

Customer: More

Alexa: I can also tell you about Saturn, Uranus, Neptune, and Mercury. Which would you like?

Don’t: Create a breathless response that leaves out commas and breaks

Customer: Alexa, open Planet Facts

<audio src="soundbank://soundlibrary/video_tunes/video_tunes_02"/>

Alexa: Hi there. Welcome to Planet facts, with facts trivia and jokes that are out of this world. I can tell you about Mercury Venus Earth Mars Jupiter and more. Which do you want to learn about?

Customer: More

Alexa: I can also tell you about Saturn Uranus Neptune and Mercury. Which would you like?

line-break

Tip: Use SSML to change Alexa's speech

For more information on how to customize the way Alexa reads your dialog, including specifying breaks, rate of speech, and even enthusiasm, check out the SSML (Speech Synthesis Markup Language) reference.

line-break

Do: Allow customers to browse your paginated list with commands like “next”, “more”, “go back”, and “repeat.” Allow them to select options using ordinals

 

Alexa: That’s all I have about Mercury. Which planet would you like to learn about next?

Customer: What planets are there?

Alexa: I can tell you about Mercury, Venus, Earth, Mars, Jupiter, and more. Which do you want?

Customer: More

Alexa: I can also tell you about Saturn, Uranus, and Neptune. Which would you like?

Customer: Go back

Alexa:I can tell you about Mercury, Venus, Earth, Mars, Jupiter, and more. Which do you want to learn about?

Customer: Repeat that please

Alexa: I can tell you about Mercury, Venus, Earth, Mars, Jupiter, and more. Which do you want to learn about?

Customer: Help

Alexa: You’re playing Planet Facts. I have facts, trivia, and jokes that are out of this world. You can ask me for a fact, to play trivia, or to tell a joke. Which planet do you want to learn about?

Do: Prompt the customer to make a decision after reading the options so customers know it’s their turn to speak

 

Alexa: I can tell you about Mercury, Venus, Earth, Mars, Jupiter, and more. Which do you want to learn about?

Don’t: Prompt the customer to make a choice before listing the options

Alexa: Which do you want to learn about? I can tell you about Mercury, Venus, Earth, Mars, Jupiter, and more. 

Do: Allow customers to select options from a list using natural language, including synonyms and partial titles

 

Alexa: Ok. Venus is the hottest planet in our solar system. True or false?

Customer: I think that’s true

Alexa: Correct! This one is true! Even though it’s not the closest planet to the sun (that’s Mercury), Venus is still the hottest planet in our solar system. Temperatures can reach 870 degrees. That’s hot enough to melt lead! Want another?

Customer: Yes

Alexa: Ok. The high carbon dioxide content of its atmosphere makes the air pressure on Venus much higher than that of Earth. Is Venus … a. 95 times heavier and Earth; b. 63 times heavier; or c. 200 times heavier?

Customer: uh … I think it’s 200.

Alexa: The answer is A. The carbon dioxide atmosphere of Venus creates 95 times the pressure on its surface than Earth. And to make Venus even more inhospitable, Its clouds are made of sulfuric acid!

Don’t: Force customers to use a specific utterance or phrase to select options

Alexa: Ok. Venus is the hottest planet in our solar system. True or false?

Customer: I think it’s true

Alexa: Sorry. I didn’t recognize that answer. Please say “True or False”

Customer: True

Alexa: This one is true. Even though it’s not the closest planet to the sun (that’s Mercury), Venus is still the hottest planet in our solar system. Temperatures can reach 870 degrees. That’s hot enough to melt lead! Want another?

Customer: Yes

Alexa: Ok. The high carbon dioxide content of its atmosphere makes the air pressure on Venus much higher than that of Earth. Is it … a. 95 times heavier; b. 63 times heavier; or c. 200 times heavier?

Customer: uh … I think it’s 200.

Alexa: Sorry. I didn’t recognize that answer. Please say “A, B, or C.”

Customer: C

Alexa: The answer is A. The carbon dioxide atmosphere of Venus creates 95 times the pressure on its surface than Earth. And to make Venus even more inhospitable, Its clouds are made of sulfuric acid!

Do: Follow up to disambiguate if the customer makes a selection that could indicate more than one of the options

 

Customer: Alexa, open My Flight Finder

Alexa: Welcome back to My Flight Finder. Where to?

Customer: Find me a flight to Washington

Alexa: Are you flying to Washington, D.C., or Washington State?

Customer: DC please

Don’t: Make an assumption and select for them when there’s more than one plausible match for what the customer said

 

Customer: Alexa, open My Flight Finder

Alexa: Welcome back to My Flight Finder. Where to?

Customer: Find me a flight to Washington

Alexa: I found a few airports in Washington, including Ronald Reagan Washington National Airport, Dulles International Airport, Seattle Tacoma International Airport, and 17 more. Which would you like?

FAQs about lists

Q: Do the names of the options matter? Do I need to optimize them for voice?
A: Yes. To improve accuracy for the customer’s understanding (and Alexa’s), avoid list item names that are more than a few words long, rhyme, alliterate, or read like a tongue twister. Avoid naming list items with similar and shared terms. Names of items in a list should be verbally distinct.

 

Q: How many items should I include in a list"?
A: That depends on the number of items in your list, and how complex each item is. You may want to read out long, complex list items that have many elements one at a time, while you can read out up to 5 distinctive, one-word list items without confusing most listeners.

 

Q: Do I need to read out ordinals for customers? (“The first one is …” or “Number 1 is …” or “A … B…”)
A: That depends on the kind of experience you’re creating. If the names of the list items may be difficult to hear as distinct options, must be long, complex, or include multiple components, you may want to include ordinals. With a preamble that specifies the number of items in a more simple list, ordinals may slow down the conversation. And of course, if you’re creating a quiz/trivia-stye experience, you’ll want to make it easy and accurate for a player to select their answer with ordinals.

In this list, ordinals help the customer understand and select options:

 

Alexa: Ok, last question. When was the city of Seattle founded? Was it … A. 1861. B. 1902., or C. 1792?

In this list, the ordinals are unnecessary and tiresome to listen through

Alexa: I found a few airports in Washington, D.C. The first is Reagan National Airport. The second is Dulles International Airport. The third is Baltimore/Washington International Airport. I also found 5 more. What would you like?

Q: How should I prompt customers a second time to choose from a list after they reach an error? Should I repeat the whole list again?

A: That depends on the number of items and complexity of your list, and how complicated or important the decision may be for the customers. For complex scenarios, you may want to include more information about your list before repeating it in full, or, for simple scenarios, you may not need to repeat any of the items and a simplified re-prompt will do.

This list repeats in its entirety after an error because the customer likely forgot their options (or didn’t understand them)

 

Alexa: Ok, last question. When was the city of Seattle founded? Was it … A. 1861. B. 1902., or C. 1792?

Customer:

Alexa: I didn’t catch that. When was the city of Seattle founded? Was it … A. 1861. B. 1902., or C. 1792?

This list doesn’t need to repeat everything after the error. It’s awkward to repeat the whole greeting in this scenario.

 

Do:

 

Customer: Alexa, open My Flight Finder

Alexa: Welcome back to MyFlight Finder. Where to?

Customer: …

Alexa: I didn’t catch that. Where are you flying?

Don't:

 

Customer: Alexa, open My Flight Finder

Alexa: Welcome back to My Flight Finder. Where to?

Customer: …

Alexa: Welcome back to My Flight Finder. Where to?

line-break

Tip: Include a hint in your APL design

For devices with a screen, put a hint at the bottom of the display that gives the customer an example of what they can say to select an option in your list. Learn how to use the AlexaFooter responsive component. 

line-break

Gathering feedback

Key takeaways

You might find it helpful to occasionally ask your customer for feedback. Learn to ask for feedback at an ideal time and a transparent and clear manner to increase the chance the customer will answer.  

 

Need quick advice?

Check out the design checklist for eliciting customer feedback to help your customer provide information with ease.

 

In this section:

line-break

While you can discover a wealth of information about how customers are using your skill with the analytics tools on your Alexa Developer Dashboard, you might want to occasionally ask customers directly about their experiences and satisfaction with your skill. You may choose to ask a customer to rate their overall satisfaction of the skill after repeat uses, or you might want to ask about whether they were successful completing one task or using a new feature of your skill. Listen to the following examples of asking for feedback customers could encounter in your skill. (Learn more about ASK Analytics.)

 

Ask for feedback on your skill:

Alexa: That’s all I have about Neptune. What planet do you want to learn about next?

Customer: I’m done.

Alexa: Looks like you’re all spaced out. Please rate your Planet Facts experience from 1 to 5, with 5 being the best. How was it?

Customer: 5

Alexa: I’m glad you’re over the moon. Thanks for your help improving Planet Facts.

Ask for feedback on an specific part of your skill:

 

Alexa:Alaska flight 10 from Seatac International Airport to Anchorage leaving today at 12 pm is delayed. Its new departure time is at 2 pm. Want to check another trip?

Customer: No thanks

Alexa: Thanks for flying with me. Please rate your experience checking a flight with me today from 1 to 5, with 5 being the best. How was it?

Customer: 4

Alexa: That’s great to hear. Thanks for your help improving My Flight Finder.

Many customers will be willing to give you feedback about your skill as long as you ask at a convenient time, make it quick and easy to understand and answer your question, and that you are transparent about how you’ll use the information. There are a few best practices to keep in mind when collecting feedback to minimize the potential for annoyance and increase your chances of gathering helpful information.

Design checklist for eliciting customer feedback:

Will you be asking for feedback from your customers directly in your skill? If so, check your script to make sure you’re asking a simple question at the best possible time:

▢  Ask a direct question

▢  Don’t block the customer from completing their primary task

▢  Ask a yes/no question; or ask for a rating of 1-5

▢  Be clear about what part of the skill you want feedback on

▢  Explain why you want the feedback or how you will use it

▢  The skill follows up to acknowledge the feedback the customer gave

▢  Allow the customer to ask to give feedback at any time

▢  Don’t ask for feedback every session

▢  Set a lifetime timeout; Once a customer declines to give feedback 5 times, the skill should no longer ask for feedback

▢  Don’t ask for feedback if the customer asked to “stop”

▢  Avoid asking for feedback after the customer failed to complete a task or reached an error

Dos & Don'ts

Do: Ask a direct question

 

Alexa: Thanks for flying with me. Please rate your experience checking a flight with me today from 1 to 5, with 5 being the best. How was it?

Don’t: Be passive

 

Alexa: Thanks for playing today’s game. By the way, you can ask me to rate this skill any time. Goodbye.

Do: Ask for feedback at the right time

 

Alexa: That’s all I have about Neptune. I can tell you about any of the other planets in the solar system. Which would you like?

Customer: I’m done.

Alexa: Looks like you’re all spaced out! Please rate your Planet Facts experience from 1 to 5, with 5 being the best. How was it?

Don’t: Pester the customer for feedback

 

Alexa: That’s all I have about Neptune. I can tell you about any of the other planets in the solar system. By the way, you can ask me to rate this skill any time. What do you want to do?

Customer: I’m done.

Alexa: Looks like you’re all spaced out! Please rate your Planet Facts experience from 1 to 5, with 5 being the best. How was it?

Do: Acknowledge the feedback

 

Alexa: Looks like you’re all spaced out! Please rate your Planet Facts experience from 1 to 5, with 5 being the best. How was it?

Customer: 1

Alexa: I’m sorry to hear that. Thanks for your help improving Planet Facts.

Don’t: Ignore the feedback or surface a response that doesn’t relate to the feedback

 

Alexa: Looks like you’re all spaced out! Please rate your Planet Facts experience from 1 to 5, with 5 being the best. How was it?

Customer: 1

Alexa: Ok. Goodbye.

FAQs about collecting feedback

Q: When is a good time to ask for feedback?
A: Consider asking for feedback when …

  • A customer has finished their task successfully … or unsuccessfully.
  • A customer has returned to your skill for repeat uses;
  • A customer asks to give feedback or when they give unsolicited feedback (“That didn’t work” / “I want to give feedback”);
  • A player receives a high score or wins a game;
  • A customer used a new feature of the skill, or a feature they haven’t used before;


Q: When should I avoid asking for feedback?
A: There are several points in a conversation with your skill in which asking for feedback would confuse and frustrate the customer. Avoid asking for feedback when …

  • A customer has reached multiple errors
  • It’s the first time the customer has used the skill
  • A customer declined to give feedback during their previous visit to the skill
  • A customer has declined to give feedback repeatedly across multiple sessions
  • A customer indicated they want to stop using the skill immediately (“Stop”, “I’m done”, “That’s all”, “Shut up”, “Go away”)

line-break

Handling errors gracefully

Key takeaways

Learn to anticipate and resolve common misunderstandings and errors when customers converse with your skill. Ensure the conversation won’t reach a dead end, and, when an error does occur, write responses that clearly explain what went wrong and how Alexa or the customer might resolve it.

 

Need quick advice?

View the design checklist for error handling to learn the traits of effective error flows and messaging.

 

In this section:

line-break

Errors and misunderstandings occur even in natural conversation, and you’ll need to anticipate a range of possible mistakes – on the part of your customers and on the part of Alexa or your skill – to ensure a given conversation won’t come to a screeching halt. There are, however, some common patterns in which customers most commonly experience an error.

You can learn more about preventing errors from occurring in the first place … 

 

Checklist for handling errors:

▢  Use plain language and simple prompts to reduce errors

▢  Explain to the customer what went wrong using the best available data

▢  Reiterate the information the skill needs and why it’s needed to continue

▢  Include answers or clarifications that anticipate questions your skill won’t support

▢  Offer a contextually relevant response when the customer asks for help

▢  Don’t blame the customer for errors

▢  Don’t apologize for errors excessively

▢  Don’t imply or promise future functionality

Design a graceful error flow

Take escalating steps to resolve an error. A first-time error might have been a simple mistake, such as the customer stopped paying attention and simply needs your skill to repeat the question. If they reach the same error again, they might still be thinking, or they may be confused about their choices or the question the skill asked them, so a second error may require more explanation from the skill. Repeated errors indicate the customer is either in need of additional help, or, in the case a skill repeatedly receives no response form the customer, they’ve abandoned the skill and it should end the session.

Where possible, ask the customer disambiguating questions if the skill needs more information, rather than requiring they provide complete information in a specific format. Allow customers to provide incomplete information, and follow up on it as needed. (“Did you mean 12 noon, or 12 midnight?”)

Listen to the following examples of a skill attempting to resolve errors using (or not using) the methods above, with varying levels of success.

 

Bad:

 

Customer: Alexa, ask MyFlightFinder where my flight is.

Alexa: To find your trip with MyFlightFinder, I have a few questions. First, where are you going?

Customer: Melbourne

Alexa: Hmm. I’m not sure about that one. Where are you going?

Customer: Melbourne!

Alexa: Hmm. I’m not sure about that one. Where are you going?

Customer: I’m going to Melbourne, Florida!

Alexa: Melbourne, Florida. Got it. When are you going?

Customer: …

Alexa: Melbourne, Florida. Got it. When are you going?

Customer: …

Alexa: Melbourne, Florida. Got it. When are you going?

Customer: I don’t know.

Alexa: Melbourne, Florida. Got it. When are you going?

Customer: It’s today sometime

Alexa: I’m sorry. You need to tell me your departure date and time. When are you going?

Customer: Nevermind. Exit

A little better:

 

Customer: Alexa, ask MyFlightFinder where my flight is.

Alexa: To find your trip with MyFlightFinder, I have a few questions. First, where are you going?

Customer: Melbourne

Alexa: I’ll need to know the city and state or province of your destination. Where are you going?

Customer: Melbourne, Florida.

Alexa: Melbourne, Florida. Got it. When are you going?

Customer: …

Alexa: I didn’t catch that. When are you going?

Customer: …

Alexa: I need your departure date and time to find your flight. When are you going?

Customer: It’s today sometime

Alexa: Today at what time?

Customer: I don’t know

Alexa: From which airport are you leaving?

Customer: Seattle

Alexa: I found two flights today from Seatac International Airport to Melbourne, Florida. The first one departs at 12 pm. The Second one departs at 7 pm. Which do you want?

Customer: Oh it’s the one at noon

Alexa: Hmm. I’m not sure about that. I found two flights today from Seatac International Airport to Melbourne, Florida. The first one departs at 12 pm. The Second one departs at 7 pm. Which do you want?

Customer: The first one

Alexa: The flight from Seattle to Melbourne, Florida, leaving today at 12 pm, is delayed. There's no new departure time yet. Want to check another trip?

Best:

 

Customer: Alexa, ask MyFlightFinder where my flight is.

Alexa: To find your trip with MyFlightFinder, I have a few questions. First, where are you going?

Customer: Melbourne

Alexa: Is that Melbourne in Australia, or Florida?

Customer: In Florida

Alexa: Melbourne, Florida. Got it. When are you going?

Customer: …

Alexa: I didn’t catch that. When are you going to Melbourne, Florida?

Customer: …

Alexa: I didn’t catch that. To find your flight, I’ll need to know a date or time you’ll be going. When are you going to Melbourne, Florida?

Customer: It’s today sometime

Alexa: Ok. Today. Which airport are you leaving from?

Customer: Seattle

Alexa: I found two flights today from Seattle to Melbourne, Florida. The first one departs at 12 pm. The Second one departs at 7 pm. Which do you want?

Customer: Oh it’s the one at noon

Alexa: The flight from Seattle to Melbourne, Florida, leaving today at 12 pm, is delayed. There's no new departure time yet. Want to check another trip?

The “best” error experience above included simple clarifications instead of an error, explained to the customer what went wrong, explained the importance of the information it requested, and allowed the customer say a robust set of utterances and speech patterns to make a request – they weren’t forced to say a specific phrase to continue. Note the logic chart for that conversation below, and its use of highly contextual errors that escalate over time.

Write effective error messages

The “best” error experience above included simple clarifications instead of an error, explained to the customer what went wrong, explained the importance of the information it requested, and allowed the customer say a robust set of utterances and speech patterns to make a request – they weren’t forced to say a specific phrase to continue. Note the logic chart for that conversation below, and its use of highly contextual errors that escalate over time.

 

Do:

When a customer asks for help, the skill should offer help with the current task in progress. When they’ve said something your skill doesn’t recognize or makes a request you can’t support, it should provide enough information that the customer can take action right away, change their response, or continue the experience. Include the details of what went wrong and a call to action to resolve it:

  • “You’ll need to log in with a MyFlightFinder account …” + “I sent some information to your Alexa App to help you …”
  • “I didn’t catch that …” + “When are you going to Melbourne, Florida?”
  • “I couldn’t place your order…” + “You can update your payment details on your MyFlightFinder account on the FlightFinder app or myflightfinder dot com.”‘



Don't:

Don’t play the blame game. Avoid being definitive when (often) the reason for the error isn’t absolutely certain. A skill should neither annoy customers by over-apologizing, nor blame them or use an accusing tone. Also avoid making promises or implying future functionality with your verbiage. Don’t offer to try the action again if the error isn’t likely to be resolved immediately.

  • “You don’t have an account yet …” and “That’s not a valid category…”
  • “I’m sorry, I can’t search for flights by price yet …”
  • “I’m sorry, your payment failed. Do you want to try again?”


Listen to the following example of our hypothetical MyFlightFinder skill varying its error message depending on the type of error and the customer’s context. It will provide relevant help when the customer asks for it (and even when they didn’t have to ask). The designer has also anticipated customers will ask questions related to flights that the skill won’t support. It re-directs the customer to what it can support.

 

Customer: Alexa, ask MyFlightFinder to find me a flight.

Alexa: To find your trip with MyFlightFinder, I have a few questions. First, where are you going?

Customer: I don’t know. what’s cheap?

Alexa: I can’t search for flight prices, but I can help you track a flight’s status. Where are you going?

Customer: Help

Alexa: I can help you track a flight’s status anywhere in the world. You can ask me for a flight with information like destination, departure time, airport, airline, and more. Where are you going?

Customer: What airline goes to Ireland?

Alexa: I found lots of flights to Ireland. When will you be going?

Customer: I’m going on vacation.

Alexa: Hmm. I’m not sure about that. When will you be going to Ireland?

Customer: I don’t know

Alexa: You can ask me for a date and time, or a time frame, like “next week.” When are you going to Ireland?

Customer: Next year I think

Alexa: I can only find flights departing within the next 90 days. When are you going to Ireland?

Customer: Oh, what’s in the next month?

Alexa: Next month, got it. What city are you leaving from?

Customer: Paris

Alexa: I found a few flights to Ireland, departing Paris, France, next month. The first one is …

Customer: Alexa, I meant Paris, Texas!

Alexa: I found one flight to Ireland, departing Paris, Texas, next month. It departs on January 3 at 4 p.m. Check back withing 72 hours of your flight to get its status. Want to check another trip?

FAQs about handling errors

Q: What are some of the most common errors to anticipate?

A: Some of the most common errors your customer may encounter in any given Alexa skill experience include …

Error Alexa Response
Alexa Speech Recognition (ASR) didn’t register a response from the customer “I didn’t catch that …”
The response from the customer isn’t recognized “I’m not sure about that …”
The customer tried to exceed a limit in their request “I can only play that sound for up to 90 minutes …”
The customer made a request using an utterance or phrase natural to them, but the skill model does not support it The skill should accept a robust set of utterances a customer might use to make a request. They will use synonyms, partial or incomplete phrases, slang, ordinal numbers, and relative position in a list (“the last one”) to make selections and requests.
The customer’s request matched two or more possibilities “I can find you a flight to Melbourne, in Alaska, or Melbourne, in Australia. Which did you want?”
The skill did not support an utterance or speech pattern that the customer is accustomed to using with Alexa Customers expect a response to requests for help, go back, repeat, or an obvious synonym for the skill’s actual “label” for the function like “Australia” to select “Melbourne, Australia”
The customer made a request that requires further action from them “You’ll need to sign in with a MyFlightFinder account to book a flight …”

Q: How should a skill handle errors from an Amazon service? Who handles the error?

A: If your skill will have features that require it to hand off to an Amazon-directed experience (a flow handled by Amazon to help the customer complete certain tasks), that experience will usually hand the customer back to your skill when it completes its purpose. If an error has occurred for any reason (a payment failed, for example), you will need to understand what parts of the error that experience will handle, and what parts your skill will handle. You will need to understand what that experience said to the customer already in order to decide how you’ll help them proceed. You can find the technical documentation for those cases in the Amazon Developer Portal developer documentation.

For example, will your skill do any of the following? Here are some examples of important documentation for Alexa technologies and skill types that specify their own set of required edge cases and error handling. They are not comprehensive, but should guide you in your research before you start designing:

Description Documents Sample Edge Case
Send something to the customer’s phone Design Guidelines The customer’s phone is locked vs unlocked; The customer as turned off permission for the skill to send notifications
Send the customer notifications  Alexa Skill Development Notifications API Reference The customer will need to give permission; the skill will need to collect permission to notify during the customer’s Do Not Disturb hours
Allow the customer to set a reminder through the skill Alexa Reminders API Reference The skill will need to collect permission
Allow the customer to make a purchase of goods outside the skill Amazon Pay for Alexa Skills Overview The customer may not have any payment information added yet; The customer may have a voice pin set up on their account for purchases; 
Allow the customer to make a purchase of skill content itself  Understand In-Skill Purchasing tech doc ; Design for In-Skill Purchasing design guidelines The customer may have in-skill purchasing permissions turned off

Previous Article:
Next Article: