Elements overview
What Block Kit elements are, where each one can live, and how they report interactions.
Elements are the interactive (and image) pieces you place inside a block: a button, a select menu, a date picker, a checkbox group. A block lays elements out; an element renders the control and, when the person interacts with it, reports what happened.
action_id
Every interactive element carries an action_id, a string you choose that identifies it within
its block. When the element fires, Slack sends it back to your app in action_id so you know
which control the person used. Combined with the block’s block_id, it’s also the path into
state.values for elements that hold a value (see each element’s “Reading the value” section).
Where elements live
Slack restricts which elements can appear in which context:
actionsblock: up to 25 elements laid out in a row (some, like checkboxes and radio buttons, always take the full row).- Section accessory: one element to the right of (or, for checkboxes/radio buttons, stacked below) a section’s text.
inputblock: one element per block, used in modals and Home tabs to collect a value.context_actionsblock: a trailing row of small icon-style actions, typically under an AI-generated message (feedback thumbs, copy, retry, overflow).
Element × block support
| Element | actions |
Section accessory | input |
context_actions |
|---|---|---|---|---|
| Button | Yes | Yes | No | No |
| Overflow menu | Yes | Yes | No | No |
| Select menus | Yes | Yes | Yes | No |
| Checkboxes | Yes (full width) | Yes (stacked) | Yes | No |
| Radio buttons | Yes (full width) | Yes (stacked) | Yes | No |
| Date picker | Yes | Yes | Yes | No |
| Time picker | Yes | Yes | Yes | No |
| Date and time picker | Yes (full width) | No | Yes | No |
| Text inputs | No | No | Yes | No |
| Rich text input | No | No | Yes | No |
| File input | No | No | Yes (modals only) | No |
| Icon button | Yes | No | No | Yes |
| Feedback buttons | No | No | No | Yes |
| Image element | No | Yes | No | Yes |
| Workflow button | Yes | No | No | No |
Related
Button
The most common interactive element: default, primary, danger and link styles.
Select menus
Static, external, users, conversations and channels selects, single or multi.
Text inputs
Plain text, email, URL and number inputs for modals and Home tabs.
Confirmation dialogs
Add a confirm step to any element with the confirm object.