Table of Contents
- Key takeaways
- What is chatbot design?
- Chatbot design principles from usability research
- The 8 chatbot design patterns
- 1. Scope: decide what the chatbot handles
- 2. Persona and tone: decide how the chatbot sounds
- 3. Opening turn: design the first message
- 4. Input: offer buttons and free text together
- 5. Answers: put the answer first and keep it short
- 6. Flow and context: let visitors change course
- 7. Fallback and handoff: design the misses
- 8. Widget UI: design the chat window
- How to design friendly chatbot responses
- The chatbot design process in six steps
- Scripted flow, AI answers, or both?
- Worked example: a design spec for a store chatbot
- How to test a chatbot design
- Common chatbot design mistakes
- Frequently asked questions
- Basics
- What is chatbot design?
- What are chatbot design patterns?
- What is the difference between chatbot design and conversation design?
- Opening messages and tone
- What should a chatbot's first message say?
- How do you write a friendly chatbot greeting that is still concise?
- Should a chatbot have a personality?
- How should a chatbot handle small talk?
- Flows and fallback
- Should a chatbot use buttons or free text?
- How many times should a chatbot retry before handing off?
- Do AI chatbots still need conversation design?
- Interface and testing
- Where should a chat widget go on a page?
- What accessibility rules apply to a chat widget?
- How do you test a chatbot design before launch?
- Sources

- Design the scope first. Nielsen Norman Group's guidelines say to tell people which tasks the bot can do and to avoid false expectations.
- Write the opening turn with care. It should say the assistant is a bot, name three or four topics, and show them as buttons.
- Friendly means clear and consistent. Pick 4 to 6 persona adjectives and hold the same tone from the greeting to the last reply.
- Offer buttons and free text together. Rephrase once after a miss, then offer a person.
- Check the widget against WCAG 2.2: 4.5:1 text contrast, full keyboard operation, and tap targets of at least 24 by 24 CSS pixels.
Key takeaways
Pattern | Design decision | What good looks like |
1. Scope | Which tasks the bot handles | A written list of in-scope and out-of-scope topics |
2. Persona and tone | How the bot sounds | 4 to 6 adjectives and one consistent tone |
3. Opening turn | What the first message says | Bot disclosure, three or four topics, starter buttons |
4. Input | How visitors reply | Buttons for common choices, free text always open |
5. Answers | How replies are shaped | Answer in the first sentence, details on request |
6. Flow and context | How the conversation moves | Visitors can change course, and nothing is asked twice |
7. Fallback and handoff | What happens after a miss | One rephrase, then a route to a person |
8. Widget UI | How the chat window behaves | One entry point on every page that passes WCAG 2.2 AA |

What is chatbot design?
Chatbot design principles from usability research
- Be upfront that the visitor is talking to a bot.
- Tell people clearly which tasks the bot can do.
- Let people use both free text and selectable links.
- Save information from one task to the next.
- Be honest about not understanding, and offer a way out to a person.
The 8 chatbot design patterns
1. Scope: decide what the chatbot handles
- Write down: five to ten in-scope topics, and the topics that always go to a person.
- Design check: every in-scope topic has content the bot can answer from.
2. Persona and tone: decide how the chatbot sounds
- Brainstorm adjectives that describe how the bot should come across.
- Narrow the list to 4 to 6 key adjectives.
- Think of a few characters that fit those adjectives.
- Pick one character and describe it in a paragraph at most.
- Write down: the adjectives, three sample replies, and words the bot never uses.
- Design check: read the greeting, an answer, and the fallback message together. They should sound like one speaker.
3. Opening turn: design the first message

Opening pattern | Example first message | Use it when |
Menu opening | "Hi, this is the Acme assistant, an AI. Pick a topic or type a question." Buttons: Shipping, Returns, Sizing, Talk to a person | The bot covers a few clear topics |
Task opening | "Hi, this is the Acme booking assistant, an AI. Which day would you like to come in?" | The bot does one job |
Page-aware opening | On the pricing page: "Questions about plans? Ask here." Buttons: Compare plans, Annual discount, Cancel anytime? | The site has pages with different intent |
- Write down: the greeting text, three or four starter buttons, and any page-specific versions.
- Design check: a new visitor can say what the bot does after reading the opening turn once.
4. Input: offer buttons and free text together
- Write down: which steps get buttons, and the wording of each one.
- Design check: every button step also accepts typed input.
5. Answers: put the answer first and keep it short
- Use progressive disclosure. Let visitors expand and collapse extra detail in place.
- Include images. Product suggestions and how-to steps are easier to judge with a picture.
- Do not autoscroll to the end of a long reply. Visitors then have to scroll back up to start reading.
- Write down: a length limit, a format for steps, and whether sources are shown.
- Design check: the first sentence of a sample reply answers the question on its own.
6. Flow and context: let visitors change course
Failure | What the bot does | Design fix |
The stubborn bot | Keeps asking the same question when the visitor changes topic | Let visitors change course, and cap retries per question |
The clueless bot | Gives a nonsense reply to "help" or "cancel" | Handle help, cancel, and start over at every step |
The mysterious bot | Shows nothing while it works | Acknowledge the message at once |
The captain obvious bot | Offers obvious information nobody asked for | Give only information the visitor can use |
The bot that can't forget | Brings up past conversations that are not relevant | Stay on the current topic until the visitor returns to an old one |
- Write down: one sample dialog per task, including one where the visitor changes their mind.
- Design check: in every sample dialog, the bot never asks for a detail it already has.
7. Fallback and handoff: design the misses
- On the first miss, ask again in different words. Never repeat the same prompt verbatim.
- On the next miss, add support such as options or an example.
- After two failed attempts to collect the answer, stop asking and tell the visitor another way to finish the task.
Situation | Fallback message design |
First miss | Rephrase the question and show two or three options as buttons |
Second miss | Add an example or options, and show a route to a person |
Third miss | Stop asking, say the bot cannot help with this, and hand off |
Topic is out of scope | Say so in one line, name what the bot does cover, and offer a person |
Visitor asks for a person | Hand off at once and say what happens next |
- Write down: the fallback messages, the retry limit, and the handoff confirmation text.
- Design check: a person is never more than two failed attempts away.
8. Widget UI: design the chat window
Element | Design rule | Source |
Entry point | One chat entry point per site. Two competing chat widgets confuse visitors. | Nielsen Norman Group, 2026 |
Availability | Keep the chat on every page of a task, including checkout | Nielsen Norman Group, 2026 |
Window size | Let visitors resize the window for long or visual answers | Nielsen Norman Group, 2026 |
Text contrast | At least 4.5:1 for normal text | WCAG 2.2, criterion 1.4.3 |
Keyboard | Every function works from a keyboard | WCAG 2.2, criterion 2.1.1 |
New messages | Assistive technology can announce them without moving focus | WCAG 2.2, criterion 4.1.3 |
Tap targets | At least 24 by 24 CSS pixels | WCAG 2.2, criterion 2.5.8 |
Small screens | Content reflows at 320 CSS pixels wide with no sideways scrolling | WCAG 2.2, criterion 1.4.10 |
- Write down: button position, colors with their contrast ratio, icon, and window behavior on mobile.
- Design check: complete one full conversation with only a keyboard.
How to design friendly chatbot responses
- Acknowledge the question in a few words, then answer it.
- Use plain words and the visitor's own terms.
- Offer one next step.
- Keep the same tone when the news is bad.
Situation | Unfriendly | Chatty | Friendly and concise |
Greeting | "State your query." | "Hey there, superstar! So happy you stopped by today!" | "Hi, this is the Acme assistant, an AI. Ask about orders, returns, or sizing." |
Answer | "See the returns policy." | "Great question! Returns are something lots of people ask about, so here goes..." | "You can return any item within 30 days. Want the steps?" |
Fallback | "Invalid input." | "Oops! Silly me, my circuits are tangled again!" | "That one is outside what this assistant covers. Would you like to talk to a person?" |
Handoff | "Transferring." | "Hang tight while the humans get rounded up!" | "Passing this to the team with your messages so far. They reply by email." |
The chatbot design process in six steps
- Collect real questions. Pull the last 100 questions from email, chat, and site search.
- Set the scope. Sort the questions into topics the bot handles and topics for a person.
- Write the persona. Choose the adjectives and write three sample replies.
- Write sample dialogs. Google's guide recommends sample dialogs as a way to try design ideas before building. Write one per task, plus one where the visitor goes off script.
- Design the opening turn, fallback messages, and widget. Use patterns 3, 7, and 8.
- Test with real people, then revise. Watch a handful of people try the main tasks and note where they stall.
Scripted flow, AI answers, or both?
If you need | Pick | Why |
Answers to open questions from a website, help center, or documents | A knowledge-trained AI chatbot | Nobody can script every phrasing, and the answers already exist in the content |
A fixed sequence such as a booking, a quote, or lead qualification | A scripted flow in a visual builder | Every step is predictable and can be tested |
Both open questions and one or two fixed sequences | A hybrid of the two | Each part of the conversation gets the method that suits it |
Chat and voice agents designed step by step by a dedicated team | A conversation design platform | It gives designers control over every turn |
Refunds, cancellations, or anything that commits money | A person or a fixed flow | A generated reply should not make the commitment |

Pattern | SiteGPT setting |
Persona and tone | 12 built-in personas, plus custom instructions |
Opening turn | A welcome message, and conversation starter buttons that can be limited to chosen pages |
Input | AI-written follow-up suggestions after each answer, 3 by default |
Fallback and handoff | Human support with escalation buttons, on any plan |
Widget UI | Colors, icon, position, dark mode, and font size |
Worked example: a design spec for a store chatbot
Pattern | Decision |
Scope | In: order status, shipping, returns, sizing. Out: refunds, warranty claims, repairs |
Persona | Knowledgeable, plain-spoken, patient, brief |
Opening turn | "Hi, this is the Pedal assistant, an AI. Ask about orders, shipping, returns, or sizing." Four starter buttons |
Input | Buttons for the four topics and for frame sizes. Free text open at every step |
Answers | Three sentences at most, a source link, a size chart image for sizing questions |
Flow | Order number asked once and reused. "Start over" works at any step |
Fallback | One rephrase with buttons, then "Talk to a person" |
Widget | Bottom right on every page. Dark blue button with white text |
Result | Checks | Share |
Passed | 13 | 81% |
Failed | 3 | 19% |
Total | 16 | 100% |
How to test a chatbot design
Test | How to run it | Pass mark |
Scope test | Show five people the opening turn for ten seconds | Each can name two things the bot does |
Off-script test | Give an unexpected answer in the middle of each flow | The bot recovers without a restart |
Memory test | Start a second task in the same chat | The bot does not ask again for known details |
Fallback test | Ask three out-of-scope questions | The bot declines and offers a person each time |
Tone test | Read the greeting, an answer, and the fallback aloud | They sound like one speaker |
Keyboard test | Complete a conversation without a mouse | Every button and field is reachable |
Contrast test | Check the text and button colors | 4.5:1 or higher for normal text |
Common chatbot design mistakes
- An open-ended greeting. Visitors ask for things the bot cannot do, and the first reply is a failure.
- A personality that fades. The greeting is playful, and every later message is flat.
- Buttons with no text box. Visitors with a question outside the menu have nowhere to go.
- A fallback that loops. The bot repeats the same question until the visitor leaves.
- Two chat widgets on one site. Visitors cannot tell which one to use.
- Brand colors that fail contrast. Some visitors cannot read the replies.














