# Slack CLI quickstart, samples and developer support

*Slack Developer Study Guide · Tools · Last updated October 21, 2026 · https://www.certifyforce.com/study-guide/slack-developer/tools/slack-cli-quickstart-samples-and-developer-support*

How to get a first Bolt app running with the Slack CLI quickstart, which official sample or tutorial fits a requirement, where to report framework defects, and how to spot an outdated external tutorial built on end-of-life packages.

- Certification: Salesforce Slack Developer
- Exam section: Tools
- Study guide: https://www.certifyforce.com/study-guide/slack-developer

**Official exam objective:**

> Recommend when to use sample code and external resources.

## What the exam expects

- Recommend the Slack CLI quickstart (`slack login`, `slack create` from a starter template, `slack run`) when a developer needs a working Bolt app to study today.
- Pick the right entry from the Samples & tutorials catalog for a requirement, including the custom step tutorials for an app that already exists.
- Send a suspected framework defect to the project's GitHub issue tracker and Slack's developer support, never to a public post with credentials.
- Judge an external tutorial against current docs, and replace end-of-life packages such as `@slack/events-api` and `@slack/interactive-messages` with Bolt for JavaScript.

Key terms: **Slack CLI** (command-line tool to create, run and manage Slack apps); **starter template** (a preconfigured project that `slack create` copies); **Samples & tutorials** (Slack's curated catalog of sample code and step-by-step guides); **issue tracker** (each SDK's GitHub issues, for bugs and questions); **end of life (EOL)** (development stopped, no fixes).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Quickstart order | Install the CLI, `slack login`, `slack create` (Starter App, then Bolt for Python or JavaScript), `slack run` | [Quickstart](https://docs.slack.dev/tools/bolt-js/getting-started/) |
| `slack run` | Installs the app to the chosen team using `manifest.json` and restarts on saved changes | [Quickstart](https://docs.slack.dev/tools/bolt-js/getting-started/) |
| CLI runtimes | Bolt for JavaScript, Bolt for Python, or the Deno Slack SDK | [Slack CLI](https://docs.slack.dev/tools/slack-cli/) |
| Custom templates | `slack create <name> --template=<org>/<repo>` uses any accessible GitHub repository | [Security best practices](https://docs.slack.dev/concepts/security/) |
| Catalog filters | Bolt for Java, Bolt for JavaScript, Bolt for Python, Deno Slack SDK | [Samples & tutorials](https://docs.slack.dev/samples) |
| Existing-app custom step tutorial | Offered for Bolt for Python and Bolt for JavaScript; needs Bolt 1.20.0+ and a paid plan | [Samples & tutorials](https://docs.slack.dev/samples), [Existing app tutorial, Python](https://docs.slack.dev/tools/bolt-python/tutorial/custom-steps-workflow-builder-existing) |
| Steps from Apps | Stopped working September 26, 2024, no direct migration path | [Workflow Steps from Apps step back](https://docs.slack.dev/changelog/2023-08-workflow-steps-from-apps-step-back) |
| Getting help | GitHub issue tracker (search first) and support@slack.com | [Bolt for JavaScript](https://docs.slack.dev/tools/bolt-js/) |
| EOL Node packages | `@slack/events-api`, `@slack/interactive-messages`: EOL May 31, 2021; migrate to Bolt for JavaScript | [Node Slack SDK](https://docs.slack.dev/tools/node-slack-sdk/) |
| Credentials in public | Never place tokens or the client secret in public repositories | [Security best practices](https://docs.slack.dev/concepts/security/) |

## Check yourself

- Which three CLI commands take a new developer from nothing to a running starter app?
- When should a developer use the "Custom Step for Workflow Builder: Existing Bolt app" tutorial rather than the plain custom step one?
- Why is `@slack/events-api` a poor choice for a new Node app?
- Where should a suspected Bolt for JavaScript defect be reported?
- Why can't an incoming webhook replace the packages that receive events and button clicks?

## Sources

- [Quickstart: Creating a Slack app](https://docs.slack.dev/tools/bolt-js/getting-started/)
- [Samples & tutorials](https://docs.slack.dev/samples)
- [Slack CLI](https://docs.slack.dev/tools/slack-cli/)
- [Bolt for JavaScript](https://docs.slack.dev/tools/bolt-js/)
- [Node Slack SDK](https://docs.slack.dev/tools/node-slack-sdk/)
- [Custom Steps for Workflow Builder (existing app), Bolt for Python](https://docs.slack.dev/tools/bolt-python/tutorial/custom-steps-workflow-builder-existing)
- [Custom Steps for Workflow Builder (existing app), Bolt for JavaScript](https://docs.slack.dev/tools/bolt-js/tutorials/custom-steps-workflow-builder-existing)
- [Workflow Steps from Apps step back](https://docs.slack.dev/changelog/2023-08-workflow-steps-from-apps-step-back)
- [Security best practices](https://docs.slack.dev/concepts/security/)
- [Legacy RTM API](https://docs.slack.dev/legacy/legacy-rtm-api)
- [Sending messages using incoming webhooks](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 4 linked practice questions, and unlimited timed mock exams are included with the Slack Developer pack (USD $19): https://www.certifyforce.com/practice-exams
