slack-bolt
The Bolt Framework for Python
Decision gist · record as of 2026-08-14
Yes. Bolt for Python is actively maintained, has no known vulnerabilities, installs with minimal friction, and is permissively licensed. It is the official Slack framework for Python and substantially reduces boilerplate for building Slack apps. Install it if you are building any Slack application.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later; SLACK_BOT_TOKEN and SLACK_SIGNING_SECRET environment variables (or constructor parameters) are needed to authenticate with Slack.
- Low install friction with a single runtime dependency (slack_sdk).
- The package is actively maintained with a recent release (30 days ago) and has been in development since 2020, with 1322 repository stars indicating stable community adoption.
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing commercial and private use with minimal restrictions—you may use, modify, and distribute this package freely as long as you include the original license notice.
last release 2026-07-15 (30 days) · last repo commit 2026-08-14 · 1,322 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 15,072,103 downloads/mo, #1,200 on PyPI
Alternatives
Verify before relying
pip install slack_bolt
from slack_bolt import App
app = App(token="xoxb-...", signing_secret="***")
@app.event("app_mention")
def handle_mention(event, say):
say("Hello!")
app.start(3000)- Whether the package supports all Slack API features or only a subset of the platform's capabilities.
- Performance characteristics and scalability limits for high-volume event processing.
- Whether Socket Mode is suitable for production workloads or primarily for development.
What it is and what it does
Bolt for Python is a framework that simplifies building Slack applications by providing a decorator-based API for listening to and responding to Slack events, commands, actions, and shortcuts. It abstracts away the HTTP request handling and authentication details, letting you focus on writing listener functions that react to user interactions in Slack. The framework supports both synchronous and asynchronous execution patterns, and can run apps either through traditional HTTP webhooks (with ngrok or similar tunneling) or via Slack's Socket Mode for easier local development.
The package depends only on slack_sdk, the official Slack SDK for Python, and supports Python 3.7 through 3.14. It provides utility functions like `say()` to send messages, `ack()` to acknowledge events, and `respond()` to reply to interactive actions. Listener functions receive context about the triggering event and can access the Slack Web API client to perform additional operations.
Use it for
- Build a Slack bot that responds to mentions, messages, or slash commands without managing HTTP routing or signature verification manually.
- Create interactive workflows using Block Kit elements (buttons, select menus) that trigger callback functions when users interact with them.
- Implement custom Slack workflow steps that integrate with external systems or perform business logic when triggered.
- Run a Slack app in development or production using Socket Mode to avoid exposing a public HTTP endpoint.
- Handle multiple Slack workspaces with OAuth-based token management for multi-tenant Slack applications.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Bolt for Python is actively maintained, has no known vulnerabilities, installs with minimal friction, and is permissively licensed. It is the official Slack framework for Python and substantially reduces boilerplate for building Slack apps. Install it if you are building any Slack application.
Install
slack-bolt on PyPI
Before you install
Low install friction with a single runtime dependency (slack_sdk). The package is actively maintained with a recent release (30 days ago) and has been in development since 2020, with 1322 repository stars indicating stable community adoption.
Requires Python 3.7 or later; SLACK_BOT_TOKEN and SLACK_SIGNING_SECRET environment variables (or constructor parameters) are needed to authenticate with Slack.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions—you may use, modify, and distribute this package freely as long as you include the original license notice.
Quickstart
pip install slack_bolt
from slack_bolt import App
app = App(token="xoxb-...", signing_secret="***")
@app.event("app_mention")
def handle_mention(event, say):
say("Hello!")
app.start(3000)
Verify before relying
- Whether the package supports all Slack API features or only a subset of the platform's capabilities.
- Performance characteristics and scalability limits for high-volume event processing.
- Whether Socket Mode is suitable for production workloads or primarily for development.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageslack_sdk |
| Maintenance | Actively maintained 30 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 15,072,103 / month, #1,200 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPython |
Evidence: slack_bolt-1.30.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “slack app framework python”
- slack-boltBolt for Python is a framework for building Slack apps that handle…
- pyblock-builderPyBlock Builder provides Python classes and helper functions to…
- slackeventsapiReceives and parses events from Slack's Events API using an event…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also bar-raiser · pyblock-builder · slackeventsapi · slack-sdk · slackclient · blockkit · slack · slackblocks · slackweb