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.