# How to connect Slack to Grok Bot (no API keys)

> Connect Slack to Grok Bot with ClawLink in one click — 145 tools your AI agent can call from chat via hosted OAuth. No API keys, no manual setup.

Web version: https://claw-link.dev/grokbot/slack

Grok Bot runs on its own cloud computer, so most Slack guides send you to register an OAuth app and paste keys into a sandbox that resets. ClawLink gives Grok Bot a more practical Slack setup: it runs one CLI command, you approve once in the browser, and Grok Bot can call real Slack actions from chat with no auth, token refresh, or tool wiring to build yourself.

**Start here — paste this into Grok Bot to set up ClawLink:**

> Set up ClawLink for me and tell me when it's ready.
> 1. Pair this machine. It prints an approval link, so show me the link and stop, don't wait: `npx -y @useclawlink/cli login`
> 2. I'll approve it in my browser, then reply "approved".
> 3. When I say approved, connect the app: `npx -y @useclawlink/cli connect slack`
> 4. Then run `npx -y @useclawlink/cli whoami` and tell me whether ClawLink is ready.

## Setup

It takes three steps to connect Grok Bot to Slack.

1. **Pair from the terminal** — ask Grok Bot to run `npx -y @useclawlink/cli login` and approve the link it prints.
2. **Connect Slack** — `npx -y @useclawlink/cli connect slack`, then approve in the browser.
3. **Use it from chat** — ask Grok Bot in plain English.

**The same CLI works from any agent with shell access:**

```bash
npx -y @useclawlink/cli login          # sign in via browser — no API key to paste
npx -y @useclawlink/cli connect slack  # connect Slack (browser OAuth)
npx -y @useclawlink/cli actions slack  # list available actions
npx -y @useclawlink/cli run slack <action> --input '<json>'  # execute (add --confirm for writes)
```

### Install by command

The prompt above does all of this. By hand, it is two commands Grok Bot runs in its own terminal, and one browser approval:

```bash
npx -y @useclawlink/cli login          # prints an approval link, approve it in your browser
npx -y @useclawlink/cli connect slack
```

Pair once and it sticks: the key is written to ~/.clawlink/credentials.json inside Grok Bot's sandbox, so it survives between sessions. Prefer native tools over shell commands? Add `https://claw-link.dev/api/mcp` as a custom connector at grok.com/connectors and approve the ClawLink sign-in. Same account, no CLI.

Verify the connection by asking Grok Bot:

> Use Slack to add reaction to an item and walk me through the result in plain English.

### Using a different agent?

The CLI above is not specific to Grok Bot. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account the same way:

```bash
npx -y @useclawlink/cli login
```

`login` opens the same browser approval and stores a credential locally. Once Slack is connected in the dashboard, that agent calls the same 145 Slack tools over MCP. Full setup for MCP clients and shell agents: [connect apps to any AI agent](https://claw-link.dev/learn/connect-apps-to-any-ai-agent).

## Slack MCP for Grok Bot

Looking for a Slack MCP server for Grok Bot? ClawLink connects Slack to Grok Bot and exposes 145 Slack tools your agent can call over [MCP](https://claw-link.dev/learn/what-is-an-mcp-server), with [hosted auth](https://claw-link.dev/learn/oauth-for-ai-agents) and nothing to run or maintain yourself. Using a different agent? The [OpenClaw Slack integration](https://claw-link.dev/openclaw/slack) and the [Hermes Slack integration](https://claw-link.dev/hermes/slack) connect the same ClawLink account the same way.

## What the Grok Bot Slack integration can do

145 Slack tools are ready for Grok Bot once the account is connected. The 30 below are the ones people reach for most; your agent can call all 145.

### 30 of 145 Slack tools for Grok Bot

| Tool | What it does |
|---|---|
| **Add reaction to an item** `slack_add_reaction_to_an_item` | Add an emoji reaction to a Slack message |
| **Archive conversation** `slack_archive_conversation` | Archive a Slack conversation |
| **Create a reminder** `slack_create_a_reminder` | Create a Slack reminder |
| **Create channel** `slack_create_channel` | Create a new Slack channel |
| **Deletes a message from a chat** `slack_deletes_a_message_from_a_chat` | Delete a message from a Slack conversation |
| **Download slack file** `slack_download_slack_file` | Download a file from Slack |
| **Fetch conversation history** `slack_fetch_conversation_history` | Fetch message history from a Slack conversation |
| **Fetch message thread from a conversation** `slack_fetch_message_thread_from_a_conversation` | Fetch a message thread from a Slack conversation |
| **Find channels** `slack_find_channels` | Find Slack channels by name |
| **Find user by email address** `slack_find_user_by_email_address` | Find a Slack user by email address |
| **Find users** `slack_find_users` | Search for Slack users |
| **Get bot user** `slack_get_bot_user` | Get the bot user identity in Slack |
| **Invite user to channel** `slack_invite_user_to_channel` | Invite a user to a Slack channel |
| **Join an existing conversation** `slack_join_an_existing_conversation` | Join an existing Slack conversation |
| **Leave conversation** `slack_leave_conversation` | Leave a Slack conversation |
| **List all channels** `slack_list_all_channels` | List all Slack channels |
| **List all users** `slack_list_all_users` | List all Slack users in the workspace |
| **List conversations** `slack_list_conversations` | List Slack conversations |
| **List files with filters in slack** `slack_list_files_with_filters_in_slack` | List Slack files with filters |
| **List pinned items** `slack_list_pinned_items` | List pinned items in a Slack channel |
| **List reminders** `slack_list_reminders` | List Slack reminders |
| **List scheduled messages** `slack_list_scheduled_messages` | List scheduled messages in Slack |
| **List user groups** `slack_list_user_groups` | List Slack user groups |
| **Pin item** `slack_pin_item` | Pin an item in a Slack channel |
| **Remove reaction from item** `slack_remove_reaction_from_item` | Remove an emoji reaction from a Slack message |
| **Retrieve conversation information** `slack_retrieve_conversation_information` | Retrieve information about a Slack conversation |
| **Retrieve conversation members list** `slack_retrieve_conversation_members_list` | Retrieve members of a Slack conversation |
| **Retrieve user profile information** `slack_retrieve_user_profile_information` | Retrieve a Slack user's profile |
| **Schedule message** `slack_schedule_message` | Schedule a message to be sent later |
| **Search messages** `slack_search_messages` | Search Slack messages |

## Example prompts

**Add Reaction To An Item**

> Use Slack to add reaction to an item and walk me through the result in plain English.

**Archive Conversation**

> Before using Slack to archive conversation, show me what will change and ask for confirmation.

**Create A Reminder**

> Create it in Slack for me, then confirm the important fields before you finish.

**Create Channel**

> Create it in Slack for me, then confirm the important fields before you finish.

## ClawLink vs. building it yourself

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Grok Bot. That is fine if you want to build and maintain the integration yourself. Most teams just want Slack working from chat.

| | Manual | ClawLink |
|---|---|---|
| **Connection flow** | Register a Slack app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect Slack through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code. |
| **Ongoing maintenance** | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for Slack. | ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure. |
| **Agent usability** | You still need to expose the right Slack actions to the runtime in a format your agent can reliably use. | 145 tools for Slack are already exposed through ClawLink, so the agent can read and act from chat immediately. |

## ClawLink vs. Composio

Composio also exposes Slack to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Grok Bot users instead. You install the plugin once, connect Slack in the browser, and the 145 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full [Composio alternatives](https://claw-link.dev/hub/composio-alternatives) comparison.

### Grok Bot says it cannot add ClawLink as an MCP server
Grok Bot only attaches MCP servers that are reachable over the public internet, so a local stdio server is refused. You do not need one. Ask Grok Bot to run `npx -y @useclawlink/cli login` in its terminal instead. The CLI is a shell command, not an MCP server. If you would rather have native tools, add `https://claw-link.dev/api/mcp` as a custom connector at grok.com/connectors and approve the ClawLink sign-in.

### Connection succeeds but no tools appear
Reconnect Slack from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

### "Tool schema not loaded yet" error when calling Slack tools
Slack tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Slack call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

### Slack returns 403 or "permission denied" on one action while others work
Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

### OAuth finished in the browser but the account is still missing
Try reconnecting Slack and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.

### Is there a Grok Bot Slack integration?
Yes. ClawLink is the fastest way to connect Grok Bot to Slack: link your Slack account once in the browser and Grok Bot can call the Slack API through 145 ready-made tools — no custom code or token handling.

### How do I connect Slack to Grok Bot with ClawLink?
Ask Grok Bot to run `npx -y @useclawlink/cli login` in its terminal and approve the link it prints, then `npx -y @useclawlink/cli connect slack` to authorize Slack. Grok Bot calls the tools from the next message, and the pairing persists in its sandbox, so this is a one-time step: no config files or API keys to manage.

### How long does it take to connect Slack to Grok Bot?
About two minutes. Sign in, click Connect next to Slack in the dashboard, authenticate, and Grok Bot can use it from the next chat message.

### Why use ClawLink instead of wiring Slack up myself?
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Grok Bot. That is fine if you want to build and maintain the integration yourself. Most teams just want Slack working from chat.

### Grok Bot says it cannot add ClawLink as an MCP server
Grok Bot only attaches MCP servers that are reachable over the public internet, so a local stdio server is refused. You do not need one. Ask Grok Bot to run `npx -y @useclawlink/cli login` in its terminal instead. The CLI is a shell command, not an MCP server. If you would rather have native tools, add `https://claw-link.dev/api/mcp` as a custom connector at grok.com/connectors and approve the ClawLink sign-in.

## Related

- [SendGrid](https://claw-link.dev/grokbot/sendgrid) — Deliver transactional and marketing emails
- [Dialpad](https://claw-link.dev/grokbot/dialpad) — Business phone, messaging, and video conferencing
- [Grok Bot Discord Bot integration](https://claw-link.dev/grokbot/discord-bot) — Automate Discord server actions with bot-specific permissions
