Something went wrong!
Hang in there while we get back on track
Slack Integration
Send messages, manage channels, and interact with Slack workspaces using the official Slack API
Requires Claude Code CLI
This skill integrates with Slack through Claude Code. Install Claude Code and add this skill to use it.
Available Actions
Send Message
Send a text message to a Slack channel or direct message to a user
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| channel | string | Required | Channel name (with # prefix), channel ID, or user ID for DMs |
| text | string | Required | The message text to send |
Returns
object Message delivery confirmation
Try saying...
- "Send a message to #general saying 'Hello team!'"
- "Post 'Meeting in 5 minutes' to the engineering channel"
- "DM user U123456 with a reminder"
List Channels
Get a list of all channels the bot has access to
Returns
array Array of channel objects
Try saying...
- "Show me all Slack channels"
- "List all available channels"
- "What channels can the bot access?"
Upload File
Upload a file to a Slack channel
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| channel | string | Required | Channel name or ID to upload to |
| file_path | string | Required | Local path to the file to upload |
Returns
object File upload confirmation
Try saying...
- "Upload report.pdf to #project-updates"
- "Share the screenshot with the design channel"
- "Upload this document to Slack"
Get Message History
Retrieve recent messages from a channel
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| channel | string | Required | Channel name or ID to fetch history from |
| limit | integer | Optional | Number of messages to retrieve |
Returns
array Array of message objects in reverse chronological order
Try saying...
- "Get the last 20 messages from #engineering"
- "Show me recent messages in the general channel"
- "Fetch the latest 5 messages from #support"
Getting Started
- 1 Go to https://api.slack.com/apps
- 2 Create a new app (From scratch)
- 3 Navigate to OAuth & Permissions
- 4 Add Bot Token Scopes: chat:write, channels:read, channels:history, files:write
- 5 Install to Workspace
- 6 Copy the Bot User OAuth Token (starts with xoxb-)
- 7 Add to shell config: echo 'export SLACK_BOT_TOKEN="xoxb-your-token"' >> ~/.zshrc
- 8 Restart terminal or run: source ~/.zshrc
Verify Setup
[ -n "$SLACK_BOT_TOKEN" ] && echo "Token configured" || echo "Token not found"
Success: Token configured
Security & Access
Access Scope
Full read/write access to channels the bot is invited to, ability to send messages, upload files, and read message history. Access is limited to workspaces where the bot is installed and scopes granted during setup.
- Bot tokens grant access to your Slack workspace. Keep them secure and never commit to version control.
- Bot tokens do not expire automatically but can be revoked in the Slack app settings.
- Use the principle of least privilege: only grant the scopes your bot actually needs.
- If a token is compromised, revoke it immediately at api.slack.com/apps and generate a new one.
- The bot can only access channels it's been invited to (unless granted chat:write.public scope).
Limitations
- Bot must be invited to private channels before accessing them
- Message history limited to messages visible to the bot
- File uploads limited by workspace file size limits
- Some actions require specific OAuth scopes
Get This Skill
Requires Pro subscription ($9/month)
Quick Reference
- Type
- PYTHON_SDK
- Auth
- OAuth 2.0
- Setup
- Moderate Setup
- Tools Required
- Bash
- Python Dependencies
- slack-sdk>=3.39.0
Documentation
Have Feedback?
Help us improve this skill by sharing your ideas and suggestions.
Request Improvements