OpenClaw Setup Guide: Channels, Custom Skills and Deployment

A hands-on walkthrough of setting up OpenClaw from zero: connecting WhatsApp, Telegram and Discord, building a custom skill, chaining tools into workflows, and hardening it for always-on use.

By Wasif Rehman · · AI agents

In short

  • The CLI wizard sets your gateway and default model and leaves a Gateway running on localhost.
  • WhatsApp links with a QR code; Telegram needs a BotFather token and Discord a bot with the message content intent.
  • A custom skill, like a GitHub PR reviewer, adds an ability you can call from any chat.
  • Tool chains turn single skills into multi-step workflows, such as a deploy command that reports back to chat.
  • Before going live, allowlist contacts, protect keys and stored data, and limit what each skill can access.

Installing OpenClaw: prerequisites and first run

In my previous post I covered what OpenClaw is and why it matters. This time I go hands-on: setting it up from zero, connecting it to messaging apps, building a custom skill, and running a personal AI agent pipeline on your own hardware.

What you need before you start
RequirementWhy
Node.jsOpenClaw runs on Node. Check the official docs for the supported version.
DockerFor the always-on deployment later in this guide
A modelAn API key for Claude or GPT, or a local model through Ollama

Start by cloning the OpenClaw repo and running the bootstrap script. A CLI wizard walks you through the gateway settings, such as the port, and your default model. When it finishes, you have a Gateway process running on localhost.

Connecting OpenClaw to WhatsApp, Telegram and Discord

Channels are how you reach your assistant. Each one needs a little setup:

What each channel needs
ChannelWhat you needHow it connects
WhatsAppYour phoneRun the channel setup and scan the QR code to link your number
TelegramA bot token from BotFatherAdd the token to the Gateway config
DiscordA bot application with the message content intent enabledAdd the bot token to the Gateway config

Once WhatsApp is linked, every message you send to your WhatsApp number is picked up by the Gateway, processed by your configured AI model, and answered in the same chat.

Telegram and Discord are set up in the Gateway configuration: the token, the channels or groups to listen to, and permission rules. Because one Gateway handles every channel, your assistant keeps its context whether you message it from WhatsApp, Telegram or Discord.

Building a custom OpenClaw skill: a GitHub PR reviewer

Skills are the heart of OpenClaw's extensibility. Each skill lives in its own directory. As an example, here is a skill that reviews GitHub pull requests on command.

  1. Read the request The skill takes the parsed user message: which pull request, in which repository.
  2. Fetch the diff It calls the GitHub API to get the pull request diff.
  3. Ask the model It sends the diff to your LLM with a review prompt.
  4. Reply in chat It returns the formatted review to the channel you asked from.

Once the skill is registered, you can send this from any channel:

review PR #42 on my-repo

Tool chains: multi-step AI agent workflows

Tool chains compose skills into a sequence, and each step can use the previous step's output. Here is a "deploy" command sent from chat:

  1. Run tests via your CI API
  2. Wait for results
  3. Create a release tag
  4. Trigger the deployment webhook
  5. Report status to your chat
A deploy command as a tool chain

A chain like this also needs conditions and error handling, so a failed test run never turns into a deployment.

OpenClaw memory, context and running multiple agents

OpenClaw keeps its memory locally and uses vector embeddings for semantic search, so your assistant can remember past conversations and refer back to them naturally. Two settings are worth thinking about early:

  • Context isolation, so work and personal conversations do not bleed into each other
  • Manual memory injection, to start the assistant off with project-specific knowledge

For bigger setups, OpenClaw supports multi-agent routing. You define specialised agents, and each one keeps its own system prompt, tool access and memory while sharing the same channels.

An example multi-agent setup
AgentModelUsed for
Code agentClaudeCode tasks
Writing agentGPTCreative writing
Local agentA local model via OllamaLocal-only queries

Deploying OpenClaw for always-on use

  1. Run it with Docker Compose Deploy the Gateway with Docker Compose for always-on operation.
  2. Add TLS if you expose the UI If you want to reach the Web Control UI from outside, put a reverse proxy such as Caddy in front of it for TLS termination.
  3. Survive reboots Use systemd or Docker restart policies so the Gateway comes back after a reboot.

OpenClaw security hardening checklist

Before going live, lock the deployment down:

  1. Use an allowlist so only approved contacts can message your AI.
  2. Set rate limits on each channel to prevent abuse.
  3. Encrypt stored conversation data at rest.
  4. Keep API keys out of plain-text config. Use a secrets manager or an encrypted .env file.
  5. Audit skill permissions. Limit file system and network access to what each skill actually needs.

OpenClaw gives you the building blocks for an AI assistant that is truly yours: shaped around your workflows, running on your terms, and extensible enough to grow with your needs.

Frequently asked questions

What do I need to set up OpenClaw?

Node.js, Docker for an always-on deployment, and either an API key for Claude or GPT or a local model through Ollama. A CLI wizard then sets up the gateway and your default model.

How do I connect OpenClaw to WhatsApp?

Run the channel setup and scan the QR code with your phone. After that, messages you send to your WhatsApp number go through the Gateway to your configured model, and the reply comes back in the same chat.

How do I add Telegram or Discord to OpenClaw?

Telegram needs a bot token from BotFather. Discord needs a bot application with the message content intent enabled. Both go in the Gateway configuration with the token, the channels or groups to listen to, and permission rules.

Can OpenClaw run multiple AI agents?

Yes. You can set up specialised agents, for example Claude for code, GPT for creative writing and a local Ollama model for local-only queries. Each has its own system prompt, tool access and memory, and they share the same channels.

How do I secure an OpenClaw deployment?

Allow only approved contacts, set rate limits, encrypt stored data, keep API keys in a secrets manager or encrypted .env file, and give each skill only the file system and network access it needs.

All posts