Slack
Team messaging and collaboration platform
Slack integration connects your agents to your team's messaging and collaboration platform.
Server URL: https://mcp.slack.com/mcp
Setup
- Navigate to Resources and click Add Resource
- Select Slack from the catalog
- Choose a credential mode (see below)
- Click Add
The resource is added with all tools and scopes pre-configured. Each user connects their own Slack account via OAuth when they first use a Slack tool. Navigate to Connections to manage linked accounts.
Credential modes
Slack supports two modes:
- Use SecureAuth's app — install instantly with SecureAuth's pre-registered Slack app. No setup on your side. Recommended for most installs.
- Bring your own app — use a Slack app owned by your workspace. Recommended when you need custom branding on the consent screen, dedicated rate limits, or audit isolation in your workspace.
See Credential modes for the full comparison.
Use SecureAuth's app
Install instantly with SecureAuth's pre-registered Slack app — nothing to create on your side. Each user connects their own Slack account via OAuth the first time they use a Slack tool.
No admin setup is required unless your workspace restricts app installs. Slack lets members add apps themselves by default; if a Workspace Owner has turned on app approval ("Only allow pre-approved apps"), the SecureAuth AI Gateway app must be approved before members can connect. When a member first tries to connect, Slack sends an approval request to your Workspace Owners via Slackbot — an owner approves it once, and members can connect from then on.
Bring your own app
A Slack workspace admin creates a Slack app at api.slack.com/apps, installs it into the workspace, then returns to SecureAuth with the Client ID and Client Secret.
In your AI Security workspace, go to Resources → Add Resource → Slack → Bring your own app and copy the redirect URI shown in the dialog.
The fastest path to create the Slack app is From an app manifest. Paste this JSON, replacing <paste-redirect-uri> with the URI you just copied and <your-company> with your branding:
{
"display_information": {
"name": "<your-company> AI Gateway",
"description": "AI Gateway integration",
"background_color": "#0b1326"
},
"features": {
"bot_user": {
"display_name": "<your-company>",
"always_online": false
}
},
"oauth_config": {
"redirect_urls": ["<paste-redirect-uri>"],
"scopes": {
"user": [
"search:read.public",
"search:read.private",
"search:read.mpim",
"search:read.im",
"search:read.files",
"search:read.users",
"chat:write",
"channels:history",
"groups:history",
"mpim:history",
"im:history",
"canvases:read",
"canvases:write",
"users:read",
"users:read.email"
],
"bot": ["users:read"]
},
"pkce_enabled": false
},
"settings": {
"org_deploy_enabled": false,
"socket_mode_enabled": false,
"token_rotation_enabled": false,
"is_mcp_enabled": true
}
}After Slack creates the app, go to Basic Information → App Credentials in your Slack app and copy the Client ID and Client Secret back into the Slack resource dialog in your AI Security workspace, then click Add.
Available tools
| Tool | Description |
|---|---|
slack_search_public | Search public messages across channels |
slack_search_public_and_private | Search public and private messages |
slack_search_channels | Search for channels |
slack_search_users | Search for users |
slack_send_message | Send a message to a channel or user |
slack_send_message_draft | Send a message draft |
slack_schedule_message | Schedule a message for later delivery |
slack_read_channel | Read messages from a channel |
slack_read_thread | Read messages in a thread |
slack_read_user_profile | Read a user's profile |
slack_create_canvas | Create a new canvas |
slack_read_canvas | Read a canvas |
slack_update_canvas | Update an existing canvas |
slack_add_reaction | Add an emoji reaction to a message |
Required scopes
search:read.public— search public channelssearch:read.private— search private channelssearch:read.mpim— search multi-person direct messagessearch:read.im— search direct messagessearch:read.files— search filessearch:read.users— search userschat:write— send messageschannels:history— read public channel historygroups:history— read private channel historympim:history— read multi-person direct message historyim:history— read direct message historycanvases:read— read canvasescanvases:write— create canvasesreactions:read— read message reactionsreactions:write— add and remove message reactionsusers:read— read user profilesusers:read.email— read user email addresses
Policy examples
- Allow agents to search and read, but block sending: tool patterns
slack_search_*,slack_read_* - Allow only specific agents to send messages: scope an allow rule for
slack_send_*to a specific agent - Block scheduling messages entirely: add a deny rule for
slack_schedule_messageabove any allow rules