Interactivity in Block Kit

Block Kit makes interacting with users intuitive and stylish. Interactive components can be used in various surfaces to inject an app with interactivity.

This guide will give you a quick taster of the components available, and pointers on how to integrate Block Kit interactivity into your app.

Component collection

Below is a glance at the interactive components you can use within your app's surfaces. Consult our interactive components references for a full overview of the fields and options available for these components.

A button in a Slack message being clicked, triggering an external service to take action


Buttons provide direct paths to simple goals. Each button can trigger a response from an app, or just open a URL.

Select menus

Select menus offer a list of options to pick from, and a typeahead text field to narrow down those options.

Select menus can contain predetermined static options, get option lists full of relevant Slack users or conversations, or pull in data from an external source to create an option list.

A select menu in a Slack message showing the ability to change the priority of a task
A multi-select menu in a Slack message showing the ability to add multiple subscribers

Multi-select menus

Just like regular select menus, except users can pick multiple options.

Overflow menus

Overflow menus offer a short list of predefined actions to choose from, presented in a compact way. You can also use URL links as overflow menu items.

An overflow menu in a Slack message showing multiple options for action
An date picker in a Slack message showing a user selecting a date

Date and time pickers

Need to let a user pick a date or time as part of an interactive flow? You'll want one of these elements.

Plain-text input fields

Collect freeform text data from users in single and multi-line configurations.

A multi-line text input field, and a user selector menu
A group of radio buttons showing a single option selected

Radio buttons

For those moments when a single choice must be made.


Another way to present and pick multiple options.

A group of checkboxes showing all 3 options selected

Adding components to surfaces

Inserting your interactive components into your app surfaces is the same as with any other Block Kit component.

Follow our guide to building blocks to see how blocks and block components can be stacked together and added to app surfaces.

Handling user interaction

When you add an interactive component to a surface in your Slack app, you've opened the door to user interaction. People will push your app's buttons, expecting a helpful and prompt reaction.

Apps need to handle the requests that start to flow their way, and respond appropriately. Follow our guide to handling user interaction to prepare your app for the interactivity that Block Kit will inspire.

Was this page helpful?