Platform concepts

The Slack platform is vast and growing by the day, offering you many options on the road to creating custom Slack apps and workflow automations. While there is power in those possibilities, it can be daunting to recognize which pieces of the platform apply to which type of app.

This section of documentation outlines concepts that are not specific to the type of app you build, but rather to the entire Slack platform.

App design

Designing a good user experience is important when creating any type of Slack app. We've consolidated our advice within the Designing Slack apps guide.


App manifests

App manifests are the ingredient list in the recipe of a Slack app. They tell you everything included in an app, describing the building blocks of the app. They're also portableβ€” you can export and share them to make creating apps quicker and testing a team effort.


Tokens

Tokens are the keys to the Slack platform, whether you are creating Slack apps or workflow apps. There are various types available, allowing you to tie together the scopes and permissions your apps need to interact with the platform and with your users.


Surfaces

Surfaces encompass all the areas that a Slack app can touch: messages, modals, the App Home, and canvases. Messages, modals, and canvases are available for all types of Slack apps, while the App Home is available for non-workflow apps.


Invocation & interactivity

Invocation & interactivity covers the ways users can initiate interaction with Slack apps, including slash commands and shortcuts. Slash commands allow you to start your app from a simple keystroke and for non-workflow apps, provide even wider functionality. Shortcuts are a simple and reliable way to save your app's location for ease of discovery by users. Interactivity covers all the ways you can invite users to interact with apps and workflow automations.


Block Kit

Block Kit allows you to build beautiful surfaces with reusable components. Customize the order, appearance, and even direct user interactivity with stackable, versatile blocks.


Bolt SDKs

The Bolt family of SDks provides a streamlined app building experience in multiple languages:

✨ Bolt for JavaScript
✨ Bolt for Python
✨ Bolt for Java

Bolt apps are self-hosted.


Deno Slack SDKs

The Deno Slack SDK provides a way to build customizable workflow apps, hosted entirely by Slack.


APIs

APIs cover the wide array of ways to communicate with Slack data. Hundreds of methods allow you to read, write, and update Slack data, from responding to activities in Slack to building event management tools!


Run on Slack Infrastructure

Run on Slack Infrastructure allows you to build apps and leave the responsibility of hosting, data management, and security to Slack. Run on Slack Infrastructure aims to make hosting and maintaining Slack integrations simpler by providing tooling and APIs that enable developers to quickly and securely develop custom Slack integrations.