Last updated
Grace Cowan


WhatsApp buttons are tappable options you add to a message so a customer can reply, open a link or pick from a list without typing anything. The platform supports several different kinds, and they are not interchangeable.
Most articles on this stop at reply buttons and leave it there. This one covers all of it: the full set of interactive message types, the character and count limits Meta actually publishes, how to build a proper WhatsApp menu using list messages, how buttons work inside message templates, and why some of this is not possible in the WhatsApp Business app at all.
The interactive message types, and what each is for
Meta groups these as interactive service messages, which means messages you send inside an open customer service window rather than as an approved template. Here is the current set, using Meta's own names.
Type | What it does | Typical use |
|---|---|---|
Reply buttons | Up to three tappable options that send a reply back into the chat | Yes or no, pick a department, confirm an appointment |
CTA URL button | A single button that opens a web address | Send someone to a booking form or an order page |
List | A menu of options grouped into sections | Service menus, branch selection, product categories |
Flow | Opens a structured form or multi-step flow inside WhatsApp | Data capture without leaving the chat |
Location request | Asks the customer to share their location | Delivery, roadside assistance, finding a nearest branch |
Address message | Collects a delivery or billing address | Order fulfilment |
Voice call | Lets a customer start a WhatsApp voice call from a message | Moving a conversation to a call |
Request contact info | Asks the customer to share contact details they have on file | Lead capture, verifying who you are speaking to |
Call permissions request | Asks a customer's permission for the business to call them | Required before some calling scenarios |
WhatsApp supports a voice call button, which lets a customer start a WhatsApp voice call from a message. Meta documented it in July 2026.

There are also commerce message types that draw on a connected catalogue: catalogue messages, single-product messages, multi-product messages (up to 30 products across up to 10 sections) and product carousels (up to 10 product cards). These behave differently because the content comes from your catalogue rather than from the message itself.
One thing worth being clear about, because a lot of published guidance is vague here: all of the above are service messages. They can only be sent while a customer service window is open. A customer message or call opens that window for 24 hours, and each new message or call from them resets it. Once it closes, the only thing you can send is a pre-approved template.
Reply buttons and CTA buttons
These two account for most real-world use, and they do opposite things.


Reply buttons send a response back into the conversation. The customer taps "Book a service" and that phrase arrives as their reply, which your system can then act on. You get up to three buttons per message, each with a label of up to 20 characters. The body text can run to 1,024 characters and the footer to 60. Each button also carries an ID of up to 256 characters, which is what your system reads rather than the visible label.
CTA URL buttons open a link instead. You get one per message, again with a 20-character label, a text header of up to 60 characters, body up to 1,024 and footer up to 60. Meta does not publish a character limit for the URL itself on the CTA URL message page, so treat long tracked links with caution rather than assuming a cap.
The choice between them is a choice about where the next step happens. Reply buttons keep the conversation inside WhatsApp, which is what you want for triage, confirmations and anything you intend to automate. A CTA URL button sends the customer to your website, which makes sense when the task genuinely needs a browser, such as payment or a long form. Sending someone out of the thread has a cost, so be deliberate about it.
Twenty characters is tighter than it sounds. "Book a service" fits. "Book a service appointment" does not.
Building a menu with list messages
This is the part most guides skip, and it is the answer to the question people are usually asking when they search for WhatsApp menus.

A list message is how you build a menu on WhatsApp. The customer sees a single button, taps it, and a menu opens with your options grouped into sections. It is the right format whenever you have more than three choices, because reply buttons cap out at three.
The limits Meta publishes:
Element | Limit |
|---|---|
Sections | 10 |
Rows | 10 in total, across all sections |
Row title | 24 characters |
Row description | 72 characters |
Row ID | 200 characters |
Section title | 24 characters |
Button that opens the list | 1, label up to 20 characters |
Text header | 60 characters |
Body | 4,096 characters |
Footer | 60 characters |
The one that catches people out is rows. It is 10 rows in total across the whole message, not 10 per section. Ten sections of ten rows each is not available. If you have more options than that, the answer is a shorter first menu that branches, not a longer one.

A workable service menu might look like this:
Button label: Main menu
Section | Row title | Row description |
|---|---|---|
Bookings | Book a service | Choose a date and time for your next service |
Bookings | Reschedule | Move an existing booking |
My account | Check my balance | See what is outstanding on your account |
My account | Update my details | Change your phone number or address |
Something else | Speak to someone | Hand over to a member of the team |
That is five rows across three sections, which leaves room to grow. The descriptions do real work here: 72 characters is enough to remove ambiguity, and a menu where every row needs explaining is a menu that needs restructuring.
When to use a list over reply buttons: three options or fewer, use reply buttons, because they are visible without a tap. Four or more, use a list. And whichever you choose, always include a route to a person. A menu with no way out is the fastest way to make someone call you instead.
If you are building menus that branch, that logic sits in your chatbot and automation setup rather than in the message itself.
Buttons in message templates
Template buttons are a different thing from interactive messages, and conflating the two is the single most common error in published guidance on this topic.

Interactive messages are sent inside an open customer service window. Templates are what you use to start a conversation, or to reach someone after the window has closed. Templates need Meta's approval before you can send them, and review can take up to 24 hours.
Meta's template components documentation currently lists eight button headings:
Button | Count | Limits |
|---|---|---|
Quick reply | Up to 10 | Label 25 characters |
URL | Up to 2 | URL 2,000 characters, label 25 characters, supports one variable appended to the URL |
Phone number | 1 | Number 20 characters, label 25 characters |
Copy code | 1 | Copied string 20 characters |
Voice call | 1 in Meta's template example | Button text 20 characters, TTL 1,440 to 43,200 minutes |
One-time password | Authentication templates only | A special URL button |
Multi-product | Special button, not customisable | Up to 30 products across up to 10 sections |
SPM | Special button, not customisable | One catalogue product |
Flow buttons are also supported in templates, confirmed by Meta's changelog in April 2025, though they do not appear as a heading on the current components page.
Across all types you get a maximum of 10 buttons on a template. Worth knowing: if you use more than three, WhatsApp displays two of them and puts the rest behind a "See all options" control. So a template with eight buttons does not show eight buttons. Design for the first two being the ones that matter.
The template body runs to 1,024 characters, the footer to 60, and a text header to 60. Media headers are allowed too, within the standard file caps: 5MB for images, 16MB for video and audio, 100MB for documents, and 100MB overall.
Template buttons are what make a campaign or a notification actionable, so this matters most when you are sending at volume through broadcasts. If you are working out what to put in them, we have a separate piece on WhatsApp chatbot and template ideas.
What you can do in the app, and what needs the Platform
A lot of people searching for how to add a menu in WhatsApp Business are using the wrong product, and very little published guidance tells them.


Meta positions the WhatsApp Business app for small business owners personally managing conversations with customers. It gives you a business profile, greeting and away messages, quick replies, labels, a catalogue, catalogue links, a cart and broadcasts. Those are useful, and for a business handling a manageable number of conversations by hand they may be all you need.
What the app does not give you is the list message builder. Interactive lists, Flows, location requests and the rest of the types in this article are Cloud API objects, which means they need the WhatsApp Business Platform. A catalogue can work as a kind of storefront, and eligible broadcasts can carry buttons, but neither is the same as building a proper menu.
So if you have tried to add a menu in the app and could not find it, nothing is wrong with your setup. The feature is not there.
The practical signal that you have outgrown the app is volume and people: more conversations than one person can hold, more than one person needing to answer them, or a need to connect conversations to the systems where your customer data already lives.
Buttons and menus do two jobs at once. They make it faster for a customer to tell you what they want, and they make the answer structured enough for you to automate.
If you are working out what your setup can support, our WhatsApp Business channel page covers what the Platform gives you and how it connects to the rest of your customer service.
Frequently asked questions
How many buttons can a WhatsApp message have?
Do WhatsApp buttons need template approval?
Why can't I add a menu in the WhatsApp Business app?
What is the difference between a reply button and a CTA button?
How many options can a WhatsApp menu have?
About the author

Grace Cowan
Head of Marketing
Grace is Head of Marketing at Cue, an omnichannel customer service platform. She works across B2B SaaS growth, customer experience and AI-led service, sharing practical insights on WhatsApp Business, customer communication and the strategies businesses can use to improve service and drive revenue.
Further reading

What is a WhatsApp Business account?
The three versions of WhatsApp explained, what the free Business app can and cannot do, and the signals that you have outgrown it.
Read the guide

Is WhatsApp Business free?
The free app really is free. Here is where the costs start, what Meta charges per message, and why the platform fee is the real decision.
Read the guide

WhatsApp Business API pricing explained
Per-message rates by category and country, platform subscriptions, volume tiers, and a worked monthly bill showing where the money actually goes.
Read the guide


