BroadNet
Messaging channelsInteractive

Rich cards and interactive messaging

Updated 6 min readStandards-based
Direct answer

Rich, interactive messaging replaces free-text prompts with structured UI: rich cards and carousels present media with actions, suggested replies and quick-reply buttons offer tappable choices, and list pickers present a menu. RCS (via RBM) and WhatsApp both support these with different payloads and limits, so senders design to the stricter constraints and provide text fallbacks.

§01

From free text to structured interaction

The value of rich channels over SMS is not just media — it is structured interaction. Instead of asking a customer to type "1 for track, 2 for support," an interactive message presents tappable elements: cards that combine an image, title, description and buttons; suggested replies that send a predefined response; and pickers that offer a bounded menu. Each tap returns a machine-readable value (a postback string, a button ID) rather than free text, so the sender's logic branches deterministically instead of parsing natural language. Both RCS Business Messaging and the WhatsApp Business Platform provide these elements, with different names, payload shapes and limits — so the design work is to express one interaction in each platform's vocabulary and constraints.

Interactive elements across RCS and WhatsApp
ElementRCS (RBM)WhatsApp
Single rich cardStandalone rich cardMedia header + interactive body
Horizontal set of cardsRich card carouselProduct list / multi-product (commerce)
Tappable quick choiceSuggested replyInteractive reply buttons
Action (dial/URL/etc.)Suggested actionURL / call-to-action button
Menu of options(suggestions)List message (list picker)
§02

Rich cards and carousels

A rich card bundles a media element (image or video), a title, a description and a set of suggestions into one visually prominent message — ideal for an order summary, a product, or a booking with a clear call to action. A carousel is a horizontally scrollable set of rich cards, used to present a small catalogue of options (a few products, a choice of appointment slots) in a single message. In RBM a standalone rich card carries a media height, title, description and its own suggestions; a carousel wraps several such cards with a card width. WhatsApp expresses comparable richness through media headers with interactive bodies and, for commerce, product and multi-product messages. Card counts, image sizes and text lengths are capped per platform, so a carousel is designed to the smaller of the two limits.

RBM standalone rich card with an image and two suggestionsjson
{
  "contentMessage": {
    "richCard": {
      "standaloneCard": {
        "cardOrientation": "VERTICAL",
        "cardContent": {
          "title": "Order #4021",
          "description": "Arriving Friday. Track or change delivery.",
          "media": { "height": "MEDIUM",
            "contentInfo": { "fileUrl": "https://brand.example/pkg.jpg" } },
          "suggestions": [
            { "reply":  { "text": "Track",  "postbackData": "track_4021" } },
            { "action": { "text": "Reschedule", "postbackData": "resched_4021",
                          "openUrlAction": { "url": "https://brand.example/r/4021" } } }
          ]
        }
      }
    }
  }
}
§03

Suggested replies, actions and quick-reply buttons

The simplest interactive element is a tappable chip. In RCS these are suggestions of two kinds: a suggested reply sends predefined text back to the agent with its postback data, and a suggested action performs a device action — dial a number, open a URL, open the map, create a calendar event, request location. WhatsApp's equivalent for a plain message is interactive reply buttons: up to three quick-reply buttons whose tap returns a button ID, plus URL and call buttons for actions. Both platforms bound the number and label length of these chips (RCS suggestions and WhatsApp's three-button limit), so an interaction with more than a few choices must use a list picker instead of buttons.

WhatsApp interactive reply buttons (max three)json
{
  "messaging_product": "whatsapp",
  "to": "15551234567",
  "type": "interactive",
  "interactive": {
    "type": "button",
    "body": { "text": "Your order #4021 has shipped. What next?" },
    "action": { "buttons": [
      { "type": "reply", "reply": { "id": "track_4021",   "title": "Track" } },
      { "type": "reply", "reply": { "id": "resched_4021", "title": "Reschedule" } },
      { "type": "reply", "reply": { "id": "support",      "title": "Help" } }
    ] }
  }
}
§04

List pickers for larger choice sets

When there are more options than a few buttons can hold, a list picker presents a scrollable menu. WhatsApp's list message shows a button that opens a list of rows grouped into sections, each row a title, optional description and an ID returned on selection — suited to a menu of services, time slots or FAQ topics that would overflow the three-button limit. RCS presents larger choice sets through multiple suggestions or a carousel of cards rather than a single native list widget, so a cross-channel design maps "choose one of many" to a WhatsApp list on WhatsApp and to a carousel or suggestion set on RCS. The interaction result is the same in both: a single selected ID the sender's logic acts on.

WhatsApp list message (list picker) with grouped rowsjson
{
  "type": "interactive",
  "interactive": {
    "type": "list",
    "body": { "text": "Choose an appointment time" },
    "action": {
      "button": "View times",
      "sections": [
        { "title": "Friday", "rows": [
            { "id": "fri_0900", "title": "09:00" },
            { "id": "fri_1330", "title": "13:30" } ] },
        { "title": "Saturday", "rows": [
            { "id": "sat_1000", "title": "10:00" } ] }
      ]
    }
  }
}
§05

UX and accessibility notes

Interactive messaging only helps if it degrades gracefully and remains usable to everyone. Because rich content is not universally reachable, every interactive message should carry a meaningful text body so it still makes sense when it falls back to SMS or renders on a client that cannot show the widget — the buttons may vanish, but the message must not become meaningless. Keep button and row labels short, unambiguous and action-led ("Track", not "Click here"), since long labels are truncated and vague ones fail screen readers. Respect each platform's caps (WhatsApp's three reply buttons, list row limits; RCS suggestion counts) rather than trying to exceed them. Provide alt/descriptive text for media where the platform supports it, avoid relying on colour or image alone to convey meaning, and make sure any action a button triggers is also reachable another way — so the interaction is convenient, not the only path.

Interactive UX and accessibility checklist
GuidelineWhy
Always include a text bodySurvives fallback to SMS and non-rich clients
Short, action-led labelsTruncation and screen-reader clarity
Stay within platform capsButtons/rows over the limit are rejected
Don't rely on colour/image aloneAccessibility for low-vision and fallback
Provide an alternate path to each actionInteraction is convenience, not the only route
FAQ

Frequently asked

What is a rich card?

A rich card is a structured message that bundles a media element (image or video), a title, a description and a set of tappable suggestions or buttons into one prominent message — for an order summary, product or booking. RCS calls it a standalone rich card; WhatsApp achieves comparable richness with a media header and interactive body.

What is a carousel?

A carousel is a horizontally scrollable set of rich cards presented in a single message, used to show a small set of options such as a few products or appointment slots. In RBM it wraps several rich cards; WhatsApp expresses similar multi-item richness through product and multi-product commerce messages. Card counts and sizes are capped per platform.

What is the difference between a suggested reply and a suggested action?

In RCS a suggested reply sends predefined text back to the agent with postback data, so the user picks a canned response. A suggested action performs a device action instead — dial a number, open a URL, open the map, create a calendar event or share location. WhatsApp's equivalents are reply buttons and URL/call buttons.

When should I use a list picker instead of buttons?

When there are more choices than a few buttons can hold. WhatsApp caps interactive reply buttons at three, so a menu of services, time slots or topics should use a list message — a button that opens grouped, scrollable rows, each returning an ID on selection. On RCS the same idea maps to multiple suggestions or a carousel.

How many buttons can a WhatsApp interactive message have?

A WhatsApp interactive message supports up to three quick-reply buttons, each returning a button ID when tapped. For more options you use a list message (list picker), which presents grouped rows behind a single button. Exceeding the button limit causes the message to be rejected, so larger choice sets must use a list.

How do I keep interactive messages accessible?

Always include a meaningful text body so the message survives fallback to SMS and non-rich clients; keep labels short and action-led; stay within each platform's button and row caps; don't rely on colour or image alone to convey meaning; provide media alt text where supported; and ensure every button action is also reachable another way.

BNMaintained by the BroadNet engineering team·Carrier-grade messaging since 2003
Put it on the wire

Build with a real SMPP bind and REST API.

Request test access with real test keys: send to your own verified number first, then move to production across 200+ countries once your sender identity and routes are approved.