> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vertracloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Run OpenClaw on Vertra Cloud: Gateway Token, Channels and Browser

> Step-by-step guide to OpenClaw on Vertra Cloud: provider key, gateway token, approving devices, Telegram, Discord, Slack, WhatsApp and the browser.

OpenClaw is a personal AI assistant with a control panel, messaging channels and an optional browser it can use to open, read and fill in web pages. This guide takes you from the provider key to a connected assistant. The [OpenClaw template](https://docs.vertracloud.app/templates/catalog/openclaw.md) packages OpenClaw 2026.10.7 with a headless Chromium inside the container.

> [!NOTE]
>
> Vertra Cloud does not host a model. You bring the key of a provider and pay for the model usage to that provider. This template is a Vertra Cloud packaging and is not affiliated with the OpenClaw project (MIT license).

## Requirements and plan

| | |
| - | - |
| Source | Docker image (uses one [image slot](https://docs.vertracloud.app/templates/overview.md#image-slots)). The image is large, so the first deploy takes longer. |
| Memory | **With the browser: 3 GB minimum, 4 GB recommended.** Without it: 2 GB minimum, 3 GB recommended. The gateway uses about 1 GiB; the browser with several heavy tabs reaches about 1.9 GiB. |
| Plan | A plan that includes Docker images. The gallery card shows whether the template fits your account. See [Plans and limits](https://docs.vertracloud.app/plans-and-limits.md) and [Custom Docker images](https://docs.vertracloud.app/guides/custom-docker-images.md). |
| Outbound access | To your provider and, with Discord or Slack, to the npm registry (the channel plugins are installed from there). |

## 1. Get the provider key and choose the model

OpenClaw works with OpenAI, Anthropic, Google Gemini, OpenRouter or an OpenAI-compatible endpoint, and dozens more from the panel (**Settings > Models**). Create a key in your provider's account and copy it: most providers show it only once.

In the wizard you give the key and, optionally, the **model**. Empty means the provider's default. With a compatible endpoint the **base URL** (ending in `/v1`) and the model are required. On OpenRouter any model id works, including `:free` ones. OpenClaw starts even with an invalid key; the key is only used when the assistant answers, so test it in the first chat.

## 2. Create the assistant

**1. Open the template**

In the dashboard open **Templates**, pick **OpenClaw** and click **Use template**.

**2. Provider, key and model**

Choose the provider, paste the key and, if you want, type the model.

**3. Browser: yes or no**

**Can the assistant use a browser?** Yes (default) adds Chromium to the app and needs 3 GB of memory at least. No gives a text-only assistant with 2 GB. It applies on the first start.

**4. Channels (optional)**

Telegram, Discord and Slack each ask for the token and **who may talk to the bot**. Without an allowed list the channel is not enabled. See [step 4](#4-connect-a-channel).

**5. Create**

Name the app and click **Create**. The outputs show the app **address** and the **gateway token, shown once**. Copy the token.

## 3. First access: the gateway token

**1. Open the address**

Open the app address. The panel (Control UI) asks for the token.

**2. Paste the token**

In **Settings > Gateway** paste the **gateway token** from the outputs. The token also lives in the encrypted variable `OPENCLAW_GATEWAY_TOKEN`.

**3. Wait for the pairing**

Wait up to 15 seconds: the **first browser** you use is approved automatically. After that, talk to the assistant in the panel.

### Approve a second browser or device

Only the first device is approved by itself. When you open the panel from another browser or computer and paste the token, the device stays waiting for approval. From a device that is already connected, open **Settings > Devices** and approve the new one.

> [!NOTE]
>
> Automatic pairing lowers "token plus approval" to "token" for that first device only. If you prefer to approve every device, set `OPENCLAW_BOOTSTRAP_PAIRING` to `off` in the app variables before the first access.

## 4. Connect a channel

You can set channels in the wizard or later in the panel.

> [tab] Telegram
>
> 1. In Telegram, talk to **@BotFather**, send `/newbot` and copy the **bot token**.
> 2. Find your numeric id with **@userinfobot**.
> 3. Enter the token and your id.

> [tab] Discord
>
> 1. In the [Developer Portal](https://discord.com/developers/applications) create an application, open **Bot** and click **Reset Token**.
> 2. Turn on **Message Content Intent**.
> 3. Turn on **Developer Mode** in Discord and **Copy User ID** from your profile. Enter it as the allowed user.

> [tab] Slack
>
> 1. Create a Slack app with **Socket Mode**.
> 2. Enter the **Bot User OAuth Token** (`xoxb-`) and the **App-Level Token** (`xapp-`, scope `connections:write`).
> 3. Enter your member id.

> [tab] WhatsApp
>
> Open **Settings > Channels > WhatsApp** and scan the QR code as soon as it appears (**WhatsApp > Linked devices > Link a device**). The code expires. There is one WhatsApp session per app.

The first boot takes 30 to 45 seconds without channels and **1 to 3 minutes with Discord or Slack**, because OpenClaw installs the channel plugins from npm and runs its doctor. After that, starts take 15 to 50 seconds.

## 5. Use the browser

Ask for something that needs the web, such as "open example.com and tell me the title". In **Chat > + > Browser** you see the window the agent is using.

* The agent browser **blocks private and local networks**, on purpose.
* It runs without Chromium's own sandbox: the container is the isolation.
* It needs memory. With several tabs Chromium goes past 2 GB, so a plan with room matters.

## The panel terminal

The panel has a terminal that opens a shell in the app's own container, with no extra privilege. Use it to look around, but remember that the container's file system outside `/app` is read-only.

## Cron, skills and voice

Use **Settings > Cron** for scheduled tasks. The ready skills appear in **Skills**. Voice needs your browser's microphone and a speech provider.

## Change provider or model later

Use **Settings > Models** in the panel. The variables `OPENCLAW_PROVIDER` and `OPENCLAW_MODEL_ID` also follow the wizard on every start. The file `/app/.openclaw/openclaw.json` is generated **once**; after that it belongs to you and the panel rewrites it. The gateway token, the public origin and the model follow the app variables.

## The cost of the AI is yours

The plan charges for the memory. Your provider bills the model calls. Browser tasks and scheduled jobs can use many tokens, so set a spending limit in your provider's account.

## Update and roll back

New versions arrive as new versions of the template. A snapshot is taken before the update, and rolling back brings the data along, because OpenClaw migrates its local schema when it starts a new version. See [Update and roll back](https://docs.vertracloud.app/templates/use/updates-and-rollback.md). Zero-downtime deploy is off: two copies on the same disk cannot coexist.

## Common problems

> [accordion] The panel does not connect
>
> Check the token in **Settings > Gateway**, and that the address you opened is the app's own address (`PUBLIC_ORIGIN`).

> [accordion] A second browser stays waiting
>
> Approve it in **Settings > Devices** from a device that is already connected.

> [accordion] Timeouts in the browser tools
>
> Not enough memory: Chromium passes 2 GB with several tabs. Raise the app's memory or use fewer tabs.

> [accordion] Discord or Slack take a long time to come up
>
> Normal on the first boot (npm plugins). If it fails, check the token and the access to npm in the app log.

> [accordion] OPENCLAW\_MODEL\_ID is required
>
> With a compatible endpoint the model is required. Set `OPENCLAW_MODEL_ID` and restart.

## Related

> [card] [OpenClaw in the catalog](https://docs.vertracloud.app/templates/catalog/openclaw.md)
>
> What the template creates and its variables.

> [card] [Update and roll back](https://docs.vertracloud.app/templates/use/updates-and-rollback.md)
>
> The safety snapshot and rollback with data.

> [card] [Public page](https://vertracloud.app/templates/openclaw)
>
> The template in the public gallery.

> [card] [Use a template](https://docs.vertracloud.app/templates/use/using-a-template.md)
>
> The gallery, the wizard and the outputs.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.