Skip to main content
Up to five buttons. Clicks arrive as interaction events.
string
required
"button_group"
array
required
1–5 buttons. More returns BUTTONS_TOO_MANY.
boolean
default:"true"
When true, one click turns off the whole group and marks the clicked button. Set false for actions people repeat, like “Refresh”.

The button object

string
required
What kind of action this is. Must match ^[a-zA-Z0-9_.:-]{1,64}$ and be unique in the message. If you leave it out, we build it from label.
string
required
Plain text, 1–40 characters.
string
Your data, up to 2,000 characters. We never read it. It comes back exactly as sent when clicked.
string
default:"secondary"
primary, secondary, or danger.
string
An https:// URL. This makes a link button: it opens a new tab, sends no event, and ignores value.
action_id says what kind of action (track_order). value says which one (4821). Both come back in the click event.
Buttons expire 30 days after the message is created. They also turn off once a human takes over the conversation.