skillfed

slack-bolt

The Bolt Framework for Python

slack-bolt v1.30.0 15.1M downloads/30d#1,200 on PyPI1,322
Permissive license MIT Active released

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

Bolt for Python is a framework for building Slack apps that handle events, commands, actions, and shortcuts through a decorator-based listener pattern, with support for both synchronous and asynchronous execution.

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

pip

pip install slack-bolt

uv

uv add slack-bolt

poetry

poetry add slack-bolt

Installing slack-bolt

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.

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)

Requires Python 3.7 or later; SLACK_BOT_TOKEN and SLACK_SIGNING_SECRET environment variables (or constructor parameters) are needed to authenticate with Slack.

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 — slack_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)

Evidence: slack_bolt-1.30.0-py2.py3-none-any.whl

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

Tags

slack app framework pythonslack events api handlerslack bot frameworkslack slash commandsslack interactive actionsslack workflow integrationslack socket mode
slack-integrationasync-supportevent-driven

More Application Frameworks packages