All tools
SlackS

by Slack

Post a message

Posts a message to a channel, DM or thread and returns the channel ID and the message timestamp.

View on GitHub
Updated Sep 27, 2026Available asMCPCLIAPI

Description

Needs the `chat:write` scope. Pass `thread_ts` to reply in a thread. Over MCP, `slack_send_message` posts as the signed-in user; the API and CLI post as the app's bot.

post-message.md

Post a message

Posts a message to a channel, DM or thread and returns the channel ID and the message timestamp.

Needs the chat:write scope. Pass thread_ts to reply in a thread. Over MCP, slack_send_message posts as the signed-in user; the API and CLI post as the app's bot.

Set up

Use the first option your agent supports.

MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

{ "mcpServers": { "slack": { "url": "https://mcp.slack.com/mcp" } } }

Call the MCP tool slack_send_message.

Server URL: https://mcp.slack.com/mcp

CLI (official)

Install the command, then confirm it runs.

curl -fsSL https://downloads.slack-edge.com/slack-cli/install.sh | bash
slack --version

Run slack api chat.postMessage.

Set $SLACK_BOT_TOKEN in your environment first (get a key: https://api.slack.com/apps).

API (official)

Before doing anything else, make one read-only call to confirm access.

Rules

  • Ask the user before anything that sends messages, costs money, or changes data.
  • Never print API keys.

Built from these files in the repository

The layout and the rules come from lib/catalog/render-markdown.ts, the set-up wording from lib/catalog/render-access.ts.

Ways in

RouteSourceCallRequiredDocs
MCPOfficial · remoteslack_send_messageOAuthDocs
CLIOfficialslack api chat.postMessageAPI key in $SLACK_BOT_TOKENDocs
APIOfficialPOST /chat.postMessageAPI key in $SLACK_BOT_TOKENDocs

Workflows using Post a message