Skip to content
Block Kit for React
Esc
↑↓navigate↵open⌘Jpreview
On this page

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.

Your AppAPP
Deploy to production?
onActionInteract with the preview.

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:

  • actions block: 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.
  • input block: one element per block, used in modals and Home tabs to collect a value.
  • context_actions block: 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

Was this page helpful?