Slack logo

Slack

Generally Available

Slack MCP Server allows AI agents to read messages, post updates, and interact with channels through secure OAuth with workspace-level permissions and audit logging.

  • Communication
  • Collaboration
  • Messaging
Authentication
OAuth 2.0
Authorization
Enterprise-managed
Hosting
Vendor-hosted endpoint
Required scopes
30

How it works

Every agent request passes through Ferentin policy before it reaches Slack.

  1. AI agentAsks for something
  2. Ferentin policies
    • Audit logging
    • Enterprise key management
    • Dlp integration
  3. Slack MCP serverAuthorized connection
  4. Governed resultMasked, logged, returned

What agents can do

27 tools · you choose which ones agents may call

Search and browse what exists, without opening the content itself.

  • Search public messages and files
  • Search messages and files
  • Search channels
  • Search users
  • List channel members
  • List user channels
  • Search emojis

Permissions requested

The OAuth 2.0 scopes Slack asks you to approve when you connect.

ScopeAccess
search:read.publicRead
search:read.privateRead
search:read.mpimRead
search:read.imRead
search:read.filesRead
search:read.usersRead
chat:writeElevated
channels:historyRead
groups:historyRead
mpim:historyRead
im:historyRead
canvases:readRead
canvases:writeElevated
users:readRead
users:read.emailRead
reactions:writeElevated
reactions:readRead
emoji:readRead
files:readRead
channels:writeElevated
groups:writeElevated
im:writeElevated
mpim:writeElevated
channels:readRead
groups:readRead
mpim:readRead
files:writeElevated
im:readRead
lists:readRead
lists:writeElevated

Enterprise-Managed Authorization

Slack's authorization server accepts an identity assertion from your identity provider (an ID-JAG) in place of a per-user OAuth consent.

That puts access to Slack in your identity provider: groups and policy there decide who may reach it, rather than each person approving a consent screen.

Seen in Slack's OAuth authorization-server metadata on 24 Oct 2026. That says the server implements the grant; which identity providers it accepts is set up with Slack.

See all 13 integrations that support it

Before you connect

  • No Dynamic Client Registration or Client-ID-Metadata-Document support - every tenant needs its own pre-registered Slack app and per-user OAuth (credential_inheritance: REQUIRE_TENANT).
  • Slack grants the app's full configured user-scope set to every consenting user; the OAuth/MCP request cannot downscope it. Narrow the per-user tool surface with Ferentin MCP policy, not scope shaping.
  • slack_update_canvas is the only destructive tool: action=replace without section_id irreversibly overwrites the entire canvas. Ship a restrictive default mcp_policies row (minimum: deny slack_update_canvas) when registering this provider.
  • tools/list is per-user: tool descriptions are personalized with the calling user's Slack ID, so the tool list cannot be cached or shared across users.
1 more technical note
  • The App Assistant MCP toggle must be enabled on each environment's app (see step 2); this is also part of the Slack App Directory submission for the production app.

About Slack

Slack is a business communication platform offering real-time messaging, file sharing, and integration with thousands of third-party services for team collaboration.

Frequently asked about Slack

What can AI agents do with Slack through Ferentin?
Ferentin exposes 27 Slack MCP tools to your AI agents, grouped as Discover (7 tools), Access (7 tools), Manage (11 tools) and Collaborate (1 tool). Every call is checked against your Ferentin policies before it reaches Slack.
How is Slack access secured?
Requests through the Slack integration are covered by audit logging, enterprise key management and dlp integration. These controls are applied by Ferentin, not by Slack, so they hold across every connected agent.
What permissions does the Slack integration require?
The Slack integration requests 30 OAuth 2.0 scopes: search:read.public (read access); search:read.private (read access); search:read.mpim (read access); search:read.im (read access); search:read.files (read access); search:read.users (read access); chat:write (elevated access); channels:history (read access); groups:history (read access); mpim:history (read access); im:history (read access); canvases:read (read access); canvases:write (elevated access); users:read (read access); users:read.email (read access); reactions:write (elevated access); reactions:read (read access); emoji:read (read access); files:read (read access); channels:write (elevated access); groups:write (elevated access); im:write (elevated access); mpim:write (elevated access); channels:read (read access); groups:read (read access); mpim:read (read access); files:write (elevated access); im:read (read access); lists:read (read access); lists:write (elevated access)
How do I connect Slack to Ferentin?
Open the Ferentin admin console, add Slack as a new connection and authenticate with OAuth 2.0. You then choose which permissions and which tools your agents may use, and the connection goes live for everyone covered by your policies.
Is the Slack integration generally available?
Yes. The Slack integration is generally available on Ferentin, including the free tier.