Can an agent post a message to a channel with Slack Web API?
Who does each step
Whether the agent handles it alone or a person has to step in.
- 01
Discover
MachineThe vendor's machine-readable docs show the agent where and how to call this job.
- 02
Access
Workaround · setupYou give the agent a key or token.
- 03
Onboard
Workaround · setupYou sign up or register a client for the agent.
- 04
Pay
Not applicableNothing to pay for the job.
- 05
Confirm
MachineThe response or specification defines errors the agent can distinguish from success.
- 06
Sustain
Workaround · setupYou replace or revoke the agent's access when it needs to change.
- Access: handing over a key or token.
- Onboard: signing up or registering a client for the agent.
- Sustain: renewing, replacing or revoking its access.
To remove these handoffs: support OAuth client registration so the agent can register its own client and ask for consent; provide an agent registration route, such as auth.md, a sign-up API or OAuth client registration; provide key management or OAuth refresh and revocation so the agent can maintain its own access.
Agent surfaces
The probe
Each request it sent and what came back; the descriptors it read, counted, with what they named.
Discover29 descriptor reads6 facts
- Found
- For agentsslack.com/llms.txtOAuthmcp.slack.comOAuthmcp.slack.comOAuthmcp.slack.comFor agentsmcp.slack.com/llms.txtFor agentsslack.com
- From
- slack.com/llms.txt · mcp.slack.com/.well-known/oauth-authorization-server · mcp.slack.com/.well-known/oauth-protected-resource · mcp.slack.com/llms.txt
- This endpoint
- slack.com/api is named by a document written for agents
Job requestPOST slack.com/api/chat.postMessage20040 ms
- Request
- POST https://slack.com/api/chat.postMessage
- Response
- 200 · application/json · 114 bytes
- Body
- sha256:7bd2fcecea4a3cf67657d10d8cb1cc3f287259f3249859c42bddd39d6ddf03dd
- Exchange
- sha256:42d6771beabf17641877eb0fc03c02895cdfc137834605a0f482489383c0a495
Resource metadataGET slack.com/.well-known/oauth-protected-resource/api/chat.postMessage40440 ms
- Request
- GET https://slack.com/.well-known/oauth-protected-resource/api/chat.postMessage
- Response
- 404 · text/html · 1736 bytes
- Body
- sha256:ade10e41702572444c079d4070ae0a376f0d167c7d053cb8d15bca5a3d24b004
- Exchange
- sha256:e7420c7de4b5a9be5dc3857436a387c329f4ce79dc5ada4ed2d6fa62782829c0
Resource metadataGET slack.com/.well-known/oauth-protected-resource40455 ms
- Request
- GET https://slack.com/.well-known/oauth-protected-resource
- Response
- 404 · text/html · 45148 bytes
- Body
- sha256:617647ae88ea7b14540220bb62bf04166c6b9647baea5ea953a133c4c4f73048
- Exchange
- sha256:077d076ac65dedf815e1faf3109a889e55950dea02f4a6f0b5394649c3770c7d
Job requestsession openedPOST mcp.slack.com/mcp40138 ms
- Request
- POST https://mcp.slack.com/mcp
- Response
- 401 · application/json · 77 bytes
- Body
- sha256:f53ac16a775917fe6dd1caf35105662193030ee76ec6227bf140646d3e1bded4
- Exchange
- sha256:a0ac215e0821d70bc2cf19a08277089e939713ddd42cda9adb2364b7dbdf7abb
Resource metadataGET mcp.slack.com/.well-known/oauth-protected-resource20040 ms
- Request
- GET https://mcp.slack.com/.well-known/oauth-protected-resource
- Response
- 200 · application/json · 757 bytes
- Body
- sha256:19ec25f364665494d250e48ff0ac4cc6f5779f05cbc51f26139ca6183909ded7
- Exchange
- sha256:44fde57e5408e374f7a8a10e4e1dfd7599a2825bc9cc72141b54d5f94421867e
Authorization serverGET mcp.slack.com/.well-known/oauth-authorization-server20040 ms
- Request
- GET https://mcp.slack.com/.well-known/oauth-authorization-server
- Response
- 200 · application/json · 1008 bytes
- Body
- sha256:0032884c8d36253d31313163faaa0a7126c6208505f27db762ad7ae5591839d9
- Exchange
- sha256:a11274cc8a37bb30f60f4e29e880002323b217acd9aa4208b573ca276e77bb64
Declared pageGET slack.com/get-started403125 ms
- Request
- GET https://slack.com/get-started
- Response
- 403 · text/html · 39826 bytes
- Body
- sha256:3005952268db99d5b60ea83f85fbd6c0733d56dfd386ffb3457bd068fc555f4f
- Exchange
- sha256:42d4686763cfcae2d4334bcb0f4817f28096431aa0deb08e5cd89b91b4b414dd
The grade’s badge
One image that keeps itself current, linking here.
[](https://sourcey.com/c/slack/agent-readiness/slack-web-api/chat-message-post)Improve the report
Correct it, probe it again, or improve the path.
- Profile
- arp_01m4pm5cg0ebphc7096n6mvsgs
- Projection
- sha256:9d6a49c2306d8cf0b236f000c688b94ad383108b8098b36278e6275675fe3733
- Policy
- kind-2026-10-12.2 · sha256:b612172aad277b54461de84e006815126f2df566563954b02f4432a39cad89ac
A report or a reassessment request names this profile, its revision and its projection. How report cards are assessed →View the exact declaration