Interactions
Buttons
Define clickable button options on bot messages
When to use this
Offer explicit choices like Yes and No in message UI.
Component Schema
| Field | Type | Required | Notes |
|---|---|---|---|
type | "button" | Yes | Component type |
label | string | Yes | 1-80 chars |
style | `"primary" | "secondary" | "success" |
custom_id | string | Yes | Returned in click event |
disabled | boolean | No | Optional state |
Layout Rules
- Max 5 buttons per action row
- Max 5 rows per message
custom_idmust be unique within a message
Example Payload Fragment
{
"components": [
{
"type": "action_row",
"components": [
{ "type": "button", "label": "Yes", "style": "success", "custom_id": "poll_yes" },
{ "type": "button", "label": "No", "style": "danger", "custom_id": "poll_no" }
]
}
]
}Interaction Event
Clicks produce interaction.button_clicked with custom_id, message_id, and actor context.