Your Slack application can be installed on multiple workspaces, which can be managed from the CLI via the
workspace command. This makes it easy to fix bugs using a dev workspace and a separate branch of your code, for example, or to work on new features without disturbing a production app.
Most commands accept an optional
--workspace flag, which runs that command for the given workspace. For example, if you've created a test Slack workspace such as
my-test-workspace.slack.com and installed the app there with the
slack workspace install command, you could then deploy to it by running
slack deploy -w my-test-workspace.
slack workspace list command will list all available workspaces.
Environment variables allow for persistent data storage for your application's runtime and behave similarly to the way standard Unix environment variables work. They are useful for storing configuration data for your app, such as an access token to another API, that you don't want to hard code into your app for security reasons or that you may need to update without wanting to re-deploy the application.
Environment variables are accessible in your application's code via the
env object made available by the TypeScript SDK. For example, an environment variable named
FOO would be accessed via:
Caution: environment variables
When developing locally, environment variables stored in a
.env file at the root of your project will be read at runtime. Do not commit the
.env file to version control, as it likely contains secrets you don't want to show up in a repo that might be made public.
When deploying to Slack's managed hosting, add variables using the
When you add variables, you add them for specific workspaces by passing the
-w flag. If the flag is left off, the workspace you are currently logged into is used.
For example, here is how you can add an environment variable:
$ slack var add FOO my_test_value
And here is how you would use a different value of that same variable on a different workspace:
$ slack var add FOO my_other_value -w my-test-workspace
To check your environment variables, run
slack var list. You should see your variables, but won’t have access to the values. Every environment variable is treated as a secret, and the values are only exposed at runtime.