Skip to main content

Reference: Block Kit

Block Kit is made up of many atomic building blocks.

Blocks are visual components that can be arranged to create app layouts. Apps can add blocks to surfaces like App Home, messages and modals.

Blocks may also contain block elements. Block elements are usually interactive components, such as buttons and menus.

Blocks and block elements are built with composition objects. Composition objects define text, options, or other interactive features within certain blocks and block elements.


Tips for building with Block Kit

Use a framework

Slack offers the Bolt framework in Python, JavaScript, and Java. Using the Bolt framework simplifies a lot of app building and abstracts the minutia to the framework to handle. When using Bolt, however, the format of blocks is slightly different than JSON. Each block example shows the block used in each framework, but don't forget to add the imports! Clicking the link on each example takes you to the code in GitHub, where you can verify which libraries are needed.

Remember to nest elements and composition objects

Block Kit elements and composition objects are smaller units within another block. Each Block Kit element reference page includes a "Works with Blocks" reference and example of how to use it within that block. Composition object reference pages also include which block they can be used within.

Test it out

Test how your blocks will appear in Block Kit Builder.


Blocks

Name
Description
Surfaces

Block elements

Name
Description
Blocks
Surfaces

Composition objects

Name
Description