Team collaboration

Have multiple developers working on an app? Never fear! Teams can collaborate when building and deploying next generation Slack apps.

Deploy the app to make it available to collaborators

Let's say you're working along on an app and you realize it's going to need several types of triggers. Your teammate Luke is the resident trigger expert, so you ask if he'll jump in and help you out, to which he enthusiastically agrees β€” hooray!

The first thing you'll do is to deploy your app using slack deploy.

✨ For directions on how to deploy your app, check out deploy to Slack.

This will create an apps.json file in your .slack folder (this folder may be hidden). This file contains information about your deployed app, such as your workspace, its name, the app ID, and the team ID. You'll want to check this file into version control.

Add collaborators

Now, as long as Luke is in the same workspace as you, you can add Luke as a collaborator on your app right from the CLI by entering the slack collaborator add command along with their email address or user ID. Choose your deployed environment, and voilΓ ! Luke is now a collaborator on your app. To double-check, you can run the slack collaborator list command and choose your deployed environment β€” you should see yourself and Luke in the list.

In the meantime, Luke can clone the GitHub repository containing the files that comprise your app on their computer. They'll also need to run slack deploy to create the .slack/apps.json file.

Develop locally

Both you and Luke can now develop locally on your unique instances of the app. Use slack run while working to see your changes in real-time within your local environment.

✨ For information about developing locally, check out local development.

App instances

Worthy of note is that there are now three instances of the app in existence:

  • The deployed version of the app that exists within your shared workspace
  • Your local version of the app
  • Luke's local version of the app

Both of your projects will include an apps.dev.json file that is unique to you and your local development environment. These files should not be checked in to version control.

Deploy updates to production

Once you and Luke have completed development, you'll both redeploy your local app instances to your deployed environment using slack deploy. Teamwork makes the dream work!

Have 2 minutes to provide some feedback?

We'd love to hear about your experience building modular Slack apps. Please complete our short survey so we can use your feedback to improve.