Slack for Claude, Cursor, ChatGPT & agents
Slack workspace operations — channels, messages, threads, search, reactions, files, user lookup, status, scheduled sends
curl -fsSL https://syncorelabs.ai/install.sh | shmacOS / Linux. Windows + manual install.
What it does
Slack workspace operations — channels, messages, threads, search, reactions, files, user lookup, status, scheduled sends. Use when the user mentions Slack, DM, channel, thread, send a message / ping / notify someone, react with emoji, share a file or screenshot, find what someone said, look up @alice, schedule a message, set my status. Channel selection accepts ID (C…), human name (#general), or user ID for DMs; user selection accepts ID (U…/W…), email, or display/real name.
The Slack skill is one of 75+ pre-wired Syncore integrations that any MCP-compatible client — Claude Desktop, Claude Code, Cursor, Windsurf, Codex CLI, and ChatGPT desktop — can call out of the box. You don't configure MCP servers or copy API keys into a JSON file; the Syncore daemon discovers the skill at startup and exposes its tools to whichever AI client is running.
Sample prompts
Once Syncore is installed and Slack is connected, ask your agent something like:
- “Send a message to #engineering: 'Deploying v0.2 to prod in 5 minutes.'”
- “Summarize the last 50 messages in #product-launch and pull out open questions.”
- “Search Slack for any mention of the PG-1234 bug across all channels.”
Tools available (16)
slack__send_messageSend / post / ping a message to a Slack channel, DM, or thread. Use when the user wants to notify someone, drop an announcement, reply in a thread, or share an update. Channel accepts ID (C…), name (#general), or user ID for DMs. mrkdwn supported. For DMs by name ("send Alice a DM"), resolve the user ID first via find_
slack__read_messagesRead / fetch recent messages from a Slack channel, DM, or group conversation (max ~200). Use when the user wants to catch up on a channel, summarize discussion, or pull context before replying. Each message carries `thread_ts` + `reply_count` — when reply_count > 0, the real discussion is in the thread; follow up with
slack__get_threadFetch the full thread (parent + replies) for a Slack message, oldest first. Use whenever the user asks about a discussion that happened in a thread, or after `read_messages` shows a message with `reply_count > 0`. Triggers: 'what did Bob say in the thread' / 'pull up that thread about X' / 'show me the conversation und
slack__list_channelsList the Slack channels the token can see — public, private, mpim, im. Use when the user wants to find a channel by name, see all channels in the workspace, or you need a channel_id. For looking up a specific user (rather than channel), use `find_user`.
slack__search_messagesSearch Slack workspace messages with the same query syntax as in-app search (from:@user, in:#channel, has:link, before:, after:). Use when the user wants to find what someone said, locate a discussion, or pull up an old message. Matches include `ts` + `permalink` — use the ts to fetch the surrounding thread via get_thr
slack__find_userResolve a Slack user from a name / email / ID. Returns `user_id` plus profile fields (real_name, display_name, email, tz, status) so the agent can confirm 'this is the right Alice' before DMing. THE preferred first step when the user says 'send Alice a DM' / 'tell Bob X' / 'ping @charlie' / '给Alice发条消息' — Slack APIs ne
slack__update_messageEdit a Slack message your token sent earlier — for fixing typos, correcting an @-mention, or revising the post after gathering more info. Slack only allows editing your OWN messages (errors `cant_update_message` otherwise). Triggers: 'fix that message' / 'edit the slack post I just sent' / 'change the message in #chann
slack__delete_messageDelete a Slack message your token sent earlier. Only deletes YOUR OWN messages (errors `cant_delete_message` otherwise). Triggers: 'unsend that message' / 'delete the slack post I just sent' / 'remove that thing from #channel'. CAUTION: irreversible — confirm with the user first when uncertain.
slack__get_permalinkGet a shareable Slack URL for a specific message. Use when handing off a Slack message reference to email / Notion / a doc / another tool — Slack permalinks open the message in the user's Slack client. Triggers: 'send me the link to that slack message' / 'I want to paste this into the doc' / 'share the slack URL'.
slack__add_reactionReact to a Slack message with an emoji. `name` is the emoji name without colons (`thumbsup`, `white_check_mark`, `eyes`, `rocket`). Triggers: 'react to that with ✅' / 'thumbs up the deploy message' / '给X的消息加个表情' / 'acknowledge with eyes emoji'. Already-reacted is treated as a soft success (returns `already: true`), not
slack__remove_reactionRemove your reaction from a Slack message. No-reaction is treated as a soft success (returns `already: true`), not an error.
slack__schedule_messageSchedule a Slack message to send at a future Unix timestamp. Slack restricts `post_at` to (now, now + 120 days). Triggers: 'send this at 9am Monday' / 'schedule the announcement for tomorrow morning' / 'remind the team at 3pm' / '明早9点发到团队群'. Returns `scheduled_message_id` — pair with `cancel_scheduled_message` if plans
slack__cancel_scheduled_messageCancel a not-yet-sent scheduled Slack message. Triggers: 'cancel that scheduled message' / 'undo the message I scheduled' / '取消我刚定时的那条 Slack'. Pass the channel + the `scheduled_message_id` returned by schedule_message. Errors with a clear 'already sent' message if the message has already fired (Slack invalidates the id
slack__set_statusSet the authenticated user's Slack status (text + emoji + optional expiry). Triggers: 'set my slack status to OOO' / 'show I'm in a meeting' / '把状态改成休假到周五' / 'clear my status'. Pass empty `text` to clear. Requires the users.profile:write OAuth scope; if missing, surfaces a hint to reconnect at https://syncorelabs.ai/co
slack__get_channel_infoGet a Slack channel's metadata — topic, purpose, member count, private/archived flags, creation date. Use when the user asks 'what's the topic of #channel' / 'how many people are in X' / 'is this channel still active' / '这个频道的简介是什么'. Cheap (one API call) — call this before deciding whether to post into an unfamiliar ch
slack__upload_fileUpload / share / attach a file to Slack and optionally post it into channels with a comment. TWO MODES: (1) text — pass `content` (UTF-8 string) + `filename`, useful for logs, snippets, CLI output; (2) binary — pass `file_path` (absolute path on disk), the canonical path for screenshots, PDFs, images, audio, anything t
How to connect
Slack needs a one-click OAuth grant to talk to slack. Connect it from the Syncore dashboard:
- Run
curl -fsSL https://syncorelabs.ai/install.sh | shon macOS / Linux (or the PowerShell command on Windows). - Run
syncore loginto create your account and a device-bound encryption key. - Visit syncorelabs.ai/connect and authorize Slack.
- Run
syncore updateto sync the skill + credentials to every installed AI client.
Pricing
Free at every Syncore tier. Connect your account once at /connect; the OAuth or API-key credential stays encrypted on your machine and syncs to your other devices via the Syncore vault.
See the full Syncore pricing breakdown — Free $0/mo, Pro $29/mo, Ultra $99/mo — on the homepage.
Related
Looking at Slack? You may also want:
- Discord — send messages to channels, list guilds (servers) and channels, read channel history via the Discord REST API v10 with a bot token
- Gmail — search emails with Gmail query syntax, read messages and full threads, send / reply / draft email with attachments, download attachments, and batch-manage labels (archive, mark read, star,...
- Intercom — list and triage conversations (open / closed / snoozed), reply publicly, leave internal notes, assign to teammate or team, close conversations, list and search contacts (users + leads),...
- Loom — list videos in the workspace (filter by folder / creator), fetch a single video's metadata, pull timestamped transcripts (plain / timestamped / VTT), search videos by free-text query across...
- Mailchimp — manage audiences (lists), browse / add / update subscribers with status (subscribed / pending / unsubscribed / cleaned) and merge fields, list and inspect campaigns, send test campaign...
Or browse all 75 skills in the Syncore catalog.