WhatsApp Button Messages: List, Reply and CTA Buttons
Let your customer tap a button instead of typing, and get a clear answer. WhatsApp's interactive messages do exactly that. We explain reply buttons, list messages and link buttons with Meta's current limits, and show with examples which to use where.
When you message a customer "Reply yes if you confirm your order", you know what comes back: "yep", "ok", "sure, but when does it ship?", sometimes just a thumbs-up. WhatsApp button message types exist to tidy up this mess. The customer taps instead of typing, and you get a clear answer about which option they chose.
Below we go through reply buttons, list messages and link (CTA) buttons one by one. We checked the character and item limits for reply buttons and list messages against Meta's developer documentation. Toward the end we also touch briefly on WhatsApp Flows.
What interactive message types does WhatsApp have?
Meta calls these messages "interactive messages". All the types we describe here are sent through the WhatsApp Business API. When a customer taps a button or a list row, the choice comes back to your system with an ID you defined; a bot or flow looks at that ID and moves to the next step.
| Type | What it does | Number of options | Typical use |
|---|---|---|---|
| Reply buttons | Shows tappable options under the message | Up to 3 | Confirmation, yes/no, changing an appointment |
| List message | An options menu that opens when you tap one button | Up to 10 rows in total | Branch, category, delivery option |
| CTA (link) button | Opens a web page with a single button | 1 | Payment page, form, order page |
| Template buttons | A quick reply, link or call button added to an approved template | Depends on the template design | Notifications and campaigns where you start the conversation |
| WhatsApp Flows | Multi-step form screens that open inside the chat | Depends on the screen design | Applications, appointments, detailed surveys |
When do you use reply buttons?
This is the type we see most. Up to three buttons appear under the message text. When the customer taps one, the button's text lands in the chat as their answer, and they do not need to type anything extra.
Limits set by Meta
- Number of buttons: up to 3.
- Button text: up to 20 characters; if there are several buttons, each one's text must be different.
- Body text: up to 1,024 characters.
- Footer: optional, up to 60 characters.
- Header: optional; it can be text, an image, a video or a document.
20 characters fill up fast. "I want to change my appointment" will not fit. "Change appointment" will.
Where is it useful?
- Order or appointment confirmation: "Confirm", "Change", "Cancel".
- The bot's first greeting: "Product info", "Return request", "Talk to an agent".
- Short feedback at the end of a conversation: "My issue is solved", "Not solved".
List messages: when you need more than three options
Once you have more than three options, it is time for a list message; a classic WhatsApp button message is not enough here. The customer taps the single button under the message, a menu opens, and they pick a row from it. You can also split the options into sections, for example under two headings, "Istanbul branches" and "Ankara branches".
Limits set by Meta
- Sections: up to 10; each section title up to 24 characters.
- Rows: up to 10 across all sections combined. A row title is up to 24 characters, and its optional description is up to 72 characters.
- The button that opens the menu: a single button, up to 20 characters.
- Body text: up to 4,096 characters.
- Header and footer: both optional and up to 60 characters; the header can only be text.
The 10-row limit applies to the whole list. You cannot open three sections and put four rows in each. If you need more options, you can add an "Other" row to the first list and send a second list.
Category selection, service type, branch, delivery option or a frequently-asked-questions menu all suit a list message well. Do not leave the row description empty; a short note like "Next-day delivery" helps the customer pick the right row.
Where does a CTA button take the customer?
Sometimes you do not want to offer options. The goal is to take the customer to one place: a payment page, an application form, a product page. Pasting a long link into plain text looks cluttered and does not inspire much trust.
In a CTA message, the link sits behind a single button, and the customer only sees a short label such as "Complete payment". The difference from a reply button is this: when tapped, no answer lands in the chat, the page opens. In short, you have to track what the customer does on that page from the page itself, not from the chat.
What is the difference between template buttons and in-chat buttons?
This is the most confused point. You can send the reply button, list and CTA messages we described above freely only within the 24-hour window that opens after the customer writes to you. If the window has closed, or if you are the one starting the conversation, you need to use a Meta-approved template message. We explain the rule in detail in our WhatsApp 24-hour rule article.
The good news: you can add buttons to templates too. Quick reply buttons like "Yes, I'm in", a website link or a call button go to Meta for approval as part of the template. This is the route for messages where you open the conversation, such as an appointment reminder or a campaign announcement. When the customer taps the quick reply button in the template, they have written to you and the 24-hour window opens; after that you can continue with in-chat buttons.
The charge depends on the type of message, not on whether there is a button. Templates are charged by category (marketing, utility, authentication). Since October 1, 2026, for replies given within the 24-hour window, 1,000 service messages per month per number are free and the rest are charged; utility templates sent inside the window are also charged. See our article on Meta's charges for details.
Where does WhatsApp Flows come in?
Three buttons or ten rows are sometimes not enough. Name, date, address, several choices at once... Collecting these one question at a time wears the customer out. WhatsApp Flows, on the other hand, works like a multi-screen form that opens inside the chat; the customer fills in the fields and sends everything in one go.
We will cover Flows in detail in a separate article. For now a simple rule is enough: a button or list for a single choice, Flows for collecting several pieces of information. In Chatopya, WhatsApp Flows is included in the Business and Enterprise plans.
How do you write a good WhatsApp button message?
- Write the button as a verb. "Confirm", "Choose a branch", "Talk to an agent". Let the customer understand what will happen before they tap.
- Make the body text understandable on its own. What is being asked should be clear even without looking at the buttons.
- Build what is behind every button in advance. A button that is tapped and gets no answer leaves a worse impression than having no button at all.
- Leave an exit door. If none of the options fit, the customer should not get stuck; add an "Other" or "Talk to an agent" option.
- Think about what happens if the customer types. We see many customers type their own sentence instead of pressing a button. Build a structure that handles those messages too.
- Check the character limits before going live. 20 and 24 characters are short for Turkish; long texts can stop the message from being sent.
Let's build your flow together. We can talk through which message type works in which scenario in a demo.
Book a free demoHow do buttons and flows come together in Chatopya?
In Chatopya's drag-and-drop flow designer, you build flows such as an order form, an appointment, a survey or a return scenario without writing code. In Bot Center, you can test a flow before publishing it. You can add images, buttons and links to the templates you use for bulk sends, and you prepare the templates together with our team to comply with Meta's rules.
So what if the customer types instead of pressing a button? The AI answers from your business's own information; what it cannot resolve it hands to an agent along with the chat history. For the steps of setting up a bot, take a look at our WhatsApp chatbot setup article, and for AI-powered customer service, our product page.
Frequently asked questions
How many options can a WhatsApp button message have?
In a message with reply buttons, you can use up to 3 buttons. If you need more options, a list message lets you offer up to 10 rows in total.
Can I send a button message outside the 24-hour window?
In-chat reply button, list and CTA messages can only be sent while the window is open. If the window is closed, you need to use a Meta-approved template message with buttons.
Can I send a button message from the WhatsApp Business app?
The interactive message types we describe here are sent through the WhatsApp Business API. If you use the app on your phone, you need to move to the API for these messages.
Can I add an image to a list message?
No, the header of a list message can only be text. If you want to use an image, video or document, you can choose the header field of a message with reply buttons.
Does adding a button increase the cost of a message?
Meta charges by message type: templates by category, and service messages inside the window are charged after the monthly free allowance. There is no separate line item for the button itself.
Related articles
Let your customers tap instead of type
Set up your WhatsApp customer service in a single panel with the flow designer, AI replies and handover to an agent. Setup and training are free.