Connect Slack
Slack runs an official MCP server that lets a harness agent search messages and files, read channels and threads, post messages, and work with canvases and lists. Unlike Notion, Slack does not let MCP clients register themselves: your company creates a small Slack app once, and XPT Tracker connects through it.
Before you start
| You need | Why |
|---|---|
| Workspace admin role in XPT Tracker | Only admins add and connect connectors |
| Permission to create an app in your Slack workspace, or a Slack admin who approves it | Slack allows MCP only for apps internal to your workspace or published in the Slack Marketplace |
| A Slack account for the connection | The connector acts as this user: agents post, search and read as them, and see only the channels they are in |
Choose the account deliberately. A connector is shared by every agent it is given to. Many teams create a dedicated Slack user for agents and add it only to the channels agents should work in.
Step 1: create the Slack app
- Go to api.slack.com/apps, press Create New App, choose From a manifest, and pick your Slack workspace.
- Paste the manifest below. It already contains XPT Tracker's redirect URL and every user scope the Slack MCP server offers.
{
"display_information": { "name": "XPT Tracker" },
"features": {
"bot_user": { "display_name": "XPT Tracker", "always_online": false }
},
"oauth_config": {
"redirect_urls": ["https://app.xpt.ai/api/mcp-connectors/oauth/callback"],
"scopes": {
"bot": ["users:read"],
"user": [
"canvases:read", "canvases:write",
"channels:history", "channels:read", "channels:write",
"chat:write", "emoji:read",
"files:read", "files:write",
"groups:history", "groups:read", "groups:write",
"im:history", "im:read", "im:write",
"lists:read", "lists:write",
"mpim:history", "mpim:read", "mpim:write",
"reactions:read", "reactions:write",
"search:read.files", "search:read.im", "search:read.mpim",
"search:read.private", "search:read.public", "search:read.users",
"users:read", "users:read.email"
]
}
},
"settings": { "org_deploy_enabled": false, "socket_mode_enabled": false }
}
The bot user is never used by agents. Slack refuses to install an app that has no bot user, which is the only reason it is in the manifest.
- In the app's settings, open Agents & AI Apps and switch Model Context Protocol on.
- Open OAuth & Permissions and opt in to PKCE if the option is offered.
- Open Basic Information → App Credentials and copy the Client ID and Client Secret.
- If your Slack workspace requires approval for new apps, ask a Slack admin to approve it.
The redirect URL to register is also shown in XPT Tracker, in the connector's Advanced section, under Redirect URL to register with the provider.
Step 2: add the connector in XPT Tracker
Open Workspace settings → MCP → Connectors and press Add connector.
Fill in the form:
Field Value Name SlackKey slack(cannot be changed later)Server URL https://mcp.slack.com/mcpAuthentication OAuth Advanced → Client ID the Client ID from step 1 Advanced → Client secret the Client Secret from step 1 Press Add and connect. Slack opens in the browser.
Sign in as the account chosen above and press Allow.
You return to the Connectors list, and the connector shows Connected.
Give it to agents
Open AI Studio → Agents, select a harness agent, and add Slack in its Connectors section. The change applies from the agent's next turn.
When something goes wrong
| What you see | What to do |
|---|---|
| XPT Tracker asks for a client id and secret | Slack does not register clients automatically. Enter the app's Client ID and Client Secret under Advanced |
| Slack says the redirect URL does not match | Add the redirect URL shown in the connector's Advanced section to the app's OAuth & Permissions → Redirect URLs |
| Slack reports an invalid or missing scope | Make sure the app has every user scope from the manifest above |
| Slack says the app has no bot user to install | Add a bot user and one bot scope (users:read), as in the manifest |
| Slack reports that the app cannot use MCP | Switch on Model Context Protocol under Agents & AI Apps, and keep the app internal to your workspace |
| The connector shows Needs reconnect | The app was uninstalled or the user's access was revoked. Press Reconnect |
| Agents cannot see a channel | The connecting user is not a member of it. Invite that user to the channel |