VX Agents

OpenAPI Marketplace

slack-workspace-messaging-openapi

v1.0.0 · 8 endpoints · 1 connections · shared by Lân Nguyễn Trịnh

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.

MethodPathOperationDescription
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

  1. Create a Slack app at Slack API.
  2. Install the app in the workspace that the user wants to connect.
  3. Grant only the scopes required by the workflow, such as chat:write, channels:read, groups:read, channels:history, and groups:history.
  4. Copy the bot or user OAuth token generated after installation.
  5. 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:

  1. Use POST /auth.test to verify the connected Slack workspace and authenticated user or bot.
  2. Use GET /conversations.list to find the correct channel ID. Use channel IDs instead of deprecated usernames.
  3. Use GET /conversations.history to read recent messages from an authorized channel.
  4. Use POST /conversations.create to create a public or private channel only after the user confirms the channel name and purpose.
  5. Use POST /chat.postMessage to send a message to a channel, direct message, or thread after confirming the channel, audience, and final content.
  6. Use POST /chat.update to edit a message only after confirming the message timestamp and replacement content.
  7. Use POST /chat.delete only 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

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “slack-workspace-messaging-openapi” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs