slack-workspace-messaging-openapi
Core Slack Web API for verifying the connected workspace, listing conversations, reading channel history, creating conversations, and posting or managing messages. The user supplies a Slack bot or user OAuth token at connection time; no credential is included. Official documentation: https://docs.slack.dev/apis/web-api/
Connect this API to an AI agent Browse all specs
What you can do with slack-workspace-messaging-openapi via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| POST | /auth.test |
testSlackAuth | Test Slack authentication |
| GET | /conversations.list |
listSlackConversations | List conversations |
| POST | /conversations.list |
listSlackConversationsPost | List conversations with POST |
| POST | /conversations.create |
createSlackConversation | Create a conversation |
| GET | /conversations.history |
getSlackConversationHistory | Read conversation history |
| POST | /chat.postMessage |
postSlackMessage | Post a message |
| POST | /chat.update |
updateSlackMessage | Update a message |
| POST | /chat.delete |
deleteSlackMessage | Delete a message |
Authentication
bearerAuth
Bearer token — sent as Authorization: Bearer <token>
Provide a Slack bot or user OAuth token with the required scopes, such as chat:write or channels:history.
Usage guide
Getting credentials
- Create a Slack app at Slack API.
- Install the app in the workspace that the user wants to connect.
- Grant only the scopes required by the workflow, such as
chat:write,channels:read,groups:read,channels:history, andgroups:history. - Copy the bot or user OAuth token generated after installation.
- When VX Agent asks for authentication, provide the OAuth token using Bearer authentication.
Keep the token private. Do not paste it into the Swagger file, marketplace description, prompts, or chat messages.
How to use this API
Use the Slack Web API to verify the connected workspace, list conversations, read channel history, create channels, and post, update, or delete messages.
A typical workflow is:
- Use
POST /auth.testto verify the connected Slack workspace and authenticated user or bot. - Use
GET /conversations.listto find the correct channel ID. Use channel IDs instead of deprecated usernames. - Use
GET /conversations.historyto read recent messages from an authorized channel. - Use
POST /conversations.createto create a public or private channel only after the user confirms the channel name and purpose. - Use
POST /chat.postMessageto send a message to a channel, direct message, or thread after confirming the channel, audience, and final content. - Use
POST /chat.updateto edit a message only after confirming the message timestamp and replacement content. - Use
POST /chat.deleteonly after the user explicitly confirms the exact channel and message to delete.
For JSON POST requests, set Content-Type: application/json. Slack expects the OAuth token in the Authorization: Bearer header. Check the top-level ok field in every response, even when the HTTP request returns a successful status code.
Use thread_ts to reply in a thread. Use blocks for structured messages and include a top-level text fallback when possible for accessibility. Use pagination with cursor when listing conversations or reading large histories.
Safety and usage notes
Posting, updating, or deleting a Slack message affects real users and may trigger notifications. Always ask for confirmation immediately before posting or changing a message. Verify the workspace, channel, recipients, thread, message text, links, attachments, and whether the message should be broadcast.
Creating a channel changes the workspace structure. Require confirmation before creating public or private channels. Do not post on behalf of a user, impersonate a person, or use chat:write.customize unless the user has explicitly authorized that behavior.
Do not expose Slack OAuth tokens, private channel history, direct messages, user data, or confidential workspace content. Respect workspace policies, retention settings, and rate limits.
A 401 or invalid_auth response usually indicates an invalid, expired, or revoked token. A 403 or missing_scope response usually indicates insufficient permissions or missing channel membership. A channel_not_found response may indicate an incorrect channel ID or that the app is not a member of the channel.
Official documentation: Slack Web API and chat.postMessage.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “slack-workspace-messaging-openapi” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.