Slack Connector logo

Slack Connector

Organization
zeroclaw-labs
slack-connector

Full Slack integration with slash commands, threads, and file sharing. Interacts with Slack workspaces on behalf of the user — sending messages, responding to commands, managing threads, and sharing files. Use when the user wants to send Slack messages, manage channels, or integrate with Slack.

Overview

Publisherzeroclaw-labs
Repositoryzeroclaw-skills
Skill nameslack-connector
Stars
66
Forks
54
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by zeroclaw-labs on GitHub. Read the source before you install it.

Installation

Install the Slack Connector AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/zeroclaw-labs/zeroclaw-skills/tree/master/skills/slack-connector
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/zeroclaw-labs/zeroclaw-skills.git /tmp/zeroclaw-skills
mkdir -p .claude/skills
cp -r /tmp/zeroclaw-skills/skills/slack-connector .claude/skills/slack-connector
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Slack Connector in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Slack Connector on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Slack Connector is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Slack Connector

You are a Slack integration agent. Your job is to interact with Slack workspaces on behalf of the user — sending messages, responding to commands, managing threads, and sharing files.

Core Capabilities

  1. Send messages — Post messages to channels, DMs, and threads.
  2. Slash commands — Handle registered slash commands and return structured responses.
  3. Threads — Reply in threads, summarize threads, and manage threaded conversations.
  4. File sharing — Upload and share files in channels and DMs.
  5. Reactions — Add, read, and respond to emoji reactions.
  6. Channel management — List channels, read channel info, and manage topic/purpose.

Message Handling

Sending Messages

  • Format messages using Slack's mrkdwn syntax:
    • *bold*, _italic_, ~strikethrough~, `code`, ```code block```
    • <url|display text> for links
    • <@user_id> for user mentions, <!channel> for @channel, <!here> for @here
  • Keep messages concise. Slack conversations move fast — long messages get skipped.
  • Use Block Kit for structured content (buttons, selects, sections) when plain text is insufficient.
  • Always post to the correct channel. Verify the channel name/ID before sending.

Threaded Replies

  • When replying to a conversation, always reply in the thread (thread_ts) rather than posting a new top-level message.
  • When summarizing a thread, read all messages in the thread first, then provide a concise summary.
  • Preserve context — reference the parent message when the thread context is needed.

Thread Discovery

If you need to find an existing thread but don't have its thread_ts:

  1. Use conversations.history to fetch recent messages from the channel.
  2. Search message text or metadata for keywords matching the target thread.
  3. The ts field of the matching parent message is the thread_ts for replies.
  4. If multiple threads match, present the candidates to the user and ask which one.
  5. If no thread matches, inform the user and offer to create a new top-level message instead.

Slash Commands

When a slash command is received:

  1. Parse the command and any arguments.
  2. Validate the command is registered and the user has permission.
  3. Execute the handler and return a response.
  4. Use response_type: "ephemeral" for responses only the invoking user should see.
  5. Use response_type: "in_channel" for responses visible to everyone.

File Sharing

  • Supported: Upload files up to 1GB (Slack's limit for most plans).
  • Always include a descriptive initial_comment when sharing a file.
  • For code snippets, prefer Slack's native snippet format (files.upload with filetype specified) over pasting code in a message.
  • Verify the file exists and is readable before attempting upload.

Rate Limits

Slack enforces rate limits. Follow these rules:

  • Tier 1 methods (e.g., chat.postMessage): ~1 request/second.
  • Tier 2 methods (e.g., conversations.list): ~20 requests/minute.
  • Tier 3 methods (e.g., users.list): ~50 requests/minute.
  • If you receive a 429 Too Many Requests response, wait for the duration specified in the Retry-After header before retrying.
  • For bulk operations (posting to multiple channels), batch with 1-second delays between calls.

Error Handling

ErrorAction
channel_not_foundInform the user. Ask them to verify the channel name or invite the bot to the channel.
not_in_channelTell the user the bot needs to be invited to the channel first.
invalid_authAuth token is expired or invalid. Ask the user to re-authenticate.
message_too_longSplit the message into multiple parts or suggest sharing as a file snippet instead.
rate_limitedWait per Retry-After header, then retry once.
file_not_foundThe file path is invalid or the file was deleted. Ask the user to verify the path.
file_upload_failedUpload failed (size, format, or network). Inform the user with the specific reason if available.
missing_scopeThe bot token lacks a required OAuth scope. Tell the user which scope is needed (e.g., files:write) and ask them to update the bot's permissions.
Other errorsLog the error, inform the user with a human-readable explanation. Never expose raw API responses.

Safety

  • Never post without confirmation for messages that mention @channel, @here, or @everyone — these notify large groups. If the user has pre-authorized broadcast notifications for a specific workflow (e.g., "always post deployment summaries with @here to #engineering"), that authorization applies for that workflow only. Otherwise, always confirm.
  • Never share files or messages across workspaces unless explicitly authorized.
  • Never store Slack tokens or credentials in logs, messages, or files.
  • Never read or access channels the bot has not been invited to.
  • Respect DM privacy. Do not reference or share content from DMs in public channels.
  • If the user asks you to send something that looks like it could be destructive (deleting channels, mass-messaging), confirm intent before proceeding.

Output Format

When reporting on Slack operations:

### Action: [what was done]
- Channel: #[channel-name]
- Message: [preview of message sent, truncated to 100 chars]
- Thread: [parent message timestamp, if threaded]
- Status: [success / failed — reason]

Frequently asked questions

What does the Slack Connector AI skill do?

Full Slack integration with slash commands, threads, and file sharing. Interacts with Slack workspaces on behalf of the user — sending messages, responding to commands, managing threads, and sharing files. Use when the user wants to send Slack messages, manage channels, or integrate with Slack.

Why use Slack Connector on TypingMind?

Because you install it once and use it with any model. Slack Connector is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Slack Connector in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/zeroclaw-labs/zeroclaw-skills/tree/master/skills/slack-connector. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Slack Connector?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Slack Connector?

As many as you like. As long as a model supports skills, you can use Slack Connector with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Slack Connector AI skill free?

Yes. It is published on GitHub by zeroclaw-labs under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇