Feedback buttons
Thumbs up / thumbs down feedback for an AI-generated message.
feedback_buttons renders a pair of thumbs-up and thumbs-down icon buttons, as seen under an
AI agent’s response in Slack. Only one of the two can be picked at a time: clicking the selected
one again clears it, matching Slack’s own toggle behavior. It’s a context_actions block element,
so it’s typically placed alongside an icon button rather than in an
actions row.
Fields
typestring
Always `feedback_buttons`.
stringpositive_button{ text: PlainTextElement; value: string; accessibility_label?: string }
The thumbs-up button. `text` is shown as its tooltip and default accessible name.
{ text: PlainTextElement; value: string; accessibility_label?: string }negative_button{ text: PlainTextElement; value: string; accessibility_label?: string }
The thumbs-down button. `text` is shown as its tooltip and default accessible name.
{ text: PlainTextElement; value: string; accessibility_label?: string }action_id?string
Identifies this action in the interaction payload. Must be unique within the block. Maximum length is 255 characters.
stringExamples
With an accessibility_label
Interactivity
Clicking a thumb dispatches a feedback_buttons action carrying that button’s value and text:
{
"type": "feedback_buttons",
"action_id": "feedback",
"block_id": "b1",
"action_ts": "1706000000.000100",
"value": "positive",
"text": { "type": "plain_text", "text": "Good response" }
}
Unlike a plain button, feedback buttons hold a value: picking a thumb writes to state.values, and
picking the same thumb again clears it back out:
// state.values after picking "Good response"
{ "b1": { "feedback": { "type": "feedback_buttons", "value": "positive" } } }
// state.values after clicking the same thumb again
{ "b1": {} }
Only one thumb can be selected at a time. Choosing the other one replaces the selection rather than allowing both to be active.