Skip to main content

slack

Search Slack messages and read channel history across your workspaces. Use this skill when the user asks about Slack conversations, channel messages, or internal communications.

Source facts

Repository
BuilderIO/agent-native
Last source activity
July 8, 2026 at 16:20
Detected SKILL.md language
English
Stars
7,449
Forks
681

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
slack
description
Search Slack messages and read channel history across your workspaces. Use this skill when the user asks about Slack conversations, channel messages, or internal communications.
# Slack Integration ## Connection - **Base URL**: `https://slack.com/api/` - **Auth**: `Authorization: Bearer $SLACK_BOT_TOKEN` (or `$SLACK_BOT_TOKEN_2` for secondary workspace) - **Credentials**: `SLACK_BOT_TOKEN` (primary), `SLACK_BOT_TOKEN_2` (secondary workspace) - **Caching**: 2-minute in-memory cache, max 200 entries; separate user/bot caches ## Server Lib - **File**: `server/lib/slack.ts` ### Exported Functions | Function | Description | | ---------------------------------------------------------- | -------------------------------------------- | | `getTeamInfo(workspace)` | Get workspace info | | `listChannels(workspace)` | List channels (paginated, first page cached) | | `getChannelHistory(workspace, channelId, limit?, cursor?)` | Channel message history | | `searchMessages(workspace, query, count?)` | Search messages | | `getUserInfo(workspace, userId)` | Get user info (cached per user) | | `getBotInfo(workspace, botId)` | Get bot info (cached) | | `resolveUsers(workspace, userIds, messages?)` | Batch resolve user names | ## Agent Action Use `slack-messages` for agent-facing Slack reads. Do not call `/api/slack/*` directly from the agent. | Mode | Args | Description | | --------------- | ---------------------------------------------------- | ---------------------- | | `team` | `workspace` | Get workspace info | | `channels` | `workspace` | List channels | | `history` | `workspace`, `channel`, `limit`, `cursor` | Read channel history | | `multi-history` | `workspace`, `channels`, `names`, `limit`, `cursors` | Read multiple channels | | `search` | `workspace`, `query` | Search messages | ## Key Patterns & Gotchas - Two workspaces supported via workspace parameter ("primary" / "secondary") - `getChannelHistory` auto-joins channels on "not_in_channel" error, then retries — requires `channels:join` scope - If auto-join fails, throws a detailed message explaining how to invite the bot - `searchMessages` may require user token; bot token tried first - `listChannels` paginates via cursor; only first page is cached - `getUserInfo` resolves bots via `getBotInfo` when needed
View on GitHub