If you came here expecting an answer to a question that you did not find, please let us know.
During this openly accessible beta period, we will continue to evolve and add to the new Slack platform. We'll also try to ensure we don't make any significant breaking changes that require large amounts of refactoring of your work.
However, this is still a beta, and you should be forewarned that things can and probably will change, and those changes could be major.
First, make sure an admin or owner of your workspace has accepted the Slack Platform and Beta Service Terms here. This will get your workspace ready to participate in the beta.
Using a combination of your favorite text editor, the
slack CLI tool, and the included future generation SDK, you will program in TypeScript for a Deno-based runtime.
Start with our Quickstart to go through the entire process.
The new Slack platform is closely tied to specific language runtimes and SDKs. As you install and utilize your developer tools, you should expect requests from your network to the following non-exhaustive list of hosts:
api.slack.com, configuration information and documentation resources
downloads.slack-edge.com, where binaries and other static resources are hosted by Slack
slack.com, where most of the individual APIs reside called by the CLI and your app
slackb.com, general logging for your triggers, functions, and workflows
slackd.com, where we send information about errors, warnings, and other special conditions
deno.land, where the Typescript runtime, Deno, resolves & retrieves dependencies and versions
If you're on Mac or Linux, consider using the automated installer script in the Quickstart guide to get your workstation ready to start using
slack right away.
To add the program to your path manually:
Mac/Linux: Copy the CLI into any folder that is already in your path—such as
/usr/local/bin—or add a new folder to your path by listing whatever folder you installed the CLI to in
Windows: Copy the CLI into any folder that is already in your path, or add a new folder to your path by listing whatever folder you installed teh CLI to in your Environment Variables. You may not have access to edit System variables, so you might need to add it to your account's User variables.
On Windows, you can open the Environment Variables dialog by pressing the
R keys to open the Run window, and entering the following command:
Let's say there are two developers, Luke and Alexis. Luke is the initiator who creates the original app, but they want Alexis to be able to work on the app as well.
Here's how Luke and Alexis can collaborate on their next-generation app:
slack deploy, which will create a
.slack/apps.jsonfile that should be checked in to version control.
slack collaborator add.
At this point, both Luke and Alexis can develop locally with
slack run; they have unique
(dev) instances of the app on their workspace.
In this above example, there are three instances of the app:
Each developer's local project files will have a
.slack/apps.dev.json unique to them. This file should not be checked in to version control.
Slash commands as they've been known in previous generations of the platform are not part of the new platform. We're working on a variety of invocation trigger types, some that are launched very similarly with
/ keystrokes via the the Shortcut menu. We may refer to this clever way of executing a shortcut as a slash command, especially to end users, so fear not fellow slash commandos.
At this time, apps that run on Slack are built with Typescript in a Deno runtime environment.
When you use
slack run the development version of your app connects to Slack via socket mode directly from where you're developing. As you use Slack (or other tools) to interact with your app's triggers, workflows, and functions, data is sent back and forth against your latest saved code. Use this while you're still tweaking things. Your development app is generally only shared with other collaborators, though you can test the full range of trigger options anyway.
When you use
slack deploy the production version of your app is used and the code and instructions you've written are packaged up and stored on Slack. As users use Slack (or other tools)
to interact with your app, data is swiftly and securely sent back and forth between Slack servers. Treat this instance of your app with care, especially as your userbase grows.
slack deployto deploy apps when a workspace has admin-approved apps turned on. Use an alternative non-admin or non-owner account to build, test, and deploy beta apps.
Have 2 minutes to provide some feedback?
We'd love to hear about your experience with the new Slack platform. Please complete our short survey so we can use your feedback to improve.