Visitar URL original
Running Slack CLI commands | Slack Developer Docs
Skip to main content

Running Slack CLI commands

The Slack CLI technique installs and runs Slack CLI commands directly from a GitHub Actions workflow.

This is useful for automating tasks such as deploying apps, validating an app manifest, or interacting with Slack platform features that are available with the CLI.

Setup​

Authentication​

Pass a service token via the token input. This is appended as --token <value> to the CLI command. The slack auth token command can be used to gather this.

CLI version​

By default, the latest version of the Slack CLI is installed. To pin a specific version, use the version input:

- uses: slackapi/slack-github-action/cli@v4.0.0
with:
command: "version"
version: "3.14.0"

If the slack command already exists on PATH, installation is skipped entirely.

Usage​

Provide a command input with the Slack CLI command to run, omitting the slack prefix.

- uses: slackapi/slack-github-action/cli@v4.0.0
with:
command: "version"

Debug logging​

When a workflow is re-run with Enable debug logging, the action automatically appends --verbose to the CLI command. You can also include --verbose in your command input manually at any time.

- uses: slackapi/slack-github-action/cli@v4.0.0
with:
command: "deploy --app ${{ vars.SLACK_APP_ID }} --verbose"
token: ${{ secrets.SLACK_SERVICE_TOKEN }}

Outputs​

The following outputs are available after a CLI command runs:

OutputTypeDescription
okbooleanIf the command completed with a 0 exit code.
responsestringThe standard output from the CLI command.
timenumberThe Unix epoch time that the step completed.

Examples​

Check the installed CLI version​

steps:
- uses: slackapi/slack-github-action/cli@v4.0.0
id: slack
with:
command: "version"
- run: echo "${{ steps.slack.outputs.response }}"

Validate the app manifest​

steps:
- uses: actions/checkout@v7
- uses: slackapi/slack-github-action/cli@v4.0.0
with:
command: "manifest validate --app ${{ vars.SLACK_APP_ID }}"
token: ${{ secrets.SLACK_SERVICE_TOKEN }}
Workflow: Validate a manifest

This workflow validates the app manifest on pull requests to catch configuration issues early.

example-workflows/Technique_4_Slack_CLI_Command/manifest.yml
loading...

Deploy an app with a service token​

steps:
- uses: actions/checkout@v7
- uses: slackapi/slack-github-action/cli@v4.0.0
with:
command: "deploy --app ${{ vars.SLACK_APP_ID }} --force"
token: ${{ secrets.SLACK_SERVICE_TOKEN }}
Workflow: Deploy an app

This workflow deploys a Slack app when changes are pushed to the main branch. It uses a service token to authenticate the deploy command.

example-workflows/Technique_4_Slack_CLI_Command/deploy.yml
loading...

Manage collaborators​

Workflow: Manage collaborators

This workflow adds or removes an app collaborator using a manually triggered workflow.

This example combines the Slack API technique (users.lookupByEmail, chat.postMessage) with the CLI technique (collaborators add/remove) to look up a user by email, update collaborators, and post a confirmation message.

example-workflows/Technique_4_Slack_CLI_Command/collaborators.yml
loading...