Our future generation platform is in closed beta. During the beta, expect some rough edges, broken windows overlooking blue sky vistas, and regularly scheduled changes.

Already signed up? Great! You can ignore this.
Need to sign up? Apply to join the beta.

Using the Slack CLI

The command line interface helps you create, run, and deploy new apps. The main command slack is your entryway to all other commands in the CLI.

Download the CLI

The command line interface is meant to make the process of creating new apps, running them, and deploying them easier. Binaries are available for several platforms.

Deno is currently a pre-requisite for using the CLI — if you do not have Deno installed, please do so first.

Existing slack binary in path

If you happen to have another CLI tool in your path called `slack`, we recommend renaming our slack binary to a different name before adding it to your path.

Download the latest binary for your platform.

Our future generation platform is in closed beta. Request access to gain access to additional documentation & tooling.

Next steps: Authorization

After you download the CLI, you'll need to authorize the CLI in your workspace. Follow the Quickstart guide to setup authorization and begin building your first app.

Version Update Notifications

Once a day, the CLI will check for updates after running any command. When an update is available, a notification will be displayed with a link where you can find and download the new version.

Update notifications can be disabled using a command-line flag or an environment variable. When running any command, you can append the --skip-update or -s flag. Alternatively, you can set the SLACK_SKIP_UPDATE environment variable and assign it any value.

Global Flags

Flag Description
--apihost Slack API host (default: https://slack.com)
--environment, -e Specify the app environment
--force, -f Force update app manifest
--help, -h Help for slack commands. Use this flag with any command (e.g. slack create --help) to get more information about a specific command
--verbose, -v Set to print verbose debug logging
--skip-update, -s Use to disable version update notifications
--runtime, -r Project's runtime language: deno, deno1.1, deno1.x, etc. (default: deno)
--workspace, -w Set a specific workspace by domain name

Integrating the CLI into a pipeline

In addition to being useful for setting up new projects and local development, the CLI can be integrated into test and deployment pipelines, for continuous integration and continuous deployment and other "headless" automation.

Running in a headless mode first requires authorization using the --auth flag and passing along a user token. This will generate the authorization credentials required in a ~/.slack directory. Removing this directory will remove the authorization.

Once authorized, any slack command can be run as normal and will use the established auth.