Support · Contact · Legal
Verified RCS · SMS · MMS · Log in

RCS suggested reply examples

Technical RCS & Developers

Quick answer

A suggested reply is a tappable button that sends a predefined response back to your agent in one tap, no typing. Each reply has display text (up to ~25 characters) and a postbackData string your webhook receives so you can map the tap to intent without parsing free text. Suggested replies are the cleanest way to steer a conversation (“Confirm,” “Reschedule,” “Yes/No”) and avoid input errors.

See this on your own phone: See pricing →

One reply, and a typical Yes/No pair:

{ "reply": { "text": "Confirm", "postbackData": "confirm_1043" } }

"suggestions": [
  { "reply": { "text": "Yes", "postbackData": "yes_1043" } },
  { "reply": { "text": "No",  "postbackData": "no_1043"  } }
]

Design postbackData as structured data rather than as a label. A convention like intent:record, for example confirm:appt_1043 or reorder:sku_88, lets one webhook handler dispatch on the intent and pass the identifier straight through, so an appointment flow and an order flow share the same code path. Two rules keep it safe: never put anything sensitive in the field, since it travels to the device and back, and always include the record identifier, because a reply of yes with no context is unresolvable once two conversations are open with the same person.

The display text has a tight budget, roughly 25 characters, and the practical limit is lower than that because chips truncate to fit the screen. Short verbs win: Confirm, Reschedule, Track order, Talk to a person. Up to eleven suggestions can attach to a message, but only the first few are visible without scrolling the chip row, so treat three or four as the working limit and order them by how likely each is to be chosen.

Replies and actions solve different problems and mix well in one message. A reply sends a response back to your agent and advances the conversation; an action triggers something on the device and does not. Use a reply when you need to know what the person chose, and an action when they need to do something. A reminder carrying Confirm and Reschedule as replies alongside Add to calendar as an action is the shape most appointment flows converge on.

One chip is worth reserving on conversational agents: a plain Stop or Unsubscribe reply mapped to an opt-out intent. It is the clearest signal you can give that leaving is easy, it lands in your suppression list as a structured event rather than as free text you have to interpret, and it removes any argument about whether an opt-out was honoured. The obligations are covered in how RCS consent works.

Replies appear under a plain message or on a rich card, one of the three RCS message formats; in the bot builder each reply chip is a branch of the flow.

Frequently asked

What should you put in postbackData?

Design postbackData as structured data, using a convention like intent:record, for example confirm:appt_1043. One webhook handler can then dispatch on the intent and pass the identifier straight through. Never put anything sensitive in the field, since it travels to the device and back, and always include the record identifier.

How many suggested replies can one RCS message carry?

Up to eleven suggestions can attach to a message, but only the first few are visible without scrolling the chip row. Treat three or four as the working limit and order them by how likely each is to be chosen. Chips also truncate to fit the screen, so short verbs work best.

Should an RCS agent include a Stop button?

On conversational agents it is worth reserving one chip for a plain Stop or Unsubscribe reply mapped to an opt-out intent. It signals that leaving is easy, lands in your suppression list as a structured event instead of free text you have to interpret, and removes any argument about whether an opt-out was honoured.

← All RCS questions