Computers are learning how to talk with people. Conversation design is the art of making these automated conversations feel easy, natural, and helpful.
Good conversation design:
- Makes conversational sense
- Makes customers feel heard
- Doesn’t feel robotic
Voice and tone
Automated conversations are dynamic, they feel alive. Customers naturally project personalities onto them. Our brand voice and tone guidelines are the foundation of these personalities. But they need to flex into something more—bot personas.
Importance of personas
Bot conversations can go anywhere. Expressing our brands in ways we never imagined. For conversational experiences, personas are the source of truth.
- Shape a bot’s personality.
- Engender trust, familiarity, bonding, and connection.
- Keep bots in line with their brands.
- Keep contributors on the same page.
- Help maintain consistency and clarity.
Our bot personas
When writing for a bot, you’ve got to know its persona. You’ve got to internalize it so you can write in the voice of bot without thinking about it.
Characteristics our bots share:
- Know they're bots and are honest about it.
- Speak for themselves, as someone working at Intuit.
- Are individual beings, not personifications of a tech stack or data.
- Have limits and know it.
- Express real care, available to everyone, all the time.
- Know about humans, but not as much as a human would.
More about personas
Relationship to the customer
Bot conversations are more intimate than standard product UI. This intimacy affects the possibilities for interaction. Things can get personal, funny, or incredibly serious. Besides helping customers get answers and complete tasks, the bot also needs to maintain an ongoing relationship. Customers don’t just want answers, they want to feel cared for and empowered, to be given clear direction, and to be understood.
How the bot relates to its customers:
- Know its status in the relationship. Who’s in charge? How does this change over time?
- Know the customer. What are their feelings, fears, and aspirations?
- Know the circumstances. What just happened? What’s next?
- Know where things can go. If the conversation drifts, where should the bot follow?
Running a business or working through taxes can be both challenging and rewarding. It’s important to acknowledge both when you can. Empathizing isn’t about guessing a customer’s emotional state. Instead, find ways to show the bot understands what they are going through by citing the circumstances of their situation.
- Avoid assumptions about emotional state.
- Acknowledge when a process or situation is difficult.
- Celebrate big accomplishments.
- Don’t forget that everyone loves a compliment.
Money is a sensitive subject. Not everyone’s money goals are the same. It’s not a bot’s place to judge. But because it’s a complicated system, it’s OK to assume customers need help with it.
How to talk about money:
- Focus on process over outcomes.
- It’s an ongoing job, not a goal.
- Let customers own their success.
- It’s a fascinating subject for its own sake, not for what it buys customers.
- It’s always moving; there’s always something next.
Using I, you, and we
Pronouns can get slippery when a bot talks about itself, the company, or the customer. Also, bots often offer suggestions that get posted into the chat as if the customer said them. Here’s how to think about these pronouns.
- Use “I” not “we” when the bot is talking about itself.
- Use “I” when taking the blame, not “we.”
- Use “I” when joking around, getting familiar.
- Use “I” or “my” (as the customer) in content customers can post back into the chat.
- Use "we" sparingly. Bots are individuals, they can own their interactions.
- “We” can be the bot and customer when they are working together on a task.
- “We” can be the bot and the company when the bot is working with humans at Intuit.
- Leave success for the customer. Don’t “we” into their achievements.
- Use "you" when talking about the customer.
- Use “your” when talking about the customer’s data.
- Use “your” when talking about the customer’s subscriptions or accounts.
- Use “your” when talking about account related objects like returns, tax forms, invoices, expenses, etc.
- Use “your” when celebrating the customer’s accomplishments.
- Be honest about being a bot.
- Keep the relationship one-to-one.
- Let customers own their success.
- Stay casual when a topic isn’t critical.
- Focus on money as a process.
- Be honest about limitations.
- Don’t represent the bot as human.
- Don’t speak as if the bot is all of Intuit.
- Don’t treat customers like one of many.
- Don’t claim a share in customer’s success.
- Don’t get casual during serious subjects.
- Don’t focus on money as an outcome.
- Don’t suggest the bot can do everything.
More on bot voice and tone
Writing for conversation
Conversation has been part of your life since you were about 2 years old. You already know in your bones what makes a good conversation. You can trust yourself and follow your gut. That said, here are a few things to consider when you write for conversation.
The word “conversational” gets thrown around a lot, often as a proxy for “informal.” It’s true that conversation is inherently more casual or intimate than some other forms of writing. But how casual you get still depends on the situation. And there’s more to making your style conversational.
Our content design system already has some great principles for achieving a conversational style. This guidance incorporates and expands on these in the context of conversation design.
Stay casual and natural
Shape the bot's side of the conversation
- Acknowledge customers’ input
- Use discourse markers
- Ask questions and follow-ups
- Signal whose turn it is to speak
- Keep things moving forward
One great tip is to say your content out loud. How does it sound? How does it flow? Anything feel off? If it’s hard to say, it’s probably not conversational.
Acknowledgements go at the beginning of a bot’s response. They signal that the bot heard the customer’s input and help the customer feel understood. They also smooth the transition from the customer’s input to the meat of the bot’s response—keeping the bot from feeling too abrupt.
CUSTOMER: I’d like to upgrade my subscription.
BOT: Wonderful! Here’s how you can change your subscription...
Here the word “wonderful” creates a quick moment of understanding between the bot and the customer, and, in this case, is also a mini-celebration. You can use acknowledgements to express surprise, concern, or simply to signal understanding. There are many types, here are a few common ones.
got it, thanks, OK, alright, sure, no problem
great, good, wonderful, nice, super, perfect, yep
sorry, hmm, I see, I understand, I hear you
Discourse markers are similar to acknowledgements. But instead of just happening at the beginning of a response, they happen throughout a conversation. They’re less about signaling understanding and more about shaping meaning.
Discourse markers help the participants manage the flow and structure of what they’re talking about. In bot conversations, they help the customer follow what the bot is saying. They’re critical to shaping bot responses, managing customer expectations, and making things sound conversational.
CUSTOMER: I’d like to upgrade my subscription.
BOT: Wonderful! So, there are a couple quick steps to upgrading. First you have to select what to upgrade to. Then you have to update your billing info. Let’s get started!
There are lots of discourse markers for lots of situations. Some are overly formal, like “therefore,” or “ergo,” and should be avoided. Here are a few flavors.
first, second, finally, now, then, before, after
so, now, let’s start with, by the way, right
because, so, as a result
well, actually, anyway, however, of course, wow, exactly, you know
They’re a great tool for shaping your conversations to make them more comprehensible. This is especially true for ephemeral, voice-based experiences.
Brevity and clarity
As with most content, it’s important in conversation design to keep things short. Text-based bots usually display in space-constrained chat panels with limited formatting. This makes long bot responses hard to read.
The ephemeral nature of voice-based bots puts the burden on customers to remember what was said—and people can only remember so much.
There are 3 basic parts to bot responses:
- Signal understanding (acknowledgement)
- Deliver a response (body)
- Offer an action or next step (button, pill, question)
Pare them down to their most essential. Trim off anything extra, be brutal. Adding extraneous info adds confusion. See tips for writing small for more help.
Following this basic structure also helps keep things clear for customers. It signals when the bot is finished and it’s their turn to take action in the conversation.
Customers want instant answers. Craft bot responses that give direct answers right away. Don’t bury the lede with lots of preamble.
- Deliver value early, don't keep them waiting.
- If customers are only going to read a few lines, the answer should be there.
- If a question is high stakes and driven by anxiety, consider meeting them emotionally first.
Be clear when ending bot responses or conversational threads. Once the bot has given its response, make it clear when it’s the customer’s turn to do something. There should be no ambiguity about who’s turn is next, especially in voice. Explicitly resolve one subject before starting another or stopping.
At the end of responses:
- Confirm a problem is resolved
- Ask if there’s more the bot can do
- Give them closure
- Offer next steps or actions: Buttons to other conversations, links to other resources, ask questions
Context and conversational logic
Customers may know they’re talking to a machine, but they don’t want it to feel that way. Using context and conversational logic makes conversations flow more naturally. Context is the information the bot should carry forward or refer back to in a given conversation.
For example, if a customer initially asks about bank errors, then the bot can assume we’re talking about bank errors without constantly repeating or reconfirming that information.
CUSTOMER: Help fixing bank error 103
BOT: To fix an error 103 try this… Did that work?
BOT: OK, try this instead
CUSTOMER: Help fixing bank error 103
BOT: To fix a bank error 103 try this… Did that work?
BOT: OK, another way to fix a bank error 103 is like this…
- Keep it simple and clear. Being understood sets you up to understand.
- Keep lines short, succinct, and readable. Long messages will cause the thread to scroll above the message window.
- Write the way people speak out loud. You’re having a real conversation with customers, just over a bot instead of in-person.
More on writing conversationally
Prompts are cues to the user that keep the conversation going. They tell users what to do next, inviting them to respond to our bot in a way that it will understand. Use them to ask for needed information, to present choices, and to confirm actions.
Good prompts are:
- Easy to understand
- Have a question at the end
Bad prompts are:
- Include too much information
- Have a question at the beginning
Bias toward action
Always lean into action wherever you can in a conversation to help drive it forward. Actions are better than suggestions, which are better than instructions.
There is a usefulness spectrum of action value. Consider your customer’s next step and provide the appropriate action for them.
- Button = Bot do it for me
- Answer with instructions = Bot give me guidance on how do it
- Link to other intent = Bot link me to in-bot guidance on how do it
- Jump to link = Bot link me to place in product where I can do it
- Bot link to company articles
- Bot escalates to human
- Bot link to non-company content (Note that this should be done very sparingly and only to official sites like irs.gov, state agencies, federal agencies.)
Signaling a user's turn to speak in the bot conversation should be obvious and generally presented as a question. If you want the user to do something, ask them explicitly.
Engage users early on. Invite them to join the conversation as soon as possible. People have a hard time leaving questions unanswered, use that to get the info you need in your conversation.
- "What's your birthday?"
- "Enter your date of birth."
Imperatives like these aren't friendly and don't signal the customer's turn.
- "What was the last transaction on your account?"
- "The last transaction on your account was …”
Finish-the-sentence phrases are weak signals that can get missed or not get you the response you need.
Be upfront about being a bot and set clear expectations right away. This will help define the scope of both your bot and the user, keeping things productive and mutually beneficial.
The way you ask your question will shape how it’s answered. Be mindful of how you phrase your prompt to ensure that you’ll get the answer you’re looking for—that will keep the conversation moving in a clear and understandable way.
A prompt’s scope directly affects the type of answer you’ll receive. Use a narrow question to get singular answers and open questions to get many. It all depends on the information you need from the customer to move the conversation forward.
- Make you listen for many answers
- Can paralyze the user, but can feel more natural, conversational
- Example: “What would you like to do?” invites an endless amount of responses
- Only listen for a few answers
- Are easier to answer, but aren’t as natural and can feel overly limiting
- Example: “Do you want your 2020 or 2019 tax return?” reduces the scope to one answer.
- Tip: Offer a maximum of three choices, especially for voice.
Customers will reuse words they see from the bot in their responses, so be careful to use language you’re actively listening for. There is power in suggesting or seeding responses. Only use language that you want to get in return.
Keep conversations simple by asking one question at a time. Combined questions, or confusing yes/no questions like, “Do you mind …?” will only confuse both the bot and your user.
It’s important to establish trust with your customer by providing options or answers that the bot can actually perform. Be clear about the impact or consequences of each option you present—users should know exactly where they will go next.
A quick recap or re-prompt at the end of an informational sequence can boil info down to an easy choice for the user. You can turn a whole idea into a single word that they can choose from.
- Stick to 3 options max. If you need more than that, state 2 and ask if they want to hear more.
- Write for voice, even if you’re writing for text/chat.
- Offer the highest trafficked or most intuitive instructions, even when there are multiple ways to do the same thing.
- Don't give a false choice (present a choice between two mutually exclusive options, implying that there are no other options).
- Don't present option overload.
The bot welcome message should break-the-ice and explain how customers can use the digital assistant. It can provide insight on the scope of bot capabilities, promote engagement, and proactively offer support. It not only greets the customer, but sets the friendly, conversational tone for their entire interaction.
Whenever possible, craft distinct first-time and return welcome messages. This helps build trust and remove redundancies.
- Personalize the welcome message whenever possible
- Offer basic response options to promote engagement (Ask a question, See answers to FAQs, Contact us)
- Allow users to navigate to FAQs via followup intents and flows (See answers to FAQs)
- Provide proactive support by presenting options for the most common questions or issues
- List a “Contact us” option so they know human support is available
Our bots are meant to be helpful, valuing our customer’s friendship and trust more than driving a sale. Therefore upselling should only be an option when it is helpful for a customer—if they ask for it or if they need it to complete their task.
Smalltalk is where a lot of the bot’s persona shines through. Your bot should handle basics like, hello, goodbye, thank you, who are you, are you a bot? Just make sure your responses are brief and on-brand, don’t go too far off.
Listening is at the core of conversation. It creates trust and confidence in the answers the bot provides, acknowledging the answer the customer sees is correct. Matching an intent isn’t enough—you have to prove that you heard the customer, understood them, and care about what they’re saying. It's important to leave them with the feeling that they've been thoroughly heard.
Our customers have tons of different, complicated questions, often unique to their individual situation. By breaking down what they’re saying into pieces, you can simplify the various layers of what they’re trying to communicate and provide the answer to their question.
Show you heard
When users feel understood, they are 90% of the way to having a stellar bot experience. Use active listening to acknowledge you’ve heard the customer and demonstrate that the bot understands their request.
CUSTOMER: I need Form 8962.
BOT: Here’s Form 8962.
Repeating what customers say as an explicit confirmation is the simplest way to show the bot understands (but also the most heavy handed).
Listening isn’t just understanding the words a customer enters. Use data and implicit information to compensate for non-verbal/text cues we don’t have in a bot.
CUSTOMER: I need Form 8962.
BOT: You have to fill out information about your dependents to get that form. Do you want to do that now?
Even when the bot doesn’t understand something (fallback), it’s still important to signal that you heard the customer. “I need Form 8962” could be answered with, “OK. One of our agents will reach out shortly.”
There are a number of ways you can signal that you heard the customer, and it’s OK to combine them in your bot. Take advantage of conversational tags like “OK” or “Alright” to not only demonstrate the bot’s understanding, but to keep things conversational.
You can recall elements of the conversation when it's appropriate—within the same session or one or two exchanges after the detail is stored—but not after too much time has passed. If it's been more than 48 hours, don’t use information they gave you already. It can come off as creepy. Just ask for it again or use it without calling it out.
It’s important to empathize with our customers by meeting them where they are emotionally. Respond in the same state—meet happiness with the same joy, and anger with humility and cooperation. Get a sense for the customer and fine-tune your content so that it’s both responsive to their feelings and doesn’t leave room for any negative assumptions.
- Instantly meet their need—give a direct answer right away.
- Respond to laugher and joy with the same tone.
- Respond to anger with contrition, humility, and cooperation.
- Respond to stress with empathy, understanding, and uplift.
- Don't project calm for calm’s sake. That can be frustrating when customers are already stressed.
- Don't assume too much.
- Don't use sarcasm.
When you’re writing intents, consider the width and depth of the questions a customer will have. Train your intents to think about the holistic landscape and try to have meaningful variety. The more, the better. Use the phrases you want customers to use so that NLP understands.
The system matches what the customer inputs (what you’re trying to cover with your utterances) to the intent with the highest confidence score. For example, “I’m not seeing my bank transactions!” would match with a connection fix intent and generate that response.
It’s best practice to increase the priority of any follow-up intents. It will help them match contextually.
Utterances are the specific words the customer says or types. The utterances you create should cover the breadth of the intent and the various scenarios or ways a customer might ask a question.
For example, when a customer says, “This looks wrong,” they’re really asking “How was this calculated?”
You should also extract values from an utterance to craft a better response. When a customer says “last year,” we understand that to be 2019. Take those into consideration when crafting your utterances.
When things go wrong
Failure is unavoidable, but frustration doesn't have to be. Even when the bot doesn't understand or can't handle a request, we don't abandon our customers.
Bot failures can appear as:
- Conversation loops ("I didn't get that, can you try again?" ad infinitum)
- Utterance mapping to wrong intents, which leads to context loss
- No content in the conversation library that matches the customer's utterance
A fallback is a response or action that a bot sends when the customer's input doesn't explicitly identify with one of our scripted responses. It's not practical, scalable, or even possible to predict every potential request a customer might ask the bot. So, we use fallback experiences to catch all of those things we can't match to get customers back on track.
Fallbacks use other technologies, like search, to:
- Help customers rephrase their question
- Present FAQ search results
- Connect the customer to other help, including human support
Keep smalltalk in fallbacks limited. Customers are already seeing a less-than-ideal experience. Don't make it silly by trying to be fun. Give them the tools to keep going.
When a fallback is presented, tell customers what happened and what to do.
- "Fall upwards" and suggest other intents that might be close to the customer's query. You can help them rephrase their question or offer pills of similar queries to get them to a matched intent.
- For search results, set appropriate expectations to prepare customers for what they're seeing. For example, "I found this answer."
- No matter which fallback they see, always provide options for them to indicate whether their question has been answered. Keep the conversation moving forward.
Errors are inevitable. Let the bot take the blame, even if the issue came from somewhere else in the technology.
- Work to fix the relationship
- Protect the Intuit brand
- If necessary, escalate to a human to resolve the issue (see below)
Use "sorry" sparingly. Think of other ways to acknowledge the problem without causing fear.
- Looks like my wires got crossed. Can you try again?
- I'm having trouble understanding that. Can you try rephrasing?
- Looks like I'm not being helpful. Let me connect you with someone.
To learn more, check out our pattern for delivering bad news.
Escalation for the bot means connecting the customer to one of our agents or experts. Handle the customer's response, then connect them to the Contact us flow.
Depending on your approach, escalation happens in steps.
- Guide customers to the pain point. For example, "I can't refund your purchase because you've already registered, but I can take you to your account to review your charges."
- Guide customers to topics and intents. For example, "Looks like you're trying to track your tax refund. Do you want to check on your IRS or state refund?"
- Guide customers to an agent or expert.
Interjections and segues
Interjections are things a customer says out of context with the current conversation, but are worth hearing and understanding. Build these into your conversations to limit frustrations.
Examples are things like:
- "Hold on." The bot should be able to understand that this means the customer just needs a minute to get back, and not send them down a fallback flow.
- "No, I don't want to track miles. I want to send some invoices." Recognize that the "no" is in response to the miles intent and present the invoice intent instead.
Think about things customers might say that the bot should be able to understand regardless of where they are in the conversation.
Use segues to manage these transitions from one context to another (and possibly back) so customers know where they are in the conversation.
They aren't always necessary. Sometimes fulfilling the intention of the interjection and repeating the prior prompt is enough.
Keep segues short. Be aware of how much you're saying when the conversation is stacked.
Don't repeat words, phrases or constructions. It can create confusion in a written conversation. Keep language clear to direct customers down the right conversation path.
Use context. The more you know before the segue happened and what's happening after, the more you can craft a smooth transition.
It's OK to generalize. Something like, "So, where were we?" can get customers back on the conversation track.
Test, test, test! Before a content release, make a test plan and test all of your content with as many people as you can. The more people explore, ask, and play with your conversations, the better. Be as exhaustive as you can to uncover bugs and things you may have missed. After content is released, test again in production to make sure things are working as expected.