Setup OpenClaw with Slack: from install to first message | Superserve Blog<br>330Get started<br>Open menu
OpenClaw is one of the friendliest ways to get a self-hosted AI assistant wired into the tools you already use, but only once you know the steps that quietly fail if you skip them. Getting it running end to end, installed, connected to Slack, and staying alive, takes more steps than the scattered docs make obvious, and a few of them fail silently if you miss them.
This is a practical OpenClaw setup walkthrough, written from actually doing it. No theory, no pitch. Pick your machine, install, connect Slack, done.
So what is OpenClaw, really?
OpenClaw is a self-hosted AI agent gateway. You run one Gateway process on a machine you control. That process routes messages, manages sessions, talks to your model provider, and connects to whatever chat surface you want, Slack, Telegram, Discord, and so on.
The mental model that helped me: you are not installing a chatbot. You are standing up a small piece of infrastructure. Once that clicks, the rest of the OpenClaw setup makes more sense.
Prerequisites
Two things before you touch anything:
An API key from a model provider (Anthropic, OpenAI, or Google).
A machine to run it on. The next step covers your options.
You also need Node.js 22 or newer, but depending on the machine you pick, that may already be handled.
Step 1: Choose your machine
The Gateway has to live somewhere, and that choice shapes the rest of the OpenClaw setup. Four reasonable options:
Mac mini at home. Reliable, fast, cheap to run. Con: it is a dedicated device that has to stay on, and exposing it to anything outside your network needs more work.
Your laptop. Fine for testing. Con: the Gateway dies when you close the lid, and the agent runs shell commands on the same machine you actually use.
A VPS (DigitalOcean, Hetzner, etc). Always on, isolated from your laptop. Con: you handle the OS install, Node, firewall, persistence, and DNS yourself.
A Superserve sandbox. Cloud sandbox with snapshotting, isolated by default. The superserve/openclaw template ships with OpenClaw and tmux pre-installed, so the install steps go away. Con: depends on a managed service, which is a tradeoff vs running your own box.
Full disclosure, we're biased, but we genuinely think a Superserve sandbox is the easiest and most effective way to run OpenClaw, especially if you want more than one. The install is short, isolation is sensible for an agent that runs shell commands, and snapshots make it cheap to experiment. That is what the rest of this guide assumes. The Slack and config steps are identical anywhere else, just install Node, OpenClaw, and tmux yourself first.
Create a Superserve sandbox
Go to console.superserve.ai and click Create sandbox .
Pick the superserve/openclaw template. It comes with Node, OpenClaw, and tmux already installed.
Open Advanced Options and add your model provider key under Environment Variables , for example ANTHROPIC_API_KEY. You will add the Slack tokens here too once you have them.
Create the sandbox and open its Terminal .
Confirm OpenClaw is on PATH:
bashCopy<br>openclaw --version
Step 2: Run the onboarding wizard
openclaw onboard is the main entry point for OpenClaw setup. It walks you through the Gateway, the workspace, and your model provider.
bashCopy<br>openclaw onboard
OpenClaw onboard output in the Superserve console
You can skip the hooks and most optional steps for now and configure them later. Get the core running first; everything else is easier once messages are flowing.
When it finishes, sanity check that your provider is wired up:
bashCopy<br>openclaw models list
If the list is empty, your API key is wrong or billing is not set up. Fix that before going further, because nothing downstream will work without a model.
Step 3: Set up the Slack gateway
This is where most people get stuck, Slack has a lot of small switches that all have to be on. You need an app, two tokens, the right scopes, and event subscriptions. Miss one and the bot stays silent with no obvious error.
Create the Slack app
Go to api.slack.com/apps and create a new app from scratch.
Name it (I used OpenClaw) and pick your workspace.
Enable Socket Mode
Socket Mode is the right choice for most OpenClaw setups. It uses an outbound WebSocket, so you do not need a public URL or any inbound firewall rules. This matters especially on a sandbox or home machine, where you cannot easily expose ports.
In the app settings, go to Socket Mode and toggle it on.
Go to Basic Information , then App-Level Tokens , and generate a token with the connections:write scope. This is your xapp- token. Save it.
Add bot scopes
Go to OAuth & Permissions , then Bot Token Scopes . Add at minimum:
textCopy<br>app_mentions:read<br>channels:history<br>channels:read<br>chat:write<br>groups:history<br>groups:read<br>im:history<br>im:read<br>im:write<br>mpim:history
If you want the bot to send or receive file attachments, also add files:read and...