title: WhatsApp bot UX: when to use buttons, lists, and free text description: >- Learn when to use buttons, lists, and free text in WhatsApp bots — with mobile-first UX principles and example conversation designs for booking and support. date: '2026-07-15' author: Rebecca Pearson authorAvatar: /blog/authors/rebeca-avatar.webp category: Resources cover: /blog/whatsapp-bot-ux-buttons-lists-free-text/blog-thumbnail-blank.png readingTime: 5 tags:
- WhatsApp bot UX
- WhatsApp chatbot design
- WhatsApp buttons vs free text
- conversational UI design sourceUrl: 'https://www.codewords.ai/blog/whatsapp-bot-ux-buttons-lists-free-text'
One of the most common WhatsApp bot design questions is: should I use buttons, numbered lists, or just let people type freely? The answer depends on the situation — and getting it wrong creates friction that costs you completions. This guide covers when to use each input mode, with example conversation designs for booking, ordering, and support flows.
TL;DR
- Free text suits open-ended questions where you don't know what the customer will say — it's also what works best with modern AI agents.
- Numbered options suit situations with two to five clear choices — they reduce cognitive load and speed up decisions.
- Menus reduce engagement for AI agents — they work against the natural language understanding that makes modern WhatsApp bots powerful.
The three input modes in WhatsApp bots
Free text
Free text means the customer types whatever they want. No structure imposed, no options presented. The AI reads the message and decides how to respond.
This is the most natural input mode because it matches how people actually use WhatsApp. Nobody thinks in menus when they're texting their friends — they just say what they need.
For AI-powered bots, free text is also the most powerful. The language model can interpret nuance, handle unexpected phrasing, follow context across multiple messages, and give genuinely useful responses. Constraining users to a menu is constraining the AI's ability to be helpful.
Numbered options
Numbered options present a list of choices the user picks from by replying with a number.
"What can I help you with today? 1 — Book an appointment 2 — Check prices 3 — Speak to the team"
This works well when you have a small number of clearly distinct paths and you want to reduce the thinking required of the user. It's fast, clear, and familiar.
The limit is flexibility. A user who wants to both check prices and book an appointment in the same interaction has to go through the flow twice. A user whose question doesn't fit any of the three options is stuck.
Polls
WhatsApp Business API supports interactive list messages and poll-like button inputs — structured selections that appear as visual elements rather than text. These are useful for binary choices or small selections where a visual format improves clarity.
Polls and button messages are typically used for confirmation steps ("confirm your booking — yes or no"), preference selections in group contexts, or structured forms that need to capture specific structured data.
When to use each input mode
Use free text when:
- You're building an AI-powered bot (free text lets the AI do what it's good at)
- The customer's question or need could take many forms
- You're handling support, information, or advice flows
- You want the bot to ask follow-up questions naturally
- The customer might want to express something nuanced
This covers most of the scenarios a modern WhatsApp bot handles: customer support, FAQ answering, lead qualification, consultation requests, and general enquiries.
Use numbered options when:
- There are two to five clearly distinct, mutually exclusive choices
- Speed is important and you want to minimise typing
- The user is choosing between options rather than expressing something
- You're at a decision point in a flow where an open-ended response would be confusing
Good use cases: confirming an appointment date when you've offered three slots; choosing a service type from a defined menu; selecting a department to route to.
Use polls and button messages when:
- You need a binary yes/no confirmation
- You're capturing structured data that must match specific options
- You're designing for a group chat context where free text would be noisy
When menus work against you
Here's the counterintuitive insight that many bot builders miss: rigid numbered menus actively reduce engagement when you're running an AI agent.
The user who types "I'm looking for something for a friend's birthday, she loves yoga and is 40 next month" has given the AI everything it needs to provide a genuinely personalised response. If you constrain that same user to "1 — gifts for her, 2 — gifts for him, 3 — gifts for them," you've thrown away the natural language information and forced them into a clunky interaction that feels outdated.
AI agents are most powerful when they can have real conversations. Menus are a workaround for AI that can't handle real conversations. Don't use menu logic to handicap an AI that doesn't need it.
Mobile-first design principles
WhatsApp is a phone app. The UX principles that matter most are mobile-specific.
Short paragraphs. Two to three sentences per message, with line breaks between distinct thoughts. Text blocks that run to a full paragraph look fine on a desktop chat; on a phone they're exhausting to read.
Bold for key information. Use bold (asterisks in WhatsApp) for the most important piece of information in a message — a price, a time, a location. This lets users scan quickly on a small screen.
Dashes for lists. If you're presenting multiple options or pieces of information, use a dash-and-line-break format rather than a long sentence with commas. It's much easier to read on mobile.
One action per message. Don't ask two questions in the same message. "What day works for you, and do you have a time preference?" leads to confused or incomplete replies. Ask one thing at a time.
End with a clear next step. Every bot message should leave the user knowing what to do next — reply with a choice, answer a question, or say a specific thing to trigger the next part of the flow.
Example conversation designs
Booking flow (AI-first with numbered choice for time slot)
Customer: Hi, I'd like to book a hygienist appointment
Bot: Great — I can check availability for you. When were you thinking? (Morning, afternoon, or evening? And which days work for you this week?)
Customer: Thursday afternoon ideally
Bot: I have two slots available on Thursday:
- 2:30pm with Sarah
- 4:15pm with James
Which works better for you?
Customer: 2:30 please
Bot: Perfect. Can I take your name and a contact number to confirm the booking?
In this flow, free text handles the open-ended parts (when and what). Numbered options appear only at the specific decision point where the customer is choosing between defined slots. The rest is a natural conversation.
Support flow (free text throughout)
Customer: My order hasn't arrived and it was supposed to be here two days ago
Bot: I'm sorry to hear that — let me look into it. Can you share your order number? (It'll start with #OW)
Customer: #OW48291
Bot: Found it — your order shipped on Monday from our Leeds warehouse. The tracking shows it's currently with the courier. Here's the tracking link: [link]. It's showing an estimated delivery of today by 6pm. If it doesn't arrive, reply here and I'll escalate it straight away.
This flow requires no menus at all. The AI understands the problem, asks for the right information, and provides a specific resolution — all in natural conversation.
Ordering flow (numbered options for product category, free text for details)
Customer: I want to order a birthday cake
Bot: Lovely — what kind of cake are you after? 1 — Sponge 2 — Chocolate 3 — Vegan option 4 — Something different
Customer: 2
Bot: Great choice. How many people is it for, and do you have a date you need it by?
Here, numbered options make sense because the customer is choosing between defined product categories. But the flow immediately returns to free text once that choice is made — because "how many people?" and "what date?" are open questions.
Why formatting improves readability
Good WhatsApp formatting isn't decoration — it's a readability tool for a small screen.
Use bold for: prices, times, names, key actions ("Reply YES to confirm")
Use dashes for: lists of options, feature lists, step-by-step instructions
Use line breaks to: separate distinct pieces of information, create visual breathing room between questions and answers
Avoid: walls of text without formatting, bullet points for only one or two items (just use a sentence), formatting every word (it loses impact).
The goal is a message that a user can scan in two seconds and understand completely. If they need to read it twice, the formatting isn't doing its job.
Ready to build a WhatsApp bot with the right UX from the start? Start with CodeWords — describe what you want to Cody, the AI automation assistant, and your bot is built without a line of code.