Slack platform overview
We're still building and not all features are available quite yet. Enjoy this peek into the future!
Not ready for the future? Return to the past at api.slack.com.
To jump straight into developing your own Slack app, follow our Quickstart. You can get started right now.
Hello there, fellow developer! 👋
Welcome to the Slack API documentation, the place where ideas turn into interactive apps, workflows get automated, and Slack becomes the platform that powers your workday. Our documentation on APIs, SDKs, and tools can assist you in creating apps that make work life simpler, more pleasant and more productive.
The Slack developer platform revolves around Slack apps.
Which brings us to...
What is a Slack app?​
A Slack app is a tool or integration that extends the functionality of Slack: it adds new features, automates tasks, integrates with external services, or enhances the user experience. Essentially, a Slack app allows you to do more within Slack than just chat. With the Slack platform, individual and enterprise developers alike can create apps that integrate directly with the tools teams already use, whether that's connecting a CRM, managing project boards, or sending automated alerts.
Create welcoming spaces for people to use your Slack apps by adopting the range of possible app surfaces and add a variety of interactive elements within those surfaces. Enable your apps through our numerous APIs. Automate processes and share custom steps through workflows (though these work a little bit differently than your typical Slack app).
We know our platform is deep and wide, and possibly a little intimidating as a result. It's okay to not know where to start. First read through this page for some initial context, then jump into the water and try out our Quickstart.
✨ Our sample app tutorials are also particularly useful for those floating aimlessly, as they utilize our frameworks and SDKs. No matter what you try to do, we'll be right beside you.
App vs. workflow​
Apps and workflows are all built on the Slack platform and we consider them all to be apps. The main differentiators are that apps (you may see these referred to as non-workflow apps) are self-hosted while workflows are Slack-hosted. Workflows are built with the Deno SDK while apps can be built using any of the Bolt SDKs or no SDK at all (if you're more of a DIY-er you can go it alone and call our APIs without an SDK). Both types of apps have the ability to carry out actions within Slack and with integrated third-party services.
Then there's Workflow Builder—a builder-friendly interface for automating tasks. Workflow Builder is an end-user facing UI built within Slack. As a developer, you can write custom steps that can be used as workflow steps in Workflow Builder. Those can be created via a workflow app using the Deno Slack SDK or in a Bolt app, in any of Bolt's flavors (Python, JavaScript, and Java).
The Slack platform offers 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. We encourage you to read through a detailed comparison of the options here.
Platform concepts​
While you won't find all of the documentation hubs listed here (find those in the sidebar), here are the highlights you should explore in your app creation quest.
Get up and running​
Before you begin, a little light reading on how to define the look and feel of your app with this guide on designing your app.
Once you've build an app with the Quickstart guide, you may want to explore the ins and outs of authenticating it. Then look to our catalog of APIs to get the creative juices flowing for what you might build. The Web API's hundreds of methods allow you to read, write, and update Slack data, from responding to activities in Slack to building event management tools!
Go deeper​
Define where your app lives across the several available Surfaces.
Organize your app's information in visually appealing way with Block Kit. These include interactive blocks, like buttons, that you can use to facilitate user interaction.
Block Kit allows you to build beautiful surfaces with reusable components. Customize the order, appearance, and direct user interactivity with stackable, versatile blocks.
Further customization​
Make your app yours. Introduce personality and further custom functionality.
✨ AI apps bring another layer to app interactivity by providing a space to integrate your app with your chosen LLM.
✨ 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.
What's next?​
Each developer's needs differ. Maybe you want to explore how to distribute your app or even have it listed on the Slack Marketplace. Perhaps you're interested in managing apps as an admin. Better yet, explore the tools that make the job of app building easier.
Keep the end-goal in sight like a guiding horizon: a user wants to accomplish something with your app. The rest is getting there as productively and pleasantly as possible. Ready?