Skip to main content

Slack platform overview

More doing, less reading

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 docs, the place where ideas turn into interactive apps, workflows get automated, and Slack becomes the platform that powers your workday. With new tools for building AI agents and intelligent apps, our docs 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, and enhances the user experience. With the Slack platform, developers 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.

The path of app creation

There are three high-level steps to creating a Slack app:

  1. Create an app using the CLI or the app settings page.
  2. Code the logic of your app. Decide which APIs your app will use, events it will respond to, which actions it will take, etc.—in the code editor of your choice. We recommend VS Code and using the Bolt framework (a Slack-created open source framework for JavaScript, Python, or Java) to make things easiest.
  3. Run your app locally to test it. Then, look into distribution and authentication.

Along the way, you can decide to use different surfaces, methods, and blocks that make up the visual structure of your 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. The comparison below shows popular paths, how much coding knowledge it needs, and where to find full instructions.

PathDescriptionCoding knowledgeInstructions
Slack CLI + BoltScaffold from a starter template and run your app locally with the Slack CLI.JavaScript or PythonView guide
Vercel's Slack Agent SkillBuild, test, and deploy a Slack agent on Vercel through a guided wizard.AI-assistedView guide
Slack MCP and Skills PluginLet your AI coding tool scaffold and configure a Slack app for you in Claude Code or Cursor.AI-assistedView guide
App settingsClick through the browser UI at api.slack.com/apps. Good for webhooks with no build step.No codeView guide

Go deeper

Define where your app lives across the several available Surfaces.

Image

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 Bolt apps.

Organize your app's information in visually appealing way with Block Kit. This includes interactive blocks, like buttons, that you can use to facilitate user interaction.

Image

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.

Build AI agents and context-aware apps: Integrate your LLM and take advantage of features like the split-view pane and text streaming, all outlined here.

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 provide even wider functionality. Shortcuts are a simple and reliable way to save your app's location for ease of discovery by users.


Tools of the trade

Slack provides several tools to aid you in your quest to creating Slack apps.

✨ Are you using AI to aid your development in Slack? Be sure to check out the AI-assisted development guidelines, including pointing your AI tool to the docs llms.txt file.

✨ The Slack CLI is the recommended way to manage your app's entire lifecycle, from creation to installation and administration.

Developer sandboxes let you play around with platform features outside of a production environment.

✨ The Bolt framework, available for Python, JavaScript, and Java, uses the Slack SDKs (available for Python, Node, and Java) under the hood to handle the fiddly bits of app development, including token rotation and navigating rate limiting. It is the fastest way to build a capable and secure app.

✨ Use app settings to create apps for times when you don't need any code but want to enable access to the platform via tokens to use with the Web API.


App vs. workflow

For the non-technically inclined, Slack offers a no-code product to build workflows: Workflow Builder. This product is accessed via the Slack client. The Slack platform extends Workflow Builder by providing an avenue to write custom workflow steps. These steps are coded as a function in an app. Once deployed, they are available to use as a step in Workflow Builder.

Those custom workflow steps can be created in an app built with the Bolt framework, in any of Bolt's three flavors (Python, JavaScript, and Java).

We encourage you to read through our detailed comparison of the options.


How to use these docs

This documentation site is broken down into four categories:

  • Guides: These are more lengthy explanations of a concept within a Slack app, i.e. how to build out a feature, how to implement OAuth, what a surface is, etc. You are here.
  • Reference: Have you landed here looking for reference documentation? We admire a straight-shooter. Direct your attention to the Reference section for referential material on API methods, scopes, events, Block Kit payloads, etc.
  • Samples: Our collection of sample apps and accompanying tutorials.
  • Tools: The library of available tools you can use to build a Slack app. Psst...check out Bolt.
For every page, markdown

These pages are optimized for AI collaboration. A markdown version of each documentation page can be found at its URL plus .md at the end; for example, this page's markdown is viewable at https://docs.slack.dev/concepts/overview.md. This format is easier for agents to read and parse, helping distill information for you on your app building journey!


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?

Get Started