The Slack platform lets you extend, expand, and automate your workspaces. Cultivate conversation, inspire action, and integrate services by building apps or workflows.
The workspace is your sandbox, and this guide will show you some of the toys.
Keep reading to get an overview of our platform's features. We'll point you in the right direction to learn even more about each piece along the way.
The Slack platform offers a couple of different routes to automate and enhance your Slack workspaces:
You can use workflows and apps on their own, or combine them as your needs demand. Read on to learn more and decide the best route for you.
Slack workflows are no-code solutions that automate routine tasks in Slack. Workflows are built with Workflow Builder using a limited set of triggers and steps.
Triggers initiate a workflow. They may be user-invoked actions, like selecting a shortcut or reacting with an emoji. Or they could be automatic, like scheduled dates and times, or posting to a webhook.
Steps follow the trigger’s lead. A step can perform a basic task such as post a message into a conversation or prompt a user for short-form information in a modal.
If you want greater customization and extensibility, read on to learn about apps and the surfaces in which they appear.
Apps have access to the full scope of the platform, paving the way for more enhanced, custom, and powerful experiences in Slack.
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:
They say a magician never reveals their secrets. But we're bound to a different kind of code, so here are some revelatory guides to explore:
Create welcoming spaces for people to use your Slack app by using the range of possible app surfaces.
A surface is anywhere an app can express itself through communication or interaction.
Read our overview of app surfaces to see more about each of these spaces, and what your app can do with each.
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.
Here's what's in store for you while taking this heroic first step:
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.
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.
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.
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.
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:
Your new app is created devoid of features, uninstalled. After you implement some features, it'll become installable.
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.
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.
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.
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 communicating with users. 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.