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.


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!


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.


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.


Enterprise Grid

Enterprise Grid is a network of two or more Slack workspace instances, allowing channels and conversations to be shared between multiple workspaces. Developing and sharing apps with Enterprise Grid takes special consideration and planning. Learn how to develop, manage, and share your apps on Enterprise Grid.


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.


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.


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.


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.


Workflow steps

Workflow steps infuse the magic of custom function logic into Workflow Builder steps. Build an app with custom functions with the Deno SDK or the Bolt SDK and distribute to your organization to see your custom functionality appear as a custom step in Workflow Builder.