slackclient
Slack API clients for Web API and RTM API (Legacy) - Please use https://pypi.org/project/slack-sdk/ instead.
What it is and what it does
slackclient is a Python SDK for interacting with Slack's Web API and RTM API, enabling developers to build custom applications, bots, and integrations that send messages, upload files, and respond to real-time events in Slack. It wraps Slack's HTTP and WebSocket APIs with Python methods, handling authentication via tokens and providing event-driven callbacks for RTM connections.
The package requires Python 3.6 and above and depends on aiohttp for async HTTP operations. It is currently in maintenance mode; the project's own documentation recommends migrating to the successor project for new development, which offers additional features like Socket Mode, OAuth flows, and improved asyncio support. Existing slackclient code can continue to function, but users should plan for eventual migration.
Use it for:
- Send messages and notifications to Slack channels programmatically from Python applications.
- Upload files to Slack channels as part of automated workflows or reporting systems.
- Build event-driven bots that listen for and respond to messages using the RTM API.
- Integrate third-party services into Slack by posting updates or alerts to specific channels.
- Create custom Slack apps that interact with the Web API for channel management and user interactions.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python interfaces to Slack's Web API and Real Time Messaging (RTM) API for building Slack applications and bots.
Yes, but with conditions: slackclient remains functional and suitable for maintaining existing applications, but the project's own documentation explicitly recommends the successor project for new development. Install only if you are maintaining legacy code or have a specific reason not to migrate. For new Slack integrations, use the successor project instead.
Install
slackclient on PyPI
pip
pip install slackclientuv
uv add slackclientpoetry
poetry add slackclientInstalling slackclient
Before you install
Low install friction with a single runtime dependency (aiohttp). Active maintenance status with recent commits, though the package is in maintenance mode.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects.
Quickstart
pip install slackclient
from slackclient import WebClient
import os
client = WebClient(token=os.environ['SLACK_API_TOKEN'])
response = client.chat_postMessage(channel='#random', text='Hello world!')
Requires a valid Slack API token set in the SLACK_API_TOKEN environment variable and appropriate bot permissions.
Verify before relying
- Whether async/await patterns are fully supported across all API methods or only specific ones.
- Current state of RTM API support given Slack's deprecation timeline for real-time messaging.
- Performance characteristics when handling high-volume message throughput or large workspaces.
- Specific migration path and effort required to move from slackclient to the successor project.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — aiohttp |
| Maintenance | actively maintained — 1,575 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 7,699,515/month — #1,707 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: slackclient-2.9.4-py2.py3-none-any.whl
Keywords: slack, slack-web, slack-rtm, chat, chatbots, bots, chatops
Tags
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
psutilpsutil retrieves real-time information about…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
uvloopuvloop is a drop-in replacement for Python's…
permissive · top 1,000 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
pyzmqPyZMQ provides Python bindings for ZeroMQ…
permissive · top 1,000 on PyPI
RtmAPIRtmAPI provides Python bindings to the Remember…
permissive · top 15,000 on PyPI
slack-discovery-sdkProvides Python bindings to Slack's Discovery…
unclear · top 15,000 on PyPI
slack-sdkProvides Python bindings for Slack's Web API,…
permissive · top 1,000 on PyPI
slackblocksBuilds Slack Block Kit messages…
permissive · top 15,000 on PyPI
slackwebSends messages to Slack channels via incoming…
permissive · top 15,000 on PyPI
mattermostwrapperA Python wrapper for the Mattermost v4 API that…
permissive · top 15,000 on PyPI
slackerSlacker is a Python client library for the…
permissive · top 15,000 on PyPI
slackeventsapiReceives and parses events from Slack's Events…
permissive · top 15,000 on PyPI
blockkitBlockKit builds Slack UI blocks…
permissive · top 15,000 on PyPI
apache-airflow-providers-slackIntegrates Apache Airflow with Slack, enabling…
permissive · top 5,000 on PyPI