Skip to content
OmniChannels.ai

WhatsApp Buttons and List Messages: Which Interactive Type to Use

Reply buttons, list messages, CTA URL buttons, carousels and product messages on WhatsApp: when to use each, Meta's limits, UX patterns and real examples.

Updated 8 min read

By OmniChannels.ai Editorial Team · Reviewed by BroadNet Messaging Solutions Team

WhatsApp

Short answer

Use reply buttons for up to three quick choices, list messages for up to ten options, a CTA URL button to send people to a web page without showing a raw link, media carousels to compare a few items, and product messages to sell from a connected catalog. Interactive messages are sent inside the 24-hour customer service window; outside it you need an approved template, which can carry its own buttons.

On this page
  1. What are WhatsApp interactive messages?
  2. Which interactive message type should you use?
  3. When should you use reply buttons?
  4. When should you use a list message?
  5. When should you use a CTA URL button?
  6. When should you use carousels and product messages?
  7. How do you design good button flows?
  8. Worked example: a Jeddah car service centre
  9. Common mistakes and limits
  10. How OmniChannels.ai helps

Key takeaways

  • Reply buttons allow up to 3 buttons with labels of up to 20 characters each, according to Meta's reference.
  • List messages allow up to 10 rows across up to 10 sections, with row titles of up to 24 characters.
  • CTA URL buttons map a link to a button label of up to 20 characters so customers do not see a long raw URL.
  • Media carousels need 2 to 10 cards, each with an image or video header and matching button types across cards.
  • Multi-product messages show up to 30 catalog items and reflect current price and stock from your catalog.

This guide is for product, CX and marketing teams designing WhatsApp journeys who want customers to tap rather than type. You will learn which interactive message type fits each job, the limits Meta sets, the design patterns that keep conversations short, and the mistakes that make buttons frustrating.

What are WhatsApp interactive messages?

Interactive messages are structured session messages that let customers respond with a tap: a button, a menu row, a link or a product. They reduce typing errors, make replies machine-readable and shorten conversations.

They differ from templates in one important way. Interactive messages do not require pre-approval, but they are free-form session messages, so they can only be sent inside the 24-hour customer service window that opens when a customer messages you. To start a conversation, or to reply after the window closes, you send an approved template, which can carry its own buttons. See template categories and approval.

Which interactive message type should you use?

Choose by the number of options and the action you want. The table summarises Meta's limits as published in its developer reference at the time of writing.

Type Best for Key limits (per Meta)
Reply buttons 2–3 quick choices: confirm, reschedule, talk to agent Up to 3 buttons; labels up to 20 characters; body up to 1,024 characters; optional text, image, video or document header
List message Menus of 4–10 options: branches, topics, time slots Up to 10 rows across up to 10 sections; row title 24 characters, description 72; menu button label 20 characters; body up to 4,096 characters
CTA URL button Sending people to a page: payment, tracking, booking Button label up to 20 characters; body up to 1,024 characters; the raw URL stays hidden
Media carousel Comparing a few items visually 2–10 cards; image or video header on each; card text up to 160 characters; same button type and count on every card
Single-product message Showing one catalog item Requires a connected catalog; shows image, title, price and a View button
Multi-product message A curated subset of a catalog Up to 30 products organised in sections; customers can add to cart and send an order

Meta also offers other types, such as location requests and WhatsApp Flows for multi-screen forms. They are outside the scope of this guide but follow the same session-window logic.

When should you use reply buttons?

Use reply buttons when the customer has two or three clear choices and you want an answer now. They are the highest-signal format because every option is visible without opening a menu.

Good uses:

  • "Confirm appointment" / "Reschedule" / "Talk to us"
  • "Yes, deliver tomorrow" / "Choose another day"
  • "English" / "العربية" as a language selector at the start of a chat

Keep labels short and verb-led. Twenty characters disappear fast, especially in Arabic, where some words are long; test both languages on a real phone.

When should you use a list message?

Use a list when there are more than three options but no more than ten. The customer taps one button and sees a menu, which keeps the chat tidy.

Group rows into sections when it helps scanning, for example "Dubai" and "Abu Dhabi" branches. Use the 72-character description for the detail that helps someone choose, such as opening hours or "next slot 4 pm". If you have more than ten options, narrow first with a reply button or list, then show a second list.

When should you use a CTA URL button?

Use it when the task is better done on a web page: paying an invoice, tracking a shipment, completing a long form. Meta notes that customers can hesitate to tap long or obscure URLs, and the CTA button maps the link to a clear label instead.

Use your own domain, make the label describe the destination ("Pay invoice", "Track order") and make sure the page is mobile-friendly and loads fast on mobile data.

When should you use carousels and product messages?

Use media carousels to compare a small set of options visually, such as three room types or four plans. Every card must use the same button setup, so design the cards as a set.

Use product messages when you sell from a catalog connected to your WhatsApp account. Meta describes multi-product messages as best for guiding customers to a relevant subset rather than the full catalog, such as re-ordering previous items or showing a category. Because they pull live catalog data, price and stock stay current. Your catalog must be accurate; if none of the items matches your catalog, Meta returns an error and nothing is sent. For a full commerce flow, see WhatsApp for ecommerce.

How do you design good button flows?

Treat each message as one decision. A short checklist:

  1. One question per message. Do not ask for a date and a branch in the same step.
  2. Always offer an exit. Include "Talk to an agent" or "Something else" so customers are never trapped.
  3. Use stable IDs. The webhook returns the ID you set; IDs like branch_jbr survive wording and translation changes.
  4. Accept typed replies too. Some customers will type "yes" instead of tapping. Handle common text answers.
  5. Handle stale taps. Customers may tap an old button hours later; check that the option is still valid before acting.
  6. Mirror language. Send Arabic labels to Arabic speakers; mixed-language buttons look careless.
  7. Confirm the outcome. After a tap, reply with what happened: "Booked: Tuesday 10:30, Marina branch."

Worked example: a Jeddah car service centre

A synthetic example. "Corniche Auto" sends an approved utility template the day before a service booking, with quick-reply buttons "Confirm" and "Reschedule".

When a customer taps "Reschedule", the window is open, so the system sends a list message titled "Choose a new slot" with two sections, "Tomorrow" and "This week", holding eight time slots. After the customer picks one, a reply-button message asks for confirmation. When the car is ready, a CTA URL button labelled "Pay invoice" opens the payment page. Every step offers "Talk to an advisor", which routes the chat to a human. Customers rebook in a few taps without typing a date in different formats.

Common mistakes and limits

  • Sending interactive messages outside the window. They fail; use a template.
  • Too many choices. Ten list rows is a ceiling, not a target.
  • Truncated labels. Labels over the character limit fail validation, and near-limit labels can look cramped. Write them for small screens.
  • No fallback for old apps or desktop. Write body text that still makes sense if a component does not render as expected.
  • Treating buttons as consent. A tap on "Yes, send me offers" is evidence of a choice, but store it with a timestamp as part of your opt-in records.
  • Limits change. Meta updates character and item limits; check the reference before launching.

How OmniChannels.ai helps

OmniChannels.ai, powered by BroadNet Technologies, lets teams create WhatsApp templates with variables, media and buttons, check them in a phone preview and track approval. Interactive messages, WhatsApp Flows and catalogs are supported, approved templates can be sent through campaigns with Excel or CSV upload, scheduling and duplicate filtering, and agents can send templates, media and attachments from the Omni Inbox. Arabic and English are supported, and delivery reports with CSV export show how each send performed. The public REST API connects interactive messages to your own systems.

Frequently asked questions

Can I send WhatsApp buttons without a template?

Yes, inside the 24-hour customer service window. Reply buttons, lists, CTA URL buttons, carousels and product messages are session messages that do not need pre-approval. Once the window has closed, you must send an approved template; templates can include quick-reply, URL, phone and copy-code buttons, which are defined when the template is created and reviewed.

How many buttons can a WhatsApp message have?

An interactive reply-button message supports up to three buttons, each with a label of up to 20 characters. If you need more options, use a list message, which supports up to ten rows. Templates have their own button rules, set when the template is created, so check Meta's template documentation for current limits.

What is the difference between a reply button and a list message?

Reply buttons are visible immediately under the message and suit two or three choices, such as confirm or reschedule. A list message shows one button that opens a menu of up to ten rows, each with a title and optional description, which suits menus such as branches, departments or time slots. Both return the selected ID in a webhook.

Do interactive messages work on WhatsApp Web and desktop?

Meta designs interactive messages for WhatsApp clients generally, but rendering can differ between phone, desktop and web apps, and very old app versions may not display newer types. Always include enough body text that the message still makes sense, and test each message type on the devices your customers use before a launch.

How do I read what the customer tapped?

Your webhook receives an interactive message from the user containing the type, such as button_reply or list_reply, plus the ID and title of the selected option. Design stable IDs such as resched_tomorrow rather than relying on visible titles, so you can change wording or translate labels into Arabic without breaking your automation.

Sources

  1. Interactive reply buttons messages — Meta for Developers
  2. Interactive list messages — Meta for Developers
  3. Interactive CTA URL button messages — Meta for Developers
  4. Interactive media carousel messages — Meta for Developers
  5. Multi-product messages — Meta for Developers