Gracias por tu visita. Esta página solo está disponible en inglés.

Be Adaptable

When your skill is adaptable, you’ve designed your skill to understand and process a customer’s utterance appropriately, in whatever situation your skill has outlined. Here’s a few ways you can adapt your skill to new situations with customers.

Patterns and use cases

Match a variety of utterances to your intents

An intent represents what customers can ask your skill to do. For example, your skill might help plan a trip, get a status, tell a joke, or attack a monster.

Don’t assume that customers will say the exact phrase that you anticipate for an intent. While the customer might say, "Plan a trip," they could just as easily say "Plan a vacation to Hawaii." To make sure your skill is able to respond to a variety of customer utterances, provide a wide range of sentences, phrases, and words customers are likely to say.

The following example utterances from customers correspond to the “Plan my trip” intent:

  • "I'd like to go on a trip."
  • "Let's begin planning a trip."
  • "Plan a trip."
  • "I need a vacation."

Handle over-answering

Over-answering is a situation when a customer offers more than one answer, even when Alexa only requests one response. Over-answering can give you all the information you might need for your skill to provide the correct action or intent. Think of it as a gift- you won’t need to ask a lot of questions if all the answers are provided for you up front. For example, over-answering might happen when a customer books a trip.

Do

User: “I'll leave from Seattle next Friday to go hiking in Portland.”

Alexa: “OK. Would you like to book the 10 AM, 2 PM, or 4 PM flight from Seattle to Portland?”

User: “10 AM”

Don't

User: “I'll leave from Seattle next Friday to go hiking in Portland.”

Alexa: “Where do you want to go?”

User: “Uh, I said Portland.”

Alexa: “Great! When do you want to go?”

User: “I want to go hiking.”

Alexa: “Would you like to book a walking tour of Portland?”

User: “NO, I want to HIKE. Nevermind....”

Ask for more information

Customers frequently give a command or request an action from Alexa that is incomplete. Alexa will need to prompt the customer to clarify the partial information or add additional information to make sure it triggers the correct intent.

Do

User: “I’d like to go windsurfing near Rooster Rock.”

Alexa: “When would you like to go?”

Don't

User: “I’d like to go windsurfing near Rooster Rock.”

Alexa: “Did you mean Rooster Rock Café?”

User: “What? No, Rooster Rock park in Oregon.”

Alexa: “‘What, No Rooster Rock’ is not an address.

Support the "Repeat" command

Customers should be able to ask Alexa to repeat the last prompt at any time, whether they’re using the skill in a noisy area or they’re just having issues understanding Alexa’s response. You need to determine what part of the message Alexa should repeat back to the customer, and if they need full response or just the prompt. To do this, you can take advantage of the built-in AMAZON.RepeatIntent and provide a handler for it. At a minimum, you need to save the last response in your session attributes and then implement a handler that outputs the previous response.

For example, if the customer is using a trivia skill, they need to hear both the question and multiple answers repeated to them to understand the full context.

Do

Alexa: “Today’s trivia question is: Which of these artists holds the records for most Grammys won in a lifetime: a. Michael Jackson; b. Alison Krauss; or c. Georg Solti?”

User: “Uh, could you repeat that?”

Alexa: “Today’s trivia question is: Which of these artists holds the records for most Grammys won in a lifetime: a. Michael Jackson; b. Alison Krauss; or c. Georg Solti?”

Don't

Alexa: “Today’s trivia question is: Which of these artists holds the records for most Grammys won in a lifetime: a. Michael Jackson; b. Alison Krauss; or c. Georg Solti?”

User: “Uh, could you repeat that?”

Alexa: “Which of these artists holds the records for most Grammys won in a lifetime: a. Michael Jackson; b. Alison Krauss; or c. Georg Solti?”

In this next example, it would be incredibly tedious for you to provide the customer with the full answer. Instead, you just provide the prompt so the customer hears the most pertinent information repeated back to them.

Do

Alexa: “Thanks for signing up for ASK Music, Jen. Now you have access to more trivia games, fun music facts, and customer rewards you can use toward tickets. You can play today’s trivia, ask a music question, or get tickets to a show. Which would you like?”

User: “Uh... What? Repeat please?”

Alexa: “You can play today’s trivia, ask a music question, or get tickets to a show. Which would you like?”

Don't

Alexa: “Thanks for signing up for ASK Music, Jen. Now you have access to games, fun facts, and get rewards. Would you like to play music trivia or find out about upcoming shows?”

User: “Uh... What? Repeat please?”

Alexa: “Would you like to play music trivia or find out about upcoming shows?”

Accept corrections

Sometimes customers make corrections when they know that Alexa got something wrong or when they change their minds. For example, a customer might say something like, "No," or "I said," followed by a valid utterance. Be prepared to handle these properly. For example, your booking skill got the wrong location and the customer needs to change it.

Alexa: "This sounds like a fun trip. You'll go windsurfing in Portland next Friday and you'll be leaving from Seattle. Shall I book it?"



User: "No, I'm going to Rooster Rock."


Alexa: "Got it. You're headed to Rooster Rock next Friday to go windsurfing and you'll be leaving from Seattle. Ready to book?"



Handle errors gracefully

A customer won't know why something failed or why an error occurred due to the nature of the multi-layered speech and language recognition systems in place. Visual-only interfaces, such as smart phone or web apps, give customers a clear understanding of what is possible or what went wrong, with well-defined visual elements such as buttons, menus, and edit boxes. You won’t have that in a voice interaction, so you’ll have to get creative in your solutions. When Alexa doesn't hear or understand a response, she'll request the information once more so the customer has a chance to try to fix the problem before she loses the context. Avoid error messages that only say that Alexa didn't hear or understand the customer correctly. For example, “I didn't hear you.” This causes customers to repeat the same phrase that caused the error. Instead, add in information that is more helpful and be as explicit in your directions where possible.

In the following example, Alexa doesn’t understand the customer’s request because it’s outside the parameters of the skill. Instead, she gives helpful hints about what she can do for the customer.

Do

Alexa: “I can help you find recipes for your favorite desserts. What would you like to make?”

User: “I want to make lasagna for dinner.”

Alexa: “I'm only able to help you find dessert recipes like cookies, cakes and pastries. Is there a dessert you'd like to make to go with dinner?”

Don't

Alexa: “I can help you find recipes for your favorite desserts. What would you like to make?”

User: “I want to make lasagna for dinner.”

Alexa: I’m sorry, I can’t understand that. What would you like to make?

Design for when Alexa doesn't understand

If Alexa hears but can’t process what the customer said, be upfront about it and try to get the conversation back on track. Use a straightforward request that helps the customer know what he or she can do next. This helps help prevent the customer from feeling lost. Learn more about handling skill logic and entity resolution.

User: "Alexa, open Plan a Trip."


Alexa: "Where would you like to go?"


User: "I would like to go to horse."


(Your skill’s logic detects that “horse” is not a city you support.)


Alexa: "I didn’t quite catch that. What city would you like to visit?"


Design for when Alexa understands but can’t help yet

When the customer asks for an unsupported function, use some form of “I can’t help you with X yet” to inform the customer that the function is not available. Do not make promises that a technology or service will be available in the future. You can track utterances in the Developer Console to see if customers have been asking for a feature, which gives you insight into prioritizing and developing new features for your skill. For example, let’s say a customer wants to rent a car along with planning a trip:

User: "I’d like to rent a car."


Alexa: "I can’t help you with that yet. I can help you plan a trip, though. What city would you like to visit?"


Re-prompt when the customer does not respond

When Alexa receives no answer from the customer, re-prompt them with a slight variation on the original prompt. This is an opportunity to add detail in case the customer did not understand.

User: "Alexa, open Plan a Trip."


Alexa: "Where would you like to go?"


(No response.)


Alexa: "I can help you plan a trip. To start, I’ll ask questions about where and when you’re going and what you’ll do once you’re there. What city would you like to visit?"



Provide contextual help

When responding to a request for help, provide additional prompts to give more context to the immediate conversation. For example, if a customer is ordering a pizza and before confirming the order, asks if the restaurant serves garlic knots, answer the question then re-prompt them to confirm the original pizza order. Design the conversation to ensure that help is not needed very often. For example, your skill assists customers in getting a taxi but they don’t know how to perform an action, such as changing their location.

User: "Alexa, open Pick-Me-Up."


Alexa: "Would you like me to send a car to pick you up at home or work?"


User: "How do I set my address?"


Alexa: "You change your work or home address in the Pick-Me-Up phone app."


(Half-second pause.)


Alexa: "If the address is already set, I can help you now. Would you like to be picked up at home or work?"




Learn more about adding pauses and customizing speech patterns with SSML.

Back to top