When you’re building an Alexa skill, careful dialog writing can subtly guide a customer toward their goal and away from error states. In my last post, I showed how to provide implicit guidance by aligning Alexa prompts with built-in slots in your code. But in addition to built-in slots, your skill might use one or more custom slots to define a set of values relevant to your customer’s task and specific to your skill.
Even when your skill employs custom slots, you’ll want to carefully consider how you word your prompts; in fact, it’s more important than ever. If your slot is custom, that means customers won’t have any visibility into what a valid slot value might be; they won’t know what to say unless you give them a hint. The good news is, it only takes a few tweaks to add a lot of clarity for your customers.
Writing a Precise Welcome Prompt
The welcome prompt is arguably the most important prompt in your skill. To create a positive experience from the start, provide implicit guidance in your welcome prompt. Let’s look at an example where a prompt that’s too broad causes problems.
Suppose you’re building a skill where customers can order groceries, so you build a custom slot containing common foods that the supplier carries. If you use a generic prompt at the start of your skill, here’s how the interaction could go:
Customer: “Alexa, open Grocery Store.”
Alexa: “Welcome to the Grocery Store. What can I help with?”
Customer: “Um, I want to order groceries?”
Alexa: “Great. What would you like to order?”
Now, this interaction went okay—no major hiccups. But it wasn’t optimal. The prompt didn’t indicate that the customer could begin ordering, so it didn’t succeed at eliciting any valid slot values in the first turn. Even though the customer did in fact want to order food, the prompt was so general that it gave them pause. Their first response was to state the task they wanted, instead of getting right to their order.
With a more specific prompt, the experience could go differently:
Customer: “Alexa, open Grocery Store.”
Alexa: “Welcome to the Grocery Store. What would you like to order?”
Customer: “I need three dozen frozen tacos, a twelve-pack of seltzer, and a bunch of bananas.”
With this more precise prompt, Alexa is able to launch the customer right into their order so that they provide the type of slot values the skill needs. This eliminates that extra conversational turn; it’s more efficient, which customers love.
Using a Menu Prompt
For slots with a small number of choices, there’s a useful technique to tell customers what options are available: use a menu-format question.
Imagine you’re making a skill for customers to purchase cupcakes. As a skill builder, you know they come in three flavors: chocolate, vanilla, and strawberry, so you create a custom CupcakeType slot containing these values. However, your customer can’t intuit which flavors are available, which leads to problems.
Customer: “Alexa, tell Cupcake Shop I want to buy some chocolates.”
Alexa: “You got it! What kind do you want?”
Customer A: “Chocolate, please.”
Customer B: “What about pineapple!”
Customer C: “The kind with the cherry inside.''
Customer D: “Um, what kinds do you have?”
Only Customer A is going to successfully move forward in the interaction. Customers B and C unknowingly chose options that weren’t available, and Customer D was hoping for guidance.
A clearer prompt would be “What kind: chocolate, vanilla, or strawberry?” This way, customers know exactly which flavors they can pick, and they won’t waste time responding with invalid options.
(A quick note: Even if your customers only have two options, try to avoid the prompt structure “Do you want chocolate or vanilla?” Because it starts with the phrase “Do you,” customers often interpret it as a yes-or-no question. It’s better for your question structure to start with an open-ended phrase, like “what kind.”)
Other examples of useful menu prompts:
- “Which method of travel: Plane, train, or bus?”
- “What size: Small, medium, or large?”
- “How many cookies would you like: Six or a dozen?” (This is particularly useful if customers can only order an item in specific quantities.)
As you can imagine, this structure works best with small numbers of slot values. Typically, Alexa should only read three or four items in a list. Any more than that, and a customer gets lost in the sea of choices they’re hearing. If your custom slot has dozens (or hundreds) of values, of course it’s not practical to list them all. In those cases, try one of these approaches:
- Using a menu prompt, offer three contextually relevant options, based on your customer’s preferences or previous ordering history, or your skill’s most popular options.
- Provide two representative examples, using a “Like X or Y” structure. “Hi there. Grocery Store can help you order groceries, like a dozen eggs, or a quart of yogurt. What would you like to order?”
You can read additional guidelines for writing lists in the Alexa Design Guide.
Aligning Prompt Word Choice with Slot Values
As a final point, it’s worth pointing out that the menu items in your prompt should also be represented well in your interaction model. In other words, if you prompt customers to say a specific word, it’d better work! Your custom slot should contain the exact words in your prompt, as well as synonyms.
- If your prompt is “Which method of travel: plane, train, or bus?”, you’d want to include these exact words as slot values, plus synonyms like “airplane” or “rail.”
- For the prompt “What size: small, medium, or large?”, your slot values should include each of these words exactly, as well as synonyms like “little,” “middle size,” or even phrases like “the biggest one.”
- When your prompt indicates a numerical answer, as in “How many cookies would you like: six or a dozen?”, you should ensure that your skill can effectively map a word like “dozen” to the number twelve.
Your prompts provide essential guidance, and you can craft them to quietly help your customers reach their goals. When you tune prompts to accommodate custom slots, you maximize the chances of eliciting a valid slot value—which means your skill shepherds your customers toward success!