Industries
Restaurants & Food
Take restaurant orders, table bookings and payments in one WhatsApp chat. Auto-reply to common questions and cut support costs with ChatMitra.
Real Estate
Use WhatsApp automation to capture property leads, qualify them automatically, and follow up fast. See how real estate agents close more with ChatMitra.
Travel & Tourism
Use the WhatsApp Business API to capture travel leads, send itineraries, confirm bookings, and keep travellers updated. See how agencies grow with ChatMitra.
Banking & Finance
Run secure KYC, send account alerts and payment notifications on WhatsApp. Cut support load and stay within Meta's rules with ChatMitra.
Beauty & Cosmetics
Sell your catalog, recover carts and win repeat orders on WhatsApp. Auto-reply to product questions and send launches to opted-in customers with ChatMitra.
Education
Answer admission enquiries, fee and timetable questions, and keep parents updated — all on WhatsApp. Cut admin load and costs with ChatMitra.
EduTech
Capture course leads, qualify them and onboard learners on WhatsApp. Automate replies and cut lead-qualification cost with ChatMitra's no-code chatbot.
Events & Webinars
Handle event registrations, reminders and RSVPs in one WhatsApp chat. Cut no-shows, automate FAQs and keep attendees updated with ChatMitra.
Freelancers & Consultants
Capture leads, send proposals and chase invoices in one chat. WhatsApp automation for freelancers and consultants with ChatMitra — from ₹0.20 a chat.
Health & Wellness
Book appointments, send reminders and answer client questions in one WhatsApp chat. Auto-reply to routine queries and cut support costs with ChatMitra.
Home Decor
Share your home decor catalog, take orders and send delivery updates on WhatsApp. Automate FAQs and cut support costs with ChatMitra.
IT Services
Use the WhatsApp Business API to qualify leads, run support over chat, and wire WhatsApp into your stack with webhooks. How IT companies scale with ChatMitra.
Marketing Agencies
Use WhatsApp automation to capture leads, run campaigns and manage multiple client brands from one account. How agencies scale on WhatsApp with ChatMitra.
Offline & Retail
Turn shop footfall into a WhatsApp list. Share catalogs, add a QR-to-chat at the counter and bring buyers back — with ChatMitra from ₹0.20 per chat.
Spas & Salons
Use the WhatsApp Business API to take spa and salon bookings, cut no-shows with automated reminders, and rebook regulars. How salons grow with ChatMitra.
Automotive
Use the WhatsApp Business API for automotive dealerships to qualify buyers, book test drives and send service reminders — automated, on one chat, with ChatMitra.
All Industries
Browse every industry guide
Setup & API Guides

WhatsApp Interactive Messages: Types, Limits and Examples

WhatsApp interactive message types explained: reply buttons, lists, CTA URL, Flows and more, with Meta's limits, JSON, reply webhooks and the 24-hour rule.

Nikunj Gohil
Written byNikunj Gohil
Read time 18 min
Posted on
WhatsApp Interactive Messages: Types, Limits and Examples
Summarise this post with:

Short on time? Read this first

  • Interactive messages are free-form Cloud API messages with tappable parts: up to 3 reply buttons, a list of up to 10 rows, a URL button, a location or address request, a Flow, product cards or a call button.
  • They can only be sent while the 24-hour customer service window is open. Outside it, use an approved template, which can carry its own quick-reply, URL, phone, copy-code, Flow or call buttons.
  • Since 1 October 2026 they count as service messages: 1,000 free per business number each month, then ₹0.1150 each in India.
  • Route replies on the button or row ID your system set, not on the title the customer sees.
On this page 0

    WhatsApp interactive messages are free-form messages that carry tappable elements: up to three reply buttons, a list of up to ten options, a link button, a location or address request, a form (WhatsApp Flow), product cards or a call button. You send them through the WhatsApp Business Platform, only while the customer’s 24-hour service window is open.

    This guide is for support and operations leads, product managers and developers. It covers the main interactive types Meta documents, the limits of each, when you may send them, what they cost since 1 October 2026, how a tap comes back to your system, and how they differ from template buttons.

    Key takeaways

    • Buttons for two or three choices, a list for up to ten, a URL button when the next step lives on a web page.
    • No open 24-hour window, no interactive message. Use a template with buttons instead.
    • Give every button and row a stable ID and route on it.

    What is a WhatsApp interactive message?

    An interactive message is a message object with "type": "interactive" that you send through the Cloud API’s Messages endpoint. Unlike a template, it needs no approval from Meta: you compose it on the fly, as a reply to someone who has just written to you. Meta groups interactive messages with text, media, location and reaction messages under service messages, which it defines as “free-form messages that you can send to WhatsApp users during a customer service window” (Meta for Developers, send messages).

    The reply is what makes them useful: a tap reaches your webhook as a structured message carrying the ID you assigned, so software can act on it without guessing what “ya the second one” means.

    Three things are easy to confuse with interactive messages:

    • Template buttons. Quick-reply, URL, phone, copy-code and Flow buttons on an approved template. Different rules, covered below.
    • Ice-breakers and commands. Conversation starters configured on your business number, not messages you send. See conversational components.
    • Business app quick replies. Saved text shortcuts for your team. Customers never see a button.

    For where interactive messages sit among text, media and templates, start with the overview of WhatsApp message types.

    Every interactive message type at a glance

    Meta’s documentation describes these main interactive types for the Cloud API (checked 25 September 2026). All of them need an open customer service window. The “reply” column is what your webhook receives when the customer acts.

    Type (interactive.type)Best forKey limitsWhat comes back
    Reply buttons (button)Yes/no, confirm/reschedule, two or three pathsUp to 3 buttons; label 20 chars; body 1,024; footer 60button_reply with id and title
    List (list)Menus: services, slots, departments, branches1 button (20 chars); up to 10 sections and 10 rows in total; row title 24, description 72; body 4,096list_reply with id, title, description
    CTA URL (cta_url)Hiding a long link behind a clear label1 button, label 20 chars; header text 60Nothing: the link opens in the browser
    Media carousel (carousel)Showing a few options side by side2–10 cards with image or video; card text 160Not described on Meta's carousel page; test before relying on it
    Location request (location_request_message)Pickup, delivery or visit addressBody only, 1,024 charsA location message with coordinates
    Address (address_message)Structured delivery addressIndia-based businesses and India customers onlynfm_reply with the address as JSON
    Flow (flow)Multi-screen forms: bookings, applications, surveysNeeds a Flow you've built; button text advised ≤30 charsnfm_reply with the form data
    Product, product list, catalog, product carouselSelling from a Meta catalogMulti-product up to 30 items; product carousel up to 10 cardsCarts arrive as order messages
    Voice call button (voice_call)"Call us on WhatsApp now"Needs Cloud API Calling; label 20 charsCall webhooks, with an optional payload
    Call permission request (call_permission_request)Asking before you call the customerMax 1 request per 24 hours, 2 per 7 daysThe customer allows (temporarily or permanently) or declines
    Ten WhatsApp interactive messages on phones: order tracking and view details buttons, a support menu, single-choice and multi-choice options, a delivery date picker, a guest count, a payment method choice, a location request, a feedback rating and a quote form
    Buttons, lists, location requests and Flows forms: ten ways a customer can answer without typing.

    Reply buttons: up to three one-tap answers

    Reply buttons are the workhorse. Meta’s reference allows “up to three predefined replies”, each with a label of at most 20 characters that “must be unique if using multiple buttons”, and an ID of up to 256 characters. The body can be 1,024 characters, the optional footer 60, and the optional header can be text, an image, a video or a document (Meta, reply buttons).

    A minimal example for a clinic confirming tomorrow’s appointment. Placeholder values are in capitals; the IDs are yours to choose.

    {
      "messaging_product": "whatsapp",
      "recipient_type": "individual",
      "to": "CUSTOMER_PHONE_NUMBER",
      "type": "interactive",
      "interactive": {
        "type": "button",
        "body": { "text": "Your appointment with Dr Mehta is tomorrow at 11:30. Will you make it?" },
        "footer": { "text": "Reply anytime before 9 pm" },
        "action": {
          "buttons": [
            { "type": "reply", "reply": { "id": "appt_confirm", "title": "Yes, I'll come" } },
            { "type": "reply", "reply": { "id": "appt_resched", "title": "Reschedule" } },
            { "type": "reply", "reply": { "id": "appt_cancel", "title": "Cancel" } }
          ]
        }
      }
    }

    When the patient taps “Reschedule”, your webhook receives "type": "interactive" with "button_reply": { "id": "appt_resched", "title": "Reschedule" }, plus a context object carrying the ID of the message that held the button. That context lets you tie the tap to the right appointment even if the patient has two.

    Use them for: confirmations, a first “what do you need?” fork, feedback on a scale of three, “talk to a person” as an always-present exit.

    List messages: a menu of up to ten options

    When three buttons aren’t enough, a list message puts one button under the text, and tapping it opens a menu. Meta’s limits: “up to 10 sections, with up to 10 rows for all sections combined”. The button label is capped at 20 characters, section titles and row titles at 24, row descriptions at 72, and row IDs at 200. The header is optional and text-only (60 characters), and the body can run to 4,096 characters, four times the 1,024 allowed on reply-button and CTA URL messages (Meta, list messages).

    A coaching institute offering demo-class slots:

    {
      "messaging_product": "whatsapp",
      "recipient_type": "individual",
      "to": "CUSTOMER_PHONE_NUMBER",
      "type": "interactive",
      "interactive": {
        "type": "list",
        "header": { "type": "text", "text": "Free demo class" },
        "body": { "text": "Pick a batch that suits you. Each demo runs 45 minutes." },
        "action": {
          "button": "See batches",
          "sections": [
            { "title": "Weekdays", "rows": [
              { "id": "demo_wd_0700", "title": "Mon–Fri 7:00 am", "description": "Online, JEE Physics" },
              { "id": "demo_wd_1800", "title": "Mon–Fri 6:00 pm", "description": "Centre, JEE Physics" }
            ]},
            { "title": "Weekend", "rows": [
              { "id": "demo_we_1000", "title": "Saturday 10:00 am", "description": "Centre, NEET Biology" }
            ]}
          ]
        }
      }
    }

    The student’s pick comes back as list_reply with the row’s id, title and description (Meta, interactive messages webhook).

    Ten rows is the whole budget, not ten per section. Two sections of six rows (12 in total) break the limit. If your menu is longer, split it: first ask the category with buttons, then send a list for the chosen category.

    A CTA URL message maps a URL to a single labelled button, because, as Meta puts it, “WhatsApp users may be hesitant to tap raw URLs containing lengthy or obscure strings” (Meta, CTA URL messages). The label is capped at 20 characters, the body at 1,024 and the footer at 60. The header can be text (60 characters), an image, a video or a document.

    {
      "messaging_product": "whatsapp",
      "recipient_type": "individual",
      "to": "CUSTOMER_PHONE_NUMBER",
      "type": "interactive",
      "interactive": {
        "type": "cta_url",
        "body": { "text": "Your invoice for September is ready." },
        "action": {
          "name": "cta_url",
          "parameters": { "display_text": "View invoice", "url": "https://example.com/invoice?ref=INVOICE_REF" }
        }
      }
    }

    The tap opens the link in the phone’s default browser. Meta’s interactive webhook reference lists only three triggers (a list row, a reply button and a single-product message), so a URL tap doesn’t come back to you as a message. If you need to know who clicked, put a reference in the URL and read it on your own page, as Meta’s own example does with a clickID parameter.

    The other interactive types

    A carousel shows “a set of horizontally scrollable media cards”. A message must have “between 2 and 10 cards”, each with an image or video header and optional text of up to 160 characters. Each card carries either one URL button or quick-reply buttons, and the button types and counts must match on every card. The main message has a required body (1,024 characters) and no header or footer (Meta, media carousel messages). Good for three room types, four gift boxes or a short course list.

    Location request

    This shows your text with a “send location” button. When the customer shares, you receive an ordinary location message with latitude and longitude; the address and place name appear “only if the WhatsApp user chooses to share it” (Meta, location request messages). Couriers, cab services, home-service businesses and anyone with a service radius can use it instead of “please type your full address”.

    Address message (India only)

    Meta states plainly: “This feature is only available for businesses based in India and their India customers.” The customer fills a native form with name, phone, PIN code (up to 6 characters), flat, floor, tower, building, address, landmark, city and state. You can prefill values and send back validation errors. The reply arrives as an nfm_reply whose response_json holds the fields (Meta, address messages). For Indian D2C brands, that is cleaner than parsing a typed address.

    WhatsApp Flows

    A Flow message opens a multi-screen form inside WhatsApp: pick a service, choose a date, enter details, submit. Inside the window you send it as "type": "flow" with the Flow’s ID or name and a button label that Meta advises keeping to “30 characters or less (no emoji)”. Outside the window you attach it to a template with a FLOW button. Meta’s prerequisites include business verification and “a high message quality” (Meta, send a Flow message). The submission comes back as an nfm_reply with name: "flow" and the data in response_json (Meta, Flows webhooks). For what Flows are good for, see the use cases in Meta’s WhatsApp Flows overview.

    A WhatsApp Flows form to book a demo, with name, phone, company and time fields, and the submitted details appearing as new rows in a Google Sheet
    A Flow collects structured details inside the chat. Where the data goes next, a sheet or a CRM, is up to your platform.

    If your products are in a Meta catalog connected to your number, you can send a single product, a multi-product message of “up to 30 products” in sections, a catalog message with a View catalog button, or a product carousel of “up to 10 product cards” (Meta, share products). Our WhatsApp Business catalog guide covers setup and each format in detail.

    Call buttons and call permission requests

    If you’ve adopted Cloud API Calling, a voice_call message adds a “Call on WhatsApp” style button (label up to 20 characters, default “Call Now”) that stays active for 7 days by default and up to 30 (Meta, call button messages). To call the customer yourself, you first need their permission. A free-form call_permission_request asks for it, and Meta limits these to “1 permission request in 24 hours” and “2 permission requests within 7 days” per customer (Meta, user call permissions). Business-initiated calling isn’t available for business numbers in the United States, Canada, Egypt, Vietnam or Nigeria; India isn’t on that list (Meta, Calling overview).

    When can you send interactive messages?

    Only inside an open customer service window. Meta: “When a WhatsApp user messages you or calls you, a 24-hour timer called a customer service window starts. If the user messages or calls you again before the timer expires, the timer resets to 24 hours.” And: “When the window closes, you can only send pre-approved template messages” (Meta, send messages).

    In practice:

    1. The customer writes “Hi” at 10:02 on Monday. The window runs to 10:02 on Tuesday.
    2. You can send any mix of buttons, lists, links and forms in between. Each customer reply (including a button tap, which is a message) resets the clock.
    3. After the window closes, an interactive send fails with error 131047: “More than 24 hours have passed since the recipient last replied to the sender number.” Meta’s fix: “Send the recipient a template message instead” (Meta, error codes).
    4. Opt-in still applies. Meta reminds businesses that “you can only send messages to WhatsApp users who have opted in to receiving messages from you.”

    What they cost since 1 October 2026

    Interactive messages are billed as service messages. Meta’s pricing page: “Effective October 1, 2026 – Meta will charge on a per-message basis for service messages”, at rates “the same as those of utility and authentication, by market”. Each business phone number gets “one shared free tier of 1,000 delivered service messages per month”, and unused messages “do not roll over” (Meta, pricing). Meta’s INR rate card effective 1 October 2026 lists India’s service rate as ₹0.1150. Rupee figures exclude tax.

    So a clinic that sends 3,000 button and list messages in October pays for 2,000 of them: about ₹230. Call permission requests are “subject to messaging charges” too. The full breakdown, templates included, is in our WhatsApp cost-per-message guide.

    Interactive messages vs template buttons

    Template buttons solve the other half of the problem: reaching someone whose window is closed. The buttons are fixed when Meta approves the template; only variable parts (a URL suffix, a coupon code, a Flow token) are filled in at send time.

    Interactive messageTemplate with buttons
    ApprovalNoneTemplate reviewed by Meta first
    When you can sendOnly inside the 24-hour windowAny time, to opted-in customers
    Cost (India, since 1 Oct 2026)Service: 1,000 free per number per month, then ₹0.1150By template category: utility ₹0.1150, marketing ₹0.8631
    Button typesReply buttons, list rows, one URL button, carousel buttons, call buttonQuick reply, URL, phone number, copy code, Flow, voice call, OTP, multi-product and single-product buttons
    Button limits3 reply buttons; 10 list rowsUp to 10 buttons in total; max 2 URL, 1 phone, 1 copy code, 10 quick replies
    Label length20 characters25 characters (20 for a voice-call button)
    Reply in your webhookinteractive: button_reply / list_reply with your IDbutton: text and payload

    Template limits are from Meta’s template components page. Two rules there trip people up. Buttons must be grouped, quick replies together and other types together, or “the API will return an error indicating an invalid combination”. And if a template has more than three buttons, “two buttons appear in the delivered message”, with the rest behind See all options. Our template elements guide walks through each part.

    A common pattern combines both. A utility template (“Your order has shipped”) carries a quick-reply button, “Where is it?”. The tap reaches you as a message from the customer, which opens a customer service window, so your answer can be a list of options.

    How replies come back to your system

    Every tap arrives on the messages webhook. The shape depends on what was tapped:

    Customer actionmessage.typeFields to read
    Taps a reply buttoninteractiveinteractive.button_reply.id, .title
    Picks a list rowinteractiveinteractive.list_reply.id, .title, .description
    Taps a template quick-reply buttonbuttonbutton.text, button.payload
    Shares a location after a requestlocationlatitude, longitude, optional name, address
    Submits a Flow or address forminteractiveinteractive.nfm_reply.response_json (a JSON string)

    Sources: Meta’s button webhook reference and the interactive webhook reference linked above. Each reply also carries context.id, the ID of the message the customer responded to.

    Three habits save debugging time:

    • Route on IDs, display titles. Titles get edited, translated and shortened. An ID like appt_resched never changes.
    • Store the outgoing message ID from the send response, so context.id tells you which booking, order or ticket the tap belongs to.
    • Expect old taps. A customer can tap a button from yesterday’s message. Check that the action still makes sense (the slot is still free, the order hasn’t shipped) before acting.
    Six steps of an interactive WhatsApp journey: the customer starts a chat, you send an interactive message, the customer taps a reply, you capture the details, automate the next step and measure the results
    Each tap comes back as data your system can act on, from confirming a slot to updating a record.

    Examples by business type

    • Clinic or diagnostic lab. After “Hi”: reply buttons Book test, Get report, Talk to us. Book test leads to a list of tests; the chosen test leads to a location request for home collection.
    • Coaching institute. A list of courses, then reply buttons Free demo / Fees / Call me back. Call me back leads to a call permission request where calling is set up.
    • Restaurant or cloud kitchen. A carousel of the day’s three specials with quick replies, or a catalog message if the menu lives in a Meta catalog. After an order question: a CTA URL button to live tracking.
    • D2C brand in India. After a customer confirms a cash-on-delivery order: an address message to capture a clean delivery address, then reply buttons Confirm order / Change address.
    • Real estate developer. A list of projects by locality, then reply buttons Site visit / Brochure / Price list. Site visit leads to a Flow that collects a date and the number of visitors.
    • Home services (AC repair, pest control). A location request to check the service area, then a list of slots.

    If you want these branches to answer themselves, that’s WhatsApp automation; the WhatsApp automation guide covers keyword rules, AI replies and when a person should take over. Your first automated reply is a natural home for the opening buttons; our guide to WhatsApp greeting messages covers what that first message should say.

    Writing button and row labels people actually tap

    Twenty characters is short. Some rules that help:

    1. Start with a verb or the answer. “Reschedule”, “Track order”, “Yes, I’ll come”. Not “Click here” or “Option 2”.
    2. Make labels distinct at a glance. “Book test” and “Book a test visit” side by side cause mis-taps.
    3. Put the most common answer first. Order sets expectation.
    4. Keep one exit to a human. “Talk to us” as a button or last row stops people feeling trapped.
    5. Use row descriptions for the detail (time, price, location), not the title.
    6. Don’t rely on emoji for meaning. A ✅ alone tells a screen-reader user little. If you use emoji, pair them with words.
    7. Leave headroom for variables. “Confirm ₹{amount} order” fits at ₹1,499 but not at ₹12,499. Test the longest value.
    8. Write the body so it stands alone. If the buttons fail to render, the text should still say what you need.
    9. Localise labels and keep IDs in one language. A Hindi title and an English ID route the same way.

    Fallbacks, errors and older clients

    Meta documents a few failure cases worth designing around:

    • Old app versions. Error 131026 covers undeliverable messages, including a recipient “using an old WhatsApp version”. For voice-call buttons, Meta says sending to “users on older app versions” returns 131026.
    • Address messages on unsupported clients. WhatsApp “silently drops the messages” and sends a failed status with error 1026, “Receiver Incapable”.
    • WhatsApp desktop and template buttons. Templates “composed of 4 or more buttons, or a quick reply button and one or more buttons of another type, cannot be viewed on WhatsApp desktop clients”; the user is asked to view them on a phone. If many customers use WhatsApp Web, keep templates to three buttons of one kind.
    ErrorMeta's descriptionLikely cause with interactive messages
    131047More than 24 hours have passed since the recipient last repliedWindow closed; send a template
    131008The request is missing a required parameterNo body, no button ID, no action.name
    131009One or more parameter values are invalidLabel over 20 characters, duplicate titles, more than 10 rows, header type the message doesn't allow
    131051Unsupported message typeA message type the API doesn't support
    131026Unable to deliver messageNot a WhatsApp number, or an old app version
    131053Unable to upload the media used in the messageHeader image or video in an unsupported format

    Source: Meta’s error codes. Errors can arrive in the API response or later in a status webhook, so log both.

    Build checklist

    • The customer messaged or called in the last 24 hours, and has opted in.
    • Right type: ≤3 choices → buttons; 4–10 → list; a web page → CTA URL; structured data → location request, address or Flow.
    • Labels ≤20 characters (≤24 for list rows) after variables are filled in.
    • Every button and row has a unique, stable ID that your code handles.
    • List rows total 10 or fewer across all sections.
    • Header type is one the message allows (lists: text only).
    • The body makes sense without the buttons.
    • One path to a human.
    • Your webhook handles button_reply, list_reply, button, location and nfm_reply, plus replies to old messages.
    • Failures (131047, 131009, 131026) are logged and trigger a fallback such as a template or a plain-text reply.

    Sending interactive messages with ChatMitra

    Which of these types can you build in ChatMitra without code? Here’s what its code supports today.

    WhereWhat it can sendLimits
    Keyword auto-reply ("Payload" response)Reply buttons, lists, single-product, multi-product and catalog messages, plus text, media, location, contacts and stickersReply-button header is text only; product messages need your Meta catalog ID and product IDs typed in
    Welcome messageThe same payload typesCheck label lengths yourself before saving
    Team inbox (web and Android)Text, media, location, contacts, templates and saved repliesAgents can't compose buttons or lists
    BroadcastsApproved templates onlyA template's URL-button suffix can be filled in at send time
    Template builderQuick-reply, URL (up to 2) and phone (1) buttonsNo Flow, voice-call, catalog or copy-code buttons
    REST APITemplates, and raw messages including reply buttons and listsChatMitra checks button and list payloads (for example, no emoji in button titles); other interactive types are passed to Meta unchecked
    No builder in ChatMitraCTA URL, media carousel, location request, address, Flow, call-button and call-permission messagesUse a tool built for Flows or calling if you need them

    Two behaviours matter when you design menus in ChatMitra:

    • Chaining works on titles, not IDs. When a customer taps a button or list row, ChatMitra matches the tapped title against your keyword rules (exact, starts-with or regex). To make Book test open the next step, create a rule whose keyword is “Book test”. The button ID isn’t used for matching, so keep titles unique across your menu.
    • The inbox shows the tapped title as the customer’s message, and ChatMitra’s outbound message.received webhook includes the button or row ID for your own systems. Flow and address-form submissions aren’t recorded in the inbox.

    Auto Reply, API access and webhooks come with the Pro plan, per ChatMitra’s pricing page. If your use case depends on Flows, calling or carousels, a platform with a Flow builder will serve you better today.

    Where to start

    Pick the question your team answers most often and turn it into three buttons: the two most common answers and “Talk to us”. After two weeks, turn the most-tapped path into a list or a second step. Keep every ID in one shared sheet.

    When you’re ready to build menus in ChatMitra, compare plans. For running the conversations that follow, the WhatsApp customer service guide covers staffing, the window and escalation.

    Sources: Meta for Developers: send messages; reply buttons, list, CTA URL, media carousel, location request and address messages; interactive, button and order webhook references; Flows overview, send a Flow message and Flows webhooks; share products; call button messages, user call permissions and Calling overview; template components; error codes; pricing and the INR rate card effective 1 October 2026. ChatMitra behaviour verified in ChatMitra’s code on 25 September 2026.

    Facts checked against Meta's and WhatsApp's documentation on 25 September 2026. Rupee figures are Meta's India rates and exclude tax.

    Clear answers

    Frequently Asked Questions

    It is a free-form message sent through the WhatsApp Business Platform (Cloud API) that includes something the customer can tap: reply buttons, a list, a URL button, a request to share a location or address, a WhatsApp Flow, product cards or a call button. The tap sends a structured reply back to the business, so the customer doesn't have to type.

    A reply-buttons message can have up to three buttons, each with a label of up to 20 characters and a unique ID of up to 256 characters. If you need more choices, use a list message, which shows up to 10 rows across up to 10 sections behind one button.

    Reply buttons show up to three choices directly under the message. A list message shows one button (label up to 20 characters) that opens a menu of up to 10 rows, each with a title of up to 24 characters and an optional description of up to 72. Use buttons for quick yes/no or two-way choices and lists for menus.

    No. Interactive messages are service messages, and Meta only lets you send them during an open customer service window, which starts when the customer messages or calls you and lasts 24 hours. To start a conversation, send an approved template instead. Templates can carry their own buttons, such as quick replies, URL, phone number, copy code or a Flow button.

    Since 1 October 2026, Meta charges service messages per message at the same rate as utility messages in each market. Each business phone number gets 1,000 free service messages per month, with no roll-over. In India the rate after the free tier is ₹0.1150 per delivered message. Rupee figures exclude tax.

    Your webhook receives an interactive message. For reply buttons it contains a button_reply object with the button's id and title; for lists, a list_reply object with the row's id, title and description. Taps on template quick-reply buttons arrive as a button message with text and payload fields. Route on the ID you assigned, because titles can change.

    No. Meta documents interactive messages only for the Messages API on the WhatsApp Business Platform, so you need API access, either your own integration or a provider's tool. The free Business app offers other tools instead, such as quick replies, labels, and greeting and away messages.

    Partly. A keyword auto-reply (a Pro plan feature, per ChatMitra's pricing page) or the welcome message can send reply buttons (text header only), list messages and single-product, multi-product or catalog messages, and a tap on a button or row can trigger the next keyword rule by matching its title. Developers can also send reply buttons and lists through ChatMitra's REST API. The team inbox doesn't compose buttons or lists, broadcasts send templates only, and no ChatMitra screen builds CTA URL, location request, carousel, call-button or WhatsApp Flow messages.

    Nikunj Gohil

    ChatMitra

    Nikunj Gohil writes for the ChatMitra blog about the WhatsApp Business API.

    Ready to try WhatsApp Business API?

    Start free on the Starter plan — free subscription. Pro is ₹999/month with a 15-day trial when you need automation.