slack

Send messages, search conversations, and manage Slack channels via the Slack Web API.

Updated Jan 22, 2026
One-click install
npx skills add https://github.com/FahadImdad/Nexus-Fahad --skill slack-fahadimdad
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: slack
Source: https://github.com/FahadImdad/Nexus-Fahad/tree/main/00-system/skills/slack
Command: npx skills add https://github.com/FahadImdad/Nexus-Fahad --skill slack-fahadimdad

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, and includes scripts (resource) and references (resource) components.

What problem does it solve? This Skill eliminates the need to manually switch to the Slack app for routine workspace tasks by enabling message sending, channel management, search, file uploads, reactions, pins, and reminders directly through scripted Slack API operations with User OAuth authentication. ## Core Features & Use Cases - Messaging Operations: Send, update, delete, and schedule messages in channels, DMs, and group DMs using chat.postMessage and related endpoints. - Workspace Discovery & Search: List channels and users, retrieve channel history, and search messages and files across the workspace. - Full API Coverage: 32+ operations covering reactions, pins, reminders, file uploads, and team info, with a config checker that diagnoses authentication issues and outputs AI-actionable JSON. - Use Case: Ask the AI to send a project update to #general, search Slack for 'quarterly report', or set a reminder for tomorrow's standup without leaving your workflow. ## Quick Start Set up Slack by adding the client credentials to your .env file and running the setup_slack.py script to authorize your account via OAuth.

Frequently Asked Questions about slack

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send a Slack message from Python?

Run the send_message.py script with --channel and --text arguments after configuring your user token. It calls the chat.postMessage API endpoint and supports thread replies via --thread-ts and JSON output via --json.

How do I set up Slack OAuth authentication for API access?

Create a Slack app from the provided manifest, add the Client ID and Secret to your .env file, then run setup_slack.py. The script opens a browser for authorization and saves the resulting xoxp- user token to .env automatically.

What is the difference between Slack user tokens and bot tokens?

User tokens (xoxp-) act as the authorizing user, so messages appear from that person and respect their channel permissions. Bot tokens (xoxb-) act as the app and require channel invitations. This integration uses user tokens only.

Why does my Slack API call return missing_scope or invalid_auth errors?

missing_scope means your token lacks the required OAuth scope, so add it in your app's OAuth settings and re-authorize. invalid_auth means the token is revoked or malformed, requiring re-authentication via the setup wizard.

Can I search Slack messages and files programmatically?

Yes, use search_messages.py and search_files.py with a --query argument. They call the search.messages and search.files endpoints and support modifiers like from:@user, in:#channel, and date ranges.

How do I handle Slack API rate limits in scripts?

When rate_limited is returned, wait the number of seconds specified in the retry_after field before retrying. Slack uses tiered limits from 1 to 100+ requests per minute depending on the method.