Distributing your app publicly

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.

Prepare your app for distribution

Before your app can soar from workspace to workspace, there's some preparation required.

Handling installations

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.

Prepare for Grid installs

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.

Improve your onboarding flow

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.

Enabling SSL

Slack apps open to installation by other workspaces have additional security requirements. Your app must support SSL for all:

Make friends with admins

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.

Enabling public distribution

If you think you're ready to takeoff, it's very simple for your app to launch into the world of public distribution:

  • Go to your app's dashboard;
  • Click on the Manage Distribution section;
  • Scroll to Share Your App with Other Workspaces;
  • Ensure that all items in the supplied checklist are completed;
  • Click the Activate Public Distribution button.

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.

Deactivating distribution

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.

Was this page helpful?