Please note, your app does not need to be listed in the App Directory for it to work for your own or other Slack workspaces.
Once you've built your app, you can submit it to the App Directory to be used by other Slack workspaces. We review apps to ensure they provide users with a great experience and comply with our API TOS, Developer Policy and Brand Guidelines.
When submitting, you'll see the comprehensive checklist shown below, which covers the most common points of failure during the review. Follow this checklist to help your app go through the review process quickly and smoothly.
To submit your app:
- Select your app from https://api.slack.com/apps
- Choose Manage Distribution from the left-hand menu
- Complete the checklist and submit
Once we've reviewed your app, we'll email you. If your app is approved, you can publish your app to the App Directory from your app's configuration page. Your live app's settings will be accessible from the Live app configuration section.
To update your published app:
- Click Edit app on your app's configuration page to create a development copy after you've published it
- Edit your app as needed and test using the credentials of the development app (these changes will not affect the published version of your app)
- Submit those changes for review from the Update Directory app section
You can also remove your published app from the App Directory in the Live App Settings of your app's configuration page.
App Submission Checklist
Review your permission scopes
- My app only uses the scopes that it needs to work, does not request overly broad access to message data or other sensitive information, and does not use legacy scopes (read, post, or client).
- I've added all scopes my app requests and reasons for each one.
Review your user experience
- Messages from my app use clear, consistent formatting. (Read up on building with blocks. You can also use our Message Builder to see a preview of your messages or find templates for your app.)
- Messages from my app don't contain any typos or grammatical errors.
- My app doesn't spam all users on a workspace either in DM or by email (see API Terms of Service).
- My app uses @-channel or @-here notifications only when truly appropriate and does not send messages to a user’s slackbot channel.
- My app does not use any Slack workspace email addresses collected when the app is installed to send emails to those users.
- If my app uses a slash command or bot user, there's a way for a user to ask for help or send feedback within the app.
- If using the App Home "Messages" tab, my bot responds to users' direct messages. It also uses the
app_home_opened event to send a welcome message the first time a user opens this view.
- If using the App Home "Home" tab, any content displayed there is helpful and appropriate for the user viewing it.
- My app provides functionality in Slack and I've tested my app on a new Slack workspace to confirm all its features are functional.
- I've performed a final test before submitting my app, including installing it from scratch using my own instructions and completing the entire onboarding process.
- My app is ready to support a large number of users after listing in the App Directory and is not currently in private beta.
- My app uses TLS 1.2 or higher for any redirect URIs, web pages, or endpoints.
- My app does not request more domain events than it should.
Prepare your App Directory listing
We have some guidelines on presenting your Slack app in the directory. Please review them before submission.
- My app has completed all necessary fields
- My app's name doesn't infringe on a trademark or copyright for any other products or services.
- My app's name isn't the same as a name currently in the App Directory.
- My app has a high quality, distinctive icon that doesn't resemble Slackbot or the Slack icon (see Slack Brand Guidelines).
- My icon doesn't infringe on anyone else's copyright or trademark (including Slack).
- My app has a well written, detailed, and truthful long description of what it does.
- My app's long description includes details about any of the following: paid account requirement, emails from my app, provisioning with a Slack user's email.
- My app fully supports the languages I have selected.
- The pricing information I have provided is accurate.
Review your installation landing page
- My landing page contains a detailed summary of what my app does and how it integrates with Slack.
- My landing page contains clear instructions on how to install and use my app (e.g. which parts of my app trigger messages in Slack, and which comments a bot responds to).
- My app's landing page displays the Add To Slack button for users to install my app, or has detailed instructions about how to access the Slack button if behind a login page.
Prepare your customer support
- My app links to a page with clear instructions on how to contact you if they encounter problems or need help.
- My support channel is active, and I'm responsive to new requests.
- Contacting me for support doesn't require creating a new account of any kind.
- I agree to keep my app updated and my support channel active.
Review and agree to our policies
Help us review your app
We'll also need some information to help us review your app
- Details of any paid test accounts we need to use your service
- Details of any test accounts that might be needed for third-party services
- Details of a new Slack workspace with your app installed