Give your apps room to grow by enabling public distribution. Distribution will allow workspaces of all shapes and sizes to install and enjoy your app.
Before you let your app loose, prepare it for the wide world by following this guide. We'll show you how to handle widespread installation, and explain some of the pre-requisites and caveats of distribution.
Before your app can soar from workspace to workspace, there's some preparation required.
When first created, your app can be installed to its associated workspace without any code for handling authorization.
The one-click install of a single-workspace app generates an access token. That access token can then be used to authenticate all sorts of API requests, but only within that associated workspace.
When you're planning to share your app with other workspaces - whether one or one thousand - you need to handle authorization. This will allow your app to be installed to any arbitrary workspace, generating and using an access token programmatically.
This process works using the familiar protocol of OAuth 2.0. Read our guide to using OAuth to understand the flow required for your app to request permissions and generate access tokens on the fly.
Once in the wild, your app could be installed to a Slack organisation that uses Enterprise Grid. So it makes sense to understand how Grid can affect the way your app works, to prevent buggy behavior.
Read our guide to supporting Enterprise Grid in apps to prepare properly.
Onboarding users is an important consideration for any app. For those apps that are publicly distributed, it is especially crucial—your user base could grow from a single workspace to potentially hundreds.
While it might be simpler to provide direct, hands-on support with a single workspace, this won't scale once your app is shared with multiple workspaces.
Creating a helpful and engaging onboarding flow will help your potential users become experts without any hands-on support.
Slack apps open to installation by other workspaces have additional security requirements. Your app must support SSL for all:
Some workspaces will restrict app installation so that only workspace administrators can provide authorization. Other workspaces may only allow the installation of apps officially listed in the Slack app directory.
Workspaces can also enable admin approval features where users can't directly install apps but can solicit for installation through a guided interface. Administrators may then screen these requests and selectively approve for installation.
We don't have any technical guidelines for handling this, your app either will or won't be approved. However, ensuring that your app design and interactions follow our guidelines might improve your chances of admin approval.
The list of permissions that an app requests will also be important to the decision an admin makes—ensure that your app only requests permissions it absolutely needs.
If you think you're ready to takeoff, it's very simple for your app to launch into the world of public distribution:
That's it! Your app is now soaring through the skies of the Slack app ecosystem. We hope your journey is a great success.
If you want to take it another step further, read our guide to distributing your app in the Slack App Directory.
After distribution has been activated you have the option of deactivating by clicking on the Deactivate Public Distribution button in the same location you enabled it above.
This will remove the app from any workspaces that have installed it, aside from the originally associated workspace.
You can not deactivate distribution in this way after your app is published in the App Directory. Follow the instructions in the App Directory guide to discontinue your listing.