Back to Tools
Communication OAuth
slack logo

Slack MCP Tools for AI Agents

Let an agent read channels and threads, find conversation members, invite users, and send Slack messages.

Available Tools

10 tools available in this integration

Slack.GetConversationMetadata

Get metadata of a Channel, a Direct Message (IM / DM) or a Multi-Person (MPIM) conversation.

Slack.GetMessages

Get messages in a Slack Channel, DM (direct message) or MPIM (multi-person) conversation.

Slack.GetThreadMessages

Get messages in a Slack thread.

Slack.GetUsersInConversation

Get the users in a Slack conversation (Channel, DM/IM, or MPIM) by its ID or by channel name.

Slack.GetUsersInfo

Get the information of one or more users in Slack by ID, username, and/or email.

Slack.InviteUsersToChannel

Invite users to a Slack channel or MPIM (multi-person direct message).

Slack.ListConversations

List metadata for Slack conversations (channels, DMs, MPIMs) the user is a member of.

Slack.ListUsers

List all users in the authenticated user's Slack team.

Slack.SendMessage

Send a message to a Channel, Direct Message (IM/DM), or Multi-Person (MPIM) conversation.

Slack.WhoAmI

Get comprehensive user profile and Slack information.

Working directly against the raw API? 73 more tools in the Slack API server →

Why agent-optimized tools matter

Built for intent, not API schemas

Ask the agent to "find the project thread, identify the two people who need to join, invite them, and explain why." Arcade helps it use the right Slack tools without guessing conversation IDs, user IDs, or channel names.

Up to 100x fewer tokens

Slack conversation lists and user lookups return lightweight metadata before the agent reads messages or threads. It gets enough context to choose the right conversation without loading every channel and message into the model.

Complete the workflow end to end

Find the conversation, read the relevant thread, identify the people involved, invite the missing users, and send the update through one toolkit designed around the complete Slack task.

Make actions predictable and controlled

Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.

Securing Slack

The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.

This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.

Learn about Contextual Access Policies

For Slack, you can implement some of these policies:

Access when tools are listed for a user
  • Hide Slack.InviteUsersToChannel from agents unless the roles your IDP marks as workspace administrators are active, so regular agents cannot add people to private channels.
  • Restrict Slack.SendMessage to agents operating under your approved communications role, so unreviewed automation cannot post in customer or company-wide conversations.
Pre-execution before each tool call
  • Require human approval before Slack.InviteUsersToChannel runs, so an agent cannot add an unintended person to a private channel.
  • Block Slack.SendMessage when the message contains credentials, access tokens, or customer data, so an agent cannot publish secrets in Slack.
Post-execution after the tool returns
  • Redact message bodies Slack.GetMessages returns when they contain credentials, access tokens, or customer data before they reach the model.
  • Strip message bodies from Slack.GetThreadMessages results for conversations marked confidential, so the agent receives thread metadata without private discussion content.
  • Redact email addresses, phone numbers, and personal profile fields from Slack.GetUsersInfo results before the model sees user details.

How to use Slack with your agent

Pick your MCP client below and connect it to Slack through Arcade. Then give your agent the tools to read conversations, find users, and send messages.

Your questions, answered

A Slack MCP server exposes Slack capabilities as structured tools that an AI agent can call through the Model Context Protocol. After a user authorizes their Slack account, the agent can read conversations and user information, send messages, and invite people to channels or group direct messages, subject to the granted permissions.

Slack's own MCP server is a Slack-provided endpoint for accessing Slack capabilities. Arcade adds a runtime with per-user OAuth, agent-optimized tools, approval workflows, redaction, and scope controls across clients and frameworks.

Arcade agents can list conversations, inspect conversation metadata, read channel, direct-message, and group-DM messages, read thread messages, list or look up users, identify the authorized user, invite users to channels or group DMs, and send messages.

Arcade requests the Slack OAuth scopes required by the actions you enable. Reading conversations and users requires read scopes, while sending messages and inviting users require the corresponding write and invitation scopes; the exact grant also depends on the Slack workspace and workflow.

Yes. Each user authorizes their own Slack account through OAuth. Actions run under that user's authorization, so the agent can access only the conversations and user information that the user and their Slack workspace permit.

Yes. Contextual Access policies can require human approval before consequential Slack actions such as sending a message or inviting users to a channel or group DM. The call proceeds only after the policy's conditions have been satisfied.

Arcade proxies Slack API calls and does not persist Slack content as part of normal tool execution. Slack credentials are brokered and stored encrypted at rest, and the model never receives raw credentials.

Any framework or client that can connect to Arcade's MCP gateway or tool APIs works with Arcade Slack, including LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.

Arcade refreshes Slack access while the user's authorization remains valid. If the authorization is revoked, rotated, or can no longer be refreshed, Slack actions stop until the user reconnects their account.

Slack API rate limits, workspace permissions, and any limits imposed by the specific Slack method still apply to calls made through Arcade. Limits vary by action, so sending messages, listing conversations, reading history, and inviting users may not share the same quota.

Ready to actually ship your agent?

Connect your agent to Slack with managed OAuth, agent-optimized tools and approval controls for consequential actions.