Setting Up the Slack Connector

Wire Slack into Wazzi as an MCP tool — list channels, post messages, react to threads, all from your team's AI assistants.

April 25, 2026
5 min read

Path: Connectors → Slack → Configuration

What this connector does

The Slack connector exposes your Slack workspace to Wazzi as an MCP tool. Once configured, your team's AI assistants (Claude, ChatGPT, Cursor) can list channels, post messages, reply in threads, add reactions, fetch user profiles, and more — all under your normal Slack permissions and your Wazzi access groups.

Wazzi connects via a Bot User OAuth Token — the standard Slack way for an app to act on behalf of a workspace. The token is created when you install a Slack app to your workspace; you copy it once into Wazzi and you're done.

Before you start — getting your Bot User OAuth Token from Slack

You'll need to be a Slack Workspace Admin (or have permission to install apps) for the workspace you want to connect.

  1. Go to api.slack.com/apps and sign in.
  2. Click Create New AppFrom scratch. Name it something like "Wazzi MCP" and pick the workspace you want to connect.
  3. In the left sidebar of your new app, click OAuth & Permissions.
  4. Scroll down to Scopes → Bot Token Scopes and add the scopes Wazzi needs:
    • channels:read — list public channels
    • groups:read — list private channels the bot is in
    • chat:write — post messages
    • reactions:write — add emoji reactions
    • channels:history + groups:history — read channel history
    • users:read + users:read.email — list workspace members and look up profiles
    Add only the scopes you actually need — fewer scopes = smaller blast radius if the token leaks. You can always come back and add more later (you'll just need to reinstall the app to your workspace).
  5. Scroll back to the top of the same page and click Install to Workspace. Approve the permissions.
  6. After install, the page shows your Bot User OAuth Token — a long string starting with xoxb-. Click Copy. Treat this like a password.

For deeper Slack-side details, see Slack's official guide: Slack API: Quickstart and Installing with OAuth.

(Optional) Find your notification channel ID

Wazzi can post agent approval and login notifications to a Slack channel. If you want this, find the channel's ID:

  1. In Slack, right-click the channel you want notifications in → Copy link.
  2. The channel ID is the last segment of the URL (starts with C, e.g., C0XXXXXXXXX).
  3. Invite your Slack app to that channel by typing /invite @WazziMCP (or whatever you named the bot) in the channel.

Skip this if you'd rather have notifications go to users via direct message instead.

What this connector unlocks for your team

Once configured, members with the right MCP permissions can ask Claude / ChatGPT / Cursor things like:

  • "List the channels I'm in and find the most active one this week."
  • "Post 'Build green ✅' to #engineering."
  • "Reply in the thread I just shared with a thumbs-up reaction."
  • "Find the Slack profile for sara@acme.com."

The exact set of available actions depends on which MCP toggles you've flipped on for the user's group — see Managing Permissions.

Steps — configuring Slack in Wazzi

1. From the Connectors catalog, click Configure on the Slack tile.

You'll land on Slack's Configuration tab:

Slack connector Configuration tab

2. Paste your Bot User OAuth Token into the Bot Token field.

This is the xoxb- token you copied from OAuth & Permissions in your Slack app.

3. (Optional) Set the Notification Channel.

Paste the channel ID (e.g., C0XXXXXXXXX) for agent approval and login notifications. Leave blank to deliver notifications via direct message instead.

4. Click Test Connection to verify the token.

Wazzi calls Slack's auth.test endpoint, which returns the workspace name if the token is valid.

5. Click Save Configuration.

Slack moves to the Active section of the catalog and the dot turns green.

Troubleshooting

  • "Test Connection failed: invalid_auth." Token is wrong or revoked. Generate a new one in Slack (OAuth & Permissions → Reinstall to Workspace) and update the field.
  • "Test Connection failed: not_authed." Token is missing the xoxb- prefix or was truncated when pasted. Re-copy the entire token from Slack.
  • "Notification Channel not found." The bot isn't a member of that channel. In Slack, run /invite @YourAppName in the channel.
  • AI agent says "missing_scope" when calling a tool. Your Slack app doesn't have the scope that action requires. Add it in OAuth & Permissions, then click Reinstall to Workspace at the top of the page.
  • The bot got removed from a channel. Re-invite it with /invite @YourAppName. Slack drops bots from channels when channels are archived or admins remove them.

Best practices

  • Scope-minimize the Slack app. Only add Bot Token scopes for actions your team will actually invoke. Fewer scopes = smaller blast radius if the token leaks.
  • Rotate the token periodically. Slack tokens don't expire automatically; quarterly rotation is a reasonable cadence.
  • Restrict who can post via MCP. Slack chat:write via an AI is powerful — limit it to groups that genuinely need it. See Managing Permissions.
  • Watch for noisy notification channels. If you set a notification channel, audit the volume after a week — if it's overwhelming, switch to DM-only.

Frequently asked questions

Does Wazzi store my Bot Token in plaintext?
No. Tokens are encrypted at rest with per-org keys and decrypted only at request time.

Can the Slack connector read DMs?
Only if you grant the relevant scopes (im:read, im:history) and the bot is part of the conversation. By default Wazzi doesn't ask for DM access.

Does this support multiple Slack workspaces?
Slack is a single-instance connector — one workspace per Wazzi org. If you have multiple Slack workspaces, pick the primary one.

Will Slack rate-limit me?
Slack rate-limits per app. Wazzi caches reads and batches where possible, but heavy AI workloads can occasionally hit Tier 3 limits — pace your prompts if you see ratelimited errors.

What's next

Was this article helpful?