بنقرة واحدة
slack
// Manage Slack from Claude Code. List conversations, read messages, send replies, search for channels and DMs.
// Manage Slack from Claude Code. List conversations, read messages, send replies, search for channels and DMs.
Summarize the current conversation into a TLDR note and save it to your notes folder. Use when you say "tldr", "save a summary", "note this convo", or want to capture key takeaways from the current session for future reference.
Show current times across Mark's key locations. Use when Mark says "timezone", "what time is it", "team times", "check the time in", or wants to know working hours for his team.
Manage your Gmail inbox from Claude Code. List, read, triage, reply, send, and create filters.
Manage your Google Calendar from Claude Code. Create events with Meet links, send invites, check availability.
| name | slack |
| description | Manage Slack from Claude Code. List conversations, read messages, send replies, search for channels and DMs. |
| allowed-tools | Bash(cd * && node dist/slack-cli.js *) |
Interact with your Slack workspace using natural language from Claude Code.
You need a SLACK_USER_TOKEN in your ClaudeClaw .env file. If you haven't set this up yet, follow these steps:
Go to api.slack.com/apps and click Create New App
Choose From scratch (not "From an app manifest")
Name it (e.g. ClaudeClaw), select your workspace, click Create App
In the left sidebar, click OAuth & Permissions
Scroll down to the Scopes section. You'll see Bot Token Scopes and User Token Scopes
Ignore Bot Token Scopes. Under User Token Scopes, click Add an OAuth Scope and add all of these:
channels:history — View messages in public channelschannels:read — View basic info about public channelschat:write — Send messages on your behalfgroups:history — View messages in private channelsgroups:read — View basic info about private channelsim:history — View direct messagesim:read — View basic info about DMsmpim:history — View group direct messagesmpim:read — View basic info about group DMssearch:read — Search workspace contentusers:read — View people in the workspaceScroll back up, click Install to Workspace, then click Allow
Copy the User OAuth Token (starts with xoxp-)
Add to your .env: SLACK_USER_TOKEN=xoxp-your-token-here
The CLI lives at the ClaudeClaw project root. All commands must run from the project directory (the CLI reads .env from cwd):
cd /path/to/claudeclaw && node dist/slack-cli.js <command>
cd /path/to/claudeclaw && node dist/slack-cli.js list
cd /path/to/claudeclaw && node dist/slack-cli.js list --limit 10
Returns JSON array of conversations sorted by unread count then recency. Each object has: id, name, isIm, unreadCount, lastMessage, lastMessageTs.
cd /path/to/claudeclaw && node dist/slack-cli.js read <channel_id>
cd /path/to/claudeclaw && node dist/slack-cli.js read <channel_id> --limit 30
Returns JSON array of messages (oldest first). Each object has: text, userName, fromMe, ts, threadTs.
cd /path/to/claudeclaw && node dist/slack-cli.js send <channel_id> "message text"
cd /path/to/claudeclaw && node dist/slack-cli.js send <channel_id> "reply text" --thread-ts 1234567890.123456
cd /path/to/claudeclaw && node dist/slack-cli.js search "jane"
cd /path/to/claudeclaw && node dist/slack-cli.js search "general"
Fuzzy matches against conversation names. Use this to find channel IDs when you need to message someone or read a channel.
list to show conversations with unread countssearch "jane" to find the channel ID, then read <id>search "jane" to find the channel ID, draft the message, show the user for confirmation, then send <id> "hey"search "general" to find the channel ID, then read <id>