Go to Slack

An introduction to Slack apps

The rundown
Read this if:You're still experimenting, prototyping, and exploring.
Read next:Planning your Slack app

Slack apps extend and expand the capabilities of your Slack workspace. Cultivate conversation, customize functionality, or integrate ingenious services by building an app.

The workspace is your sandbox, and this guide will show you some of the toys.

Building Slack apps

In this guide, we'll give you an overview of the Slack app platform. We'll point you in the right direction to find out even more about each aspect along the way, helping you to build a brilliant Slack app.


What can apps do?

Slack apps enhance internal communication and automate all kinds of marvelous or mundane tasks.

An app can pipe context and data from tools and services to messages in Slack, letting users get work done faster and smarter.

To make this magic happen, every Slack app has access to a bag of tricks—a range of APIs that provide access to read, write, and update all kinds of data in Slack.


Some of these features mirror what users can do in Slack clients:

Send messages to all kinds of conversations using webhooks and Web APIs.

Read messages, conversations, and other data with Web, RTM, and Events APIs.

Create, archive, and manage conversations using conversation-specific Web APIs.

Manage user accounts and groups using SCIM APIs.

Act on mentions, or receive notifications about various goings-on via Events APIs.


Apps can also do things in Slack that no human user can, with no illusions or hocus-pocus involved:

Add interactive components to messages to enable action and reaction.

Empower users to invoke workflows at will using slash commands or custom message actions.


Choose from these features—and many more like them—to conjure the app that you need. There are many different spell-binding combinations that can be created—from a simple, single-purpose tool, to a complex, interactive service integration.

They say a magician never reveals their secrets. But in our guides to planning your Slack app we reveal the process of choosing features for your app.

You'll also want to read our guides to designing a great app experience for tips and advice about defining the look and feel of your Slack app.

Keep reading this guide to learn more about how you can create Slack apps, and to understand what type of authentication to use with your app.


Creating, managing, and building apps

Whether a first-time Slack app integrator or a seasoned veteran, it's often best to just get started and learn what's what along the way.

Create a Slack app Manage your apps

Here's what's in store for you while taking this heroic first step:

Creating an app dialog

Pick a name for your new app and a workspace to associate it with. You can change the app's name as often as you want. The app's associated workspace is a permanent choice, but you can still distribute your app to other workspaces.

That's it. Once created, you have a Slack app to build and manage.

Management of apps

Name, configure, twist, shape, and install your Slack apps by travelling to the app dashboard. There you'll find a list of the apps you own or collaborate with. Just click on the name of an app to configure that app's settings.

Can't find the app you're looking for? Make sure you're signed in to the associated workspace and reload as necessary. You can sign in to multiple workspaces at once on the Slack API site.

Collaborating on apps

The development of Slack apps doesn't have to be a solo endeavour. Add App Collaborators to help manage the app's settings and App Directory listings.

Collaborators are able to perform important actions like installing single workspace apps to their associated workspace, deleting apps, and managing and removing other collaborators (including you, the app creator). With that in mind, be very deliberate about who you add as a collaborator.

Within your app dashboard, you'll find a Collaborators tab that will allow you to add and remove collaborators, and also allow you to leave any apps that you are a collaborator of.

The app's associated workspace Slackbot will dispatch messages to fellow collaborators as changes to the roster are made — or in the event that a Slack app is deleted.

If you have them, you may assign your workspace's single or multi-channel guests as App Collaborators. These guests cannot delete a Slack app, nor modify your carefully pruned roster of co-conspirators.

Building your app

The blank canvas of a freshly-unwrapped Slack app can be a little daunting. To give you a nudge in the right direction, we've created a series of guides to help plan the app you'll build.

We also provide a set of resources, SDKs, and tools to make the app building process faster and easier. Read our guide to building a Slack app to discover them.

Keep reading to learn about how you can install and distribute the Slack apps that you've built.


Installing and distributing apps

Slack apps are installed to workspaces by the consent of users via a process called authorization.

If authorized by a user, an app can take action on behalf of that user, or access permitted data visible to that user. A user's authorization also allows the app to take action as the app — publishing messages from the app, for example.

This authorization process can look a little different depending on how the app is distributed. There are four levels of distribution that apps can progress through during their development lifecycle:

  1. Your new app is created devoid of features, uninstalled. After you implement some features, it'll become installable.

  2. Apps can be installed with a couple of clicks to their associated workspace. These single-workspace apps can use the full range of app capabilities, but can't be distributed to any other workspaces.

    Sometimes that's all you need. Many apps are used this way, as internal apps exclusive to a company's workspace. Perhaps your app integrates with your hand-rolled bug tracker or that funky old database running on a 286 under the boss' desk. Perhaps it just provides some unique benefits to your company culture.

    Whatever your single-workspace apps do is your business.

  3. Building an authorization flow using OAuth 2.0 will let your app generate access tokens for each workspace — and user — on the fly. This optional step allows your app to be distributed to multiple workspaces.

  4. The Slack App Directory lists publicly distributed Slack apps that have been reviewed to ensure they meet high standards of quality and usefulness.

    Listing on the App Directory is another completely optional step that won't be necessary (or even possible) for many Slack apps.

Read our overview of app distribution to learn more about these different methods of sharing and installing your apps.


Your next steps

You might have found something to pique your interest as you went through this overview. But if you kept diligently reading to this point, here's a reminder of what we recommend as next steps.

We explained some of the features available to Slack apps, but how do you know which your app should use? We have a section dedicated to planning your Slack app that will guide you on the right course.

It's extremely likely that the app you plan will be sending some messages. If so, read our section on designing a great app experience.

When it comes time to build that app, you don't need to write everything from scratch. Take advantage of our SDKs and developer tools to make the job simpler and quicker.