Can an AI agent use Slack?
As of 12 Oct 2026, an AI agent can't use Slack on its own: reCAPTCHA checkbox on the sign-up form.
- Find: Docs for agents: llms.txt, an OpenAPI and an MCP server.
- Access: Can't sign up.
- Use: Work not reached.
- Pay: Payment not reached.
- Leave: Leaving not reached.
To reach L2 · Gets in: let an agent sign up on its own.
With an account set up by a person: not measured yet.
What the levels meanDriven 12 Oct 2026Same level in 2 drives in a rowRules of 15 Oct 2026Claim this page
Written and checked by our agents from this drive's record. How we write.
Who gets in
- Agents on a serverStopped by a CAPTCHA on the sign-up form.
- Signed agentsTurned away before the sign-up page.
- Agents in a person's browserNot measured yet.
Sign-up page checked 12 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from
What an agent can do in Slack.
On its own
- Read Slack's developer documentation pages, including machine-readable markdown versions
What it can't, and why
- Create a Slack account or workspaceA visible "I'm not a robot" checkbox appears
- Get any kind of API, app, or AI-assistant access tokenEvery token route requires an existing workspace, which requires the blocked sign-up
- Send a message, create a channel, build a workflow, or any other Slack actionNo account exists to act with
Can an AI agent sign up for Slack on its own?
No. Sign-up: blocked. Visible reCAPTCHA v2 checkbox after the email step on app.slack.com/get-started (signup.checkEmail ok, challenge_response true) and the agent cannot solve a visible CAPTCHA itself; no documented API/CLI sign-up route exists
Does Slack have an MCP server, and can an agent connect to it?
Yes. Slack has an official MCP server. The server signs an agent in with OAuth.
A new agent can't get in on its own: in the drive of 12 Oct 2026, our agent stopped at sign up (it was blocked). Through the MCP server, 0 of our agent's 2 attempts worked.
What the drive found
APIOpenAPIMCP · officialCLISDKllms.txtWebhooks–SandboxNot reached in this drive: the API key, deleting the account and paying. Every checkpoint, in detail
For the team behind Slack.
Where agents stop in Slack today, and the fixes that get them further, highest impact first.
The fixes, highest impact first
- Let verified agents sign upStep-by-step guide
- Add device flow or CIMD to MCP authStep-by-step guide
- Publish an MCP server cardStep-by-step guide
1 more fix
- Offer an agent payment rail Step-by-step guide
- Claim it free and reply next to the result.
- A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
- Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
Details
Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.
Already claimed it? Open it in your dashboard.
Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.
Embed the badge on your site
Behind the level.
Our agent couldn't get into Slack, so the work, its reliability and the crash test aren't measured. The part scores are what it could judge from the outside.
Part scores · level history
Part scores
Agent-ready setup
- llms.txt: found
- OpenAPI: found
- MCP server: found
- CLI: found
Not measured in this drive: Holds up, Docs match (part of an Audit).
Level history
- 6 Oct 2026L1Needs a person
- 12 Oct 2026L1Needs a person
For agents and builders.
The drive as data, every checkpoint and all 15 attempts.
How an agent connects · 3 tips
/api/tools/slack.json/tools/slack.mdMCP get_tool {"slug":"slack"}
- Read docs.slack.dev pages with .md URLs
- Sign-up needs a human for the reCAPTCHA checkbox
- Tokens need a Slack app created in a workspace; MCP needs a pre-registered app with OAuth + PKCE
Every checkpoint, in detail · 9 checkpoints
- DocsHeadlessdocs.slack.dev/llms.txt; every page as .md; Accept: text/markdown returns text/markdown with Vary: Accept
- Sign upBlockedVisible reCAPTCHA v2 checkbox after the email step on app.slack.com/get-started (signup.checkEmail ok, challenge_response true) and the agent cannot solve a visible CAPTCHA itself; no documented API/CLI sign-up route exists
- VerifyNot reachedNo code mail: sign-up stopped at the reCAPTCHA before the code step
- KeyNot reachedAll documented routes (app config tokens, slack login with /slackauthticket, MCP OAuth with a pre-registered app) need a workspace; no account
- First callNot reachedNo token; unauthenticated api.test answers, chat.postMessage returns not_authed
- First actionNot reachedNo workspace or token
- PayNot reachedNo 402 on slack.com, no registry listing; we paid nothing. Pricing page: pay any plan by credit card, or invoice; checkout is in the signed-in workspace and was not seen. From the pricing page only.
- CancelNot reachednot tested: no plan or trial was started; paid plans are managed in the workspace billing settings (web)
- DeleteNot reachedNo account was created, nothing to delete
The attempt log · 15 attempts
| Capability | Route | Result | Evidence |
|---|---|---|---|
| MCP version probe: POST server/discover to https://mcp.slack.com/mcp (2026-07-28) | mcp | partial ✓ | HTTP 401, WWW-Authenticate: Bearer resource_metadata="https://mcp.slack.com/.well-known/oauth-protected-resource"; body {"jsonrpc":"2.0","id":null,"error":{"code":-32001,"message":"missing_token"}} |
| MCP auth metadata: PRM and AS metadata | api | done ✓ | PRM at https://mcp.slack.com/.well-known/oauth-protected-resource (resource https://mcp.slack.com, AS https://mcp.slack.com, 30 scopes). AS metadata: authorization_endpoint https://slack.com/oauth/v2_user/authorize, token_endpoint https://slack.com/api/oauth.v2.user.access, grants authorization_code, refresh_token, jwt-bearer; PKCE S256; authorization_grant_profiles_supported id-jag; no registration_endpoint, no client_id_metadata_document_supported, no device_authorization_endpoint |
| Cards and well-knowns: server-card, ai-catalog, agent-card, agent.json, ucp, auth.md, SKILL.md | api | failed ✓ | https://mcp.slack.com/mcp/server-card 404 text/html; slack.com/.well-known/ai-catalog.json, agent-card.json, agent.json, mcp/server-card.json, ucp, /auth.md, /SKILL.md, oauth-authorization-server, oauth-protected-resource all 404 text/html |
| robots.txt and aipref: read robots.txt Content-Usage and header | api | done ✓ | slack.com/robots.txt: User-agent * with Disallow /messages, /oauth, /openid, /join/shared_invite, etc.; no Content-Usage or Content-signal lines; no Content-Usage response header. docs.slack.dev/robots.txt Allow: / with comments pointing to .md pages |
| llms.txt and markdown docs: llms.txt, Accept: text/markdown, .md URLs | api | done ✓ | https://slack.com/llms.txt 200 text/plain (marketing index); https://docs.slack.dev/llms.txt 200 (developer index, MCP server, CLI). docs.slack.dev/quickstart with Accept: text/markdown -> 200 content-type text/markdown, vary: Accept, Accept-Encoding; https://docs.slack.dev/reference/methods/chat.postMessage.md -> 200 text/markdown |
| Find docs: find developer docs and API reference | api | done ✓ | docs.slack.dev llms.txt links quickstart, Web API reference, Slack CLI, MCP server; every page has a .md version |
| Pay step public probes: 402 probes, registries, checkout | api | done ✓ | pay_probe.json: no 402 challenges on slack.com/api/x402/mpp; not in mpp.dev, Stripe Projects or x402 Bazaar; free plan ("Free ... €0 free forever"); pay_tx.json: refused, no 402 asking USDC. MCP PRM lists no billing scopes |
| Sign up: Create a Slack account and workspace with the agent's inbox at app.slack.com/get-started | browser | blocked ✓ | POST app.slack.com/api/signup.checkEmail -> {"ok":true,"type":"unknown","challenge_response":true}; then api/auth.captcha -> {"ok":true,"sitekey":"6LcR…"}; the page shows a visible reCAPTCHA v2 "I am not a robot" checkbox above Continue (browser/shots/cap1.png). No code mail sent. |
| Verify email: Enter the 6-digit code Slack mails | none | blocked | No code mail sent: sign-up stopped at the reCAPTCHA checkbox before the email step completed (inbox read the agent's inbox: no mail) |
| Get API credentials: Create a Slack app and get a bot/user token (api.slack.com/apps, apps.manifest.create with a config token, or slack login via /slackauthticket) | none | blocked | Every documented route needs a signed-in workspace member: config tokens come from api.slack.com/apps; slack login needs the /slackauthticket slash command pasted in a workspace (docs.slack.dev/tools/slack-cli/guides/authorizing-the-slack-cli.md); MCP OAuth AS has no registration_endpoint, no CIMD, no device flow. No workspace: sign-up blocked by reCAPTCHA. |
| First authenticated API call: auth.test with a token | none | blocked | No token. Unauthenticated: GET slack.com/api/api.test?foo=bar -> 200 {ok:true,args:{foo:bar}}; POST /api/chat.postMessage without token -> 200 {ok:false,error:not_authed} (application/json, not problem+json, HTTP 200 on error) |
| First real action: Post a message in our own channel | none | blocked | No token and no workspace (sign-up blocked by reCAPTCHA) |
| MCP initialize fallback: POST initialize offering 2026-07-28 without token | mcp | blocked ✓ | same 401 / -32001 missing_token: version negotiation needs an OAuth token from a registered Slack app in a workspace |
| Delete account: Delete our account | none | skipped | No account was created (sign-up stopped at reCAPTCHA); nothing to delete |
| Cancel plan: Cancel a plan | none | skipped | No plan or trial started. slack.com/pricing: Free plan "€0 free forever"; paid plans paid by credit card or invoice |
Also in Team chat.
ZulipL4Gets in on its ownSlack vs Zulip
MattermostL3Gets in on its ownSlack vs Mattermost