guides
Intended Documentation
Slack Connector Setup (Beta)
Connect Intended to Slack. Create a Slack app, add a bot token with chat:write and channels:read, and run Test connection. Host-pinned to slack.com. Beta until validated against your live Slack workspace.
Slack Connector Setup (Beta)#
Connect Intended to Slack so approved intents can post messages and look up channels through the real Slack adapter (packages/execution-engine/src/adapters/slack.ts). Every write is Authority-Token-verified and ESCALATEs for approval under the starter policy.
This connector is Beta
The adapter is real and covered by hermetic (mocked-HTTP) tests that pass in CI with no live tenant. Live proof against your real Slack workspace is pending — treat Slack as Beta, not GA. See the Capability Truth Matrix.
What the adapter does#
| Property | Value |
|---|---|
| Actions | slack.message.post, slack.channel.lookup |
| Auth | Bot token — Authorization: Bearer xoxb-… |
| Pinned host | slack.com (host must equal slack.com or end with .slack.com) |
| Test connection | POST /api/auth.test |
Request URLs are always built from https://slack.com/api. A stored baseUrl must resolve to the Slack host or the connector fails closed. Note the adapter treats an HTTP-200 with ok:false in the JSON body as a failure — so an invalid token is rejected even when Slack returns 200.
Provider-side steps#
Bot token (apiToken, required)#
- Go to api.slack.com/apps and click Create New App (From scratch), choosing your workspace.
- Under OAuth & Permissions → Scopes → Bot Token Scopes, add the least-privilege scopes below.
- Click Install to Workspace and authorize.
- Copy the Bot User OAuth Token — it starts with
xoxb-. This is yourapiToken.
Least-privilege scope guidance#
- Matrix scopes for this connector:
chat:write,channels:read. chat:write— required forslack.message.post.channels:read— required forslack.channel.lookup(conversations.info/conversations.list).- Add
groups:readonly if you must look up private channels. Do not grant broad admin orchat:write.customizescopes. - To post into a channel, the bot must be a member of that channel (or invited to it).
Fields to paste into the connect dialog#
Open Connectors → Connect a system → Slack → Configure auth:
| Field label | Key | Required | Value |
|---|---|---|---|
| Bot User OAuth Token | apiToken | Yes | Your xoxb-… bot token |
| API Base URL | baseUrl | Optional | Leave blank; defaults to https://slack.com/api |
Credentials are stored per-tenant, AES-256-GCM-encrypted, and never displayed back.
Run Test connection#
- Finish the connect wizard to store the credential.
- On the connector card, click Test connection.
- The adapter calls Slack
auth.test. A green result means the bot token is valid and the workspace respondedok:true.
Next steps#
- Connectors index — all 15 connector guides
- Enterprise-System Connectors (Beta) — shared reference
- Capability Truth Matrix — per-connector status