What it covers
Method-oriented APIs for Slack messages, conversations, users, files, views, and workspace integrations. The profile stays deliberately concise: use the linked official reference for endpoint schemas and current commercial terms.
Integration notes
Authenticate exactly as the provider documents, keep credentials out of client bundles, and retain upstream request identifiers when available. Pagination, retries, caching, and webhook verification should be implemented per product rather than inferred from another API.
Key endpoints
| Method | Description |
|---|---|
chat.postMessage |
Send a message |
chat.update |
Update a message |
conversations.list |
List channels |
conversations.history |
Channel message history |
conversations.members |
Channel members |
users.list |
List workspace users |
files.upload |
Upload a file |
auth.test |
Verify token |
Decision notes
Best suited to workspace automation and interactive slack applications. Before production, verify request only necessary oauth scopes. verify signed inbound requests. Mutable limits, prices, and versions were checked on 2026-09-13 and should be rechecked at purchase or deployment time.
Python example: post a message (bearer token)
import httpx
BOT_TOKEN = "xoxb-your-bot-token"
BASE = "https://slack.com/api"
def post_message(channel: str, text: str) -> dict:
"""Post a message. Slack returns ok:false with an error string on failure."""
resp = httpx.post(
f"{BASE}/chat.postMessage",
headers={"Authorization": f"Bearer {BOT_TOKEN}"},
json={"channel": channel, "text": text},
timeout=30,
)
resp.raise_for_status()
data = resp.json()
if not data.get("ok"):
raise RuntimeError(f"Slack error: {data.get('error')}")
return {"ts": data["ts"], "channel": data["channel"]}
print(post_message("#general", "Hello from the API!"))
Notes:
- Bot tokens start
xoxb-; the bot must be invited to the channel first - Always check the
okfield — HTTP 200 withok: falsemeans failure (channel_not_found, etc.) - Rate limits are tiered per method; respect
Retry-Afteron 429 - For rich layouts use
blocks;textis still required as a fallback
Integration surface
- Versioning
- Method-based Web API; changes are announced in Slack's changelog
- Resource groups
- Conversations, Messages, Users, Files, Views, Team
- Pagination
- Cursor-based pagination with next_cursor
- Errors
- HTTP status plus JSON ok and error fields
- Webhooks
- Events API, interactivity and slash-command request URLs
- Official SDKs
- Node.js, Python, Java