slack-automation

安装量: 38
排名: #18746

安装

npx skills add https://github.com/casper-studios/casper-marketplace --skill slack-automation

Slack Automation Overview Interact with Slack workspaces for channel management, message reading, and content analysis. All operations are read-only unless creating channels. Quick Decision Tree What do you need? │ ├── Search for channels by name │ └── references/search.md │ └── Script: scripts/slack_search.py search │ ├── Read messages from a channel │ └── references/fetch-news.md │ └── Script: scripts/fetch_slack_news.py │ ├── Create a new channel │ └── references/create-channel.md │ └── Script: scripts/create_slack_channel.py │ └── Categorize/analyze messages └── references/categorize.md └── Script: scripts/categorize_slack_messages.py Environment Setup

Required in .env

SLACK_BOT_TOKEN

xoxb-your-bot-token
Required Bot Scopes
Scope
Purpose
channels:read
List public channels
channels:history
Read public channel messages
groups:read
List private channels
groups:history
Read private channel messages
channels:manage
Create channels
Common Usage
Search Channels
python scripts/slack_search.py search
"internal"
--limit
10
Read Channel Messages
python scripts/slack_search.py
read
"internal-client"
--days
7
Create Channel
python scripts/create_slack_channel.py
"project-alpha"
--private
Channel Naming Pattern
For client channels:
internal-{client-name}
e.g.,
internal-microsoft
,
internal-acme-corp
Cost
Free - Slack API has no per-request cost. Rate limited to ~50 requests/minute.
Security Notes
Credential Handling
Store
SLACK_BOT_TOKEN
in
.env
file (never commit to git)
Bot tokens start with
xoxb-
- never expose in logs or output
Rotate tokens via Slack App settings if compromised
Use environment variables, not hardcoded values
Data Privacy
Messages may contain sensitive internal communications
Avoid storing message content in persistent logs
Use message links/IDs for references instead of copying content
Consider data retention policies for exported messages
User profiles include PII (names, emails, profile photos)
Access Scopes
Request minimum required scopes for your use case:
channels:read
- List public channels (read-only)
channels:history
- Read public channel messages (read-only)
groups:read
- List private channels bot is in (read-only)
groups:history
- Read private channel messages (read-only)
channels:manage
- Create channels (write access)
Bot can only access channels it has been invited to
Review scopes at: Slack App Settings > OAuth & Permissions
Compliance Considerations
Audit Logging
Slack Enterprise Grid provides audit logs for compliance
Message Retention
Follow your organization's data retention policies
GDPR
Message content may contain EU user PII
eDiscovery
Exported messages may be subject to legal holds
Internal Communications
Treat Slack data as confidential
Channel Privacy
Private channel access requires explicit invitation Troubleshooting Common Issues Issue: Channel not found Symptoms: "channel_not_found" error when reading or posting Cause: Invalid channel ID, bot not in channel, or private channel Solution: Verify channel ID is correct (use slack_search.py search ) Invite the bot to the channel ( /invite @botname ) Check if channel is private - bot needs explicit invitation Ensure channel hasn't been archived or deleted Issue: Missing permissions / scope errors Symptoms: "missing_scope" or "not_allowed_token_type" error Cause: Bot token missing required OAuth scopes Solution: Go to Slack App Settings > OAuth & Permissions Add required scopes: channels:read , channels:history , etc. Reinstall the app to workspace after adding scopes Verify using the correct bot token (starts with xoxb- ) Issue: Token expired or invalid Symptoms: "invalid_auth" or "token_revoked" error Cause: OAuth token expired, revoked, or incorrectly configured Solution: Reauthorize the bot in Slack App settings Regenerate the bot token if revoked Check .env for correct SLACK_BOT_TOKEN value Verify no whitespace or special characters in token Issue: Rate limited Symptoms: "ratelimited" error or 429 status code Cause: Too many API requests in short period Solution: Add delays between requests (1-2 seconds) Reduce batch size for bulk operations Implement exponential backoff on retries Slack allows ~50 requests/minute for most endpoints Issue: Private channel access denied Symptoms: Can't read private channel despite having scopes Cause: Bot not added to the private channel Solution: Have a channel member invite the bot: /invite @botname Ensure groups:read and groups:history scopes are added Verify bot has been reinstalled after adding scopes Resources references/search.md - Channel search and message reading references/fetch-news.md - Fetch news from channels references/create-channel.md - Create new channels references/categorize.md - AI message categorization Integration Patterns Slack to Newsletter Skills: slack-automation → content-generation Use case: Summarize internal news for weekly newsletter Flow: Fetch messages from news/announcements channels Categorize and filter relevant content Generate formatted newsletter section via content-generation Slack and Meeting Context Skills: slack-automation → transcript-search Use case: Find related meetings when researching Slack discussions Flow: Search Slack for client name or topic Extract date ranges and participant names Search transcript-search for related meeting recordings Slack Reports to Drive Skills: slack-automation → google-workspace Use case: Archive categorized Slack summaries to Google Drive Flow: Fetch and categorize messages from internal channels Generate formatted report document Upload to Google Drive via google-workspace
返回排行榜