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

# OpenClaw + Telegram

> Connect OpenClaw to EvoLink.AI

## Overview

OpenClaw is an open-source AI agent Gateway that acts as a bridge between chat applications and AI agents. Through a centralized Gateway process, it connects chat platforms like Telegram, WhatsApp, and Discord to AI coding agents, enabling direct AI programming interactions within chat windows.

By configuring **EvoLink API** as a custom model provider in OpenClaw and connecting a **Telegram Bot**, you can use EvoLink's Claude models (such as **Claude 4.6 Opus**, **Claude 4.5 Sonnet**, **Claude 4.5 Haiku**) for AI-assisted coding conversations directly in Telegram.

**This guide covers:**

* Installing and configuring OpenClaw Gateway
* Creating a Telegram Bot and connecting it to OpenClaw
* Setting up EvoLink API as a custom model provider
* Verifying the connection and getting started

## System Environment Check

Before installation, it's recommended to run the environment checker tool to ensure your system meets OpenClaw's requirements.

### Download Checker Tool

Download the checker tool for your platform from [GitHub Releases](https://github.com/suuuuuu-1/openclaw-env-checker/releases):

| Platform              | Filename                       |
| --------------------- | ------------------------------ |
| Windows               | `openclaw-checker-win-x64.exe` |
| macOS (Intel)         | `openclaw-checker-macos-x64`   |
| macOS (Apple Silicon) | `openclaw-checker-macos-arm64` |
| Linux                 | `openclaw-checker-linux-x64`   |

### Check Items

The tool automatically checks the following:

* ✅ Node.js version (requires >= 22.12.0)
* ✅ npm available
* ✅ Git available
* ✅ Network connectivity (github.com, npmjs.org, evolink.ai)

<img src="https://mintcdn.com/muyutechnology/nIFIx0gxdF53THw8/images/OpenClaw-Checker/check-success.png?fit=max&auto=format&n=nIFIx0gxdF53THw8&q=85&s=46f1fdbec3263845e35158b104fa5091" alt="Check success example" width="1778" height="1742" data-path="images/OpenClaw-Checker/check-success.png" />

If the check fails, the tool will provide specific fix suggestions.

## Prerequisites

Before configuring, make sure you have:

### 1. Install Node.js

OpenClaw is installed via npm and requires Node.js 22 or higher.

<Tabs>
  <Tab title="Windows">
    Visit [Node.js official website](https://nodejs.org/en/download), download the Windows installer (.msi file), and run the installation program.

    After installation, open PowerShell to verify:

    ```bash theme={null}
    node --version
    npm --version
    ```

    <Note>
      It's recommended to run PowerShell as administrator to avoid permission issues during installation.
    </Note>
  </Tab>

  <Tab title="macOS">
    **Method 1: Using Installer**

    Visit [Node.js official website](https://nodejs.org/en/download), download the macOS installer (.pkg file), and run the installation program.

    **Method 2: Using Homebrew**

    ```bash theme={null}
    brew install node
    ```

    After installation, open Terminal to verify:

    ```bash theme={null}
    node --version
    npm --version
    ```

    <Note>
      If you encounter permission issues during installation, you may need to add `sudo` before the command.
    </Note>
  </Tab>
</Tabs>

### 2. Get EvoLink API Key

* Log in to [EvoLink Dashboard](https://evolink.ai/dashboard)
* Find API Keys in the dashboard, click 'Create New Key' button, then copy the generated Key
* API Key usually starts with `sk-`

### 3. Prepare a Telegram Account

You will need it to create a Bot and test the integration.

## Step 1: Install OpenClaw

Run the following command in your terminal:

```bash theme={null}
npm install -g openclaw@latest
```

## Step 2: Onboarding

Run the onboarding command. OpenClaw will guide you through the initial setup and install the background daemon service:

```bash theme={null}
openclaw onboard --install-daemon
```

### 1. Confirm Installation

The system will display a risk disclaimer. Confirm to proceed:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/ScreenShot_2026-02-08_011629_241.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=fce0ba49fe04129dc943e6f63353595e" alt="Confirm Installation" width="1488" height="1420" data-path="images/OpenClaw-Telegram/ScreenShot_2026-02-08_011629_241.png" />

### 2. Select Installation Mode

When prompted to choose an installation mode, select **Quickstart**:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/ScreenShot_2026-02-08_011705_241.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=24fbf84b590649d1fc1d515d2ee50609" alt="Select Quickstart" width="1738" height="1540" data-path="images/OpenClaw-Telegram/ScreenShot_2026-02-08_011705_241.png" />

### 3. Select Provider

When prompted to choose a model provider, select **Skip**. We will manually configure EvoLink as a custom provider later:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/ScreenShot_2026-02-08_011742_033.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=a4f74b3bb72312ba426ea37179232576" alt="Skip Provider Selection" width="1398" height="1272" data-path="images/OpenClaw-Telegram/ScreenShot_2026-02-08_011742_033.png" />

### 4. Select Models

When prompted to choose which models to enable, select **All**:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/ScreenShot_2026-02-08_011808_857.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=701f58ca7164b7830cef3bfb713d911b" alt="Select All Models" width="1380" height="1528" data-path="images/OpenClaw-Telegram/ScreenShot_2026-02-08_011808_857.png" />

### 5. Select Default Model

When prompted to choose a default model, select **Keep current**:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/ScreenShot_2026-02-08_011825_375.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=5ded0a9c44fd991865dbe84195862563" alt="Keep Current Model" width="1334" height="1792" data-path="images/OpenClaw-Telegram/ScreenShot_2026-02-08_011825_375.png" />

## Step 3: Create Telegram Bot

The onboarding flow will prompt you to select a chat channel. Select **Telegram (Bot API)**.

### 1. Visit BotFather

Open Telegram and visit [@BotFather](https://t.me/BotFather), then click **START BOT** to begin:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/ScreenShot_2026-02-08_023944_999.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=8675eaaf4ede6e09eb9256830d780e48" alt="Start BotFather" width="652" height="638" data-path="images/OpenClaw-Telegram/ScreenShot_2026-02-08_023944_999.png" />

### 2. Create Bot

Type `/start` in the chat. BotFather will reply with a list of available commands:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/85be2352-3788-4d21-815e-6a46b2754ca7.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=6b15bf8fa069553fed472e3177d66c34" alt="Type /start" width="1798" height="1794" data-path="images/OpenClaw-Telegram/85be2352-3788-4d21-815e-6a46b2754ca7.png" />

Type `/newbot`. Follow the prompt to set a unique **Bot username** that must end with `bot` (e.g., `my_evolink_bot`).

Once created, BotFather will return a message containing a **Token** in this format:

```
123456789:ABCdefGHIjklMNOpqrsTUVwxyz
```

Copy and save this Token.

### 3. Enter Token

Go back to the terminal onboarding flow, paste the Bot Token into the prompt and confirm:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/ScreenShot_2026-02-08_015805_685.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=235c62263e926bd698f3497f059da6cd" alt="Enter Token" width="1556" height="1758" data-path="images/OpenClaw-Telegram/ScreenShot_2026-02-08_015805_685.png" />

### 4. Restart Gateway

After entering the Token, restart the Gateway to apply the configuration:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/510f6a5a-8d41-41f7-9277-35486140cb78.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=8e73a3402f695359d1a3008f7d884854" alt="Restart Gateway" width="1382" height="1304" data-path="images/OpenClaw-Telegram/510f6a5a-8d41-41f7-9277-35486140cb78.png" />

## Step 4: Configure EvoLink API

### 1. Locate Config File

Locate the `openclaw.json` configuration file in the OpenClaw installation directory and open it for editing:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/ed6bc6af-f91c-4739-9e87-8710510d978b.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=34387862e93b16404ffbe19ea0ec5ea2" alt="Locate Config File" width="582" height="438" data-path="images/OpenClaw-Telegram/ed6bc6af-f91c-4739-9e87-8710510d978b.png" />

### 2. Configure Model Provider

In `openclaw.json`, find the `models` field and add EvoLink as a custom model provider:

```json theme={null}
"models": {
  "providers": {
    "evolink-anthropic": {
      "api": "anthropic-messages",
      "baseUrl": "https://direct.evolink.ai",
      "apiKey": "your-evolink-api-key",
      "models": [
        { "id": "claude-opus-4-7", "name": "Claude Opus 4.7" },
        { "id": "claude-opus-4-6", "name": "Claude Opus 4.6" },
        { "id": "claude-sonnet-4-6", "name": "Claude Sonnet 4.6" },
        { "id": "claude-opus-4-5-20251101", "name": "Claude Opus 4.5" },
        { "id": "claude-opus-4-1-20250805", "name": "Claude Opus 4.1" },
        { "id": "claude-sonnet-4-5-20250929", "name": "Claude Sonnet 4.5" },
        { "id": "claude-sonnet-4-20250514", "name": "Claude Sonnet 4" },
        { "id": "claude-haiku-4-5-20251001", "name": "Claude Haiku 4.5" }
      ]
    },
    "evolink-google": {
      "api": "google-generative-ai",
      "baseUrl": "https://direct.evolink.ai/v1beta",
      "apiKey": "your-evolink-api-key",
      "models": [
        { "id": "gemini-3.1-flash-lite-preview", "name": "Gemini 3.1 Flash Lite" },
        { "id": "gemini-3.1-pro-preview", "name": "Gemini 3.1 Pro" },
        { "id": "gemini-2.5-pro", "name": "Gemini 2.5 Pro" },
        { "id": "gemini-2.5-flash", "name": "Gemini 2.5 Flash" },
        { "id": "gemini-3-pro-preview", "name": "Gemini 3.0 Pro" },
        { "id": "gemini-3-flash-preview", "name": "Gemini 3.0 Flash" }
      ]
    },
    "evolink-openai": {
      "api": "openai-completions",
      "baseUrl": "https://direct.evolink.ai/v1",
      "apiKey": "your-evolink-api-key",
      "models": [
        { "id": "gpt-5.4", "name": "GPT-5.4" },
        { "id": "gpt-5.2", "name": "GPT-5.2" },
        { "id": "gpt-5.1", "name": "GPT-5.1" },
        { "id": "gpt-5.1-chat", "name": "GPT-5.1 Chat" },
        { "id": "gpt-5.1-thinking", "name": "GPT-5.1 Thinking" },
        { "id": "gemini-2.5-pro", "name": "Gemini 2.5 Pro (OpenAI SDK)" },
        { "id": "gemini-2.5-flash", "name": "Gemini 2.5 Flash (OpenAI SDK)" },
        { "id": "gemini-3-pro-preview", "name": "Gemini 3.0 Pro (OpenAI SDK)" },
        { "id": "gemini-3-flash-preview", "name": "Gemini 3.0 Flash (OpenAI SDK)" },
        { "id": "doubao-seed-2.0-pro", "name": "Doubao Seed 2.0 Pro" },
        { "id": "doubao-seed-2.0-lite", "name": "Doubao Seed 2.0 Lite" },
        { "id": "doubao-seed-2.0-mini", "name": "Doubao Seed 2.0 Mini" },
        { "id": "doubao-seed-2.0-code", "name": "Doubao Seed 2.0 Code" },
        { "id": "kimi-k2-thinking", "name": "Kimi K2 Thinking" },
        { "id": "kimi-k2-thinking-turbo", "name": "Kimi K2 Thinking Turbo" }
      ]
    }
  }
}
```

<Warning>
  Replace `"your-evolink-api-key"` with the actual API Key from your [EvoLink Dashboard](https://evolink.ai/dashboard).
</Warning>

<img src="https://mintcdn.com/muyutechnology/UXWm3z0MosVoxl9R/images/OpenClaw-Telegram/b362e8be-3a83-47ea-b84c-5fcfb5658e7f.png?fit=max&auto=format&n=UXWm3z0MosVoxl9R&q=85&s=fff12fc55f7b8c56ff4d21189d305ffb" alt="Configure Model" width="823" height="571" data-path="images/OpenClaw-Telegram/b362e8be-3a83-47ea-b84c-5fcfb5658e7f.png" />

### 3. Configure Default Model

In the `agents` field, set `model.primary` to the EvoLink model you just added:

```json theme={null}
"model": {
  "primary": "evolink-anthropic/claude-opus-4-6"
}
```

<img src="https://mintcdn.com/muyutechnology/vltN_QIDGKI6Yi2Q/images/OpenClaw-Telegram/78216831-b8da-43c3-b507-f13bba880504.png?fit=max&auto=format&n=vltN_QIDGKI6Yi2Q&q=85&s=588ceb46be9278f00bc95432fcce503d" alt="Configure Default Model" width="1010" height="582" data-path="images/OpenClaw-Telegram/78216831-b8da-43c3-b507-f13bba880504.png" />

### 4. Verify Telegram Configuration

Verify the Telegram configuration in the `channels` field. The `botToken` was automatically filled in during the onboarding flow and does not need to be changed:

```json theme={null}
"channels": {
  "telegram": {
    "enabled": true,
    "botToken": "your-bot-token (auto-filled)",
    "dmPolicy": "pairing",
    "groups": { "*": { "requireMention": true } }
  }
}
```

* `enabled`: Enable the Telegram channel
* `dmPolicy`: Set to `"pairing"`, unauthorized users must verify via pairing code when sending DMs
* `groups`: `"*"` allows all groups, `requireMention` set to `true` means the Bot only responds when @mentioned in groups

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/0bde6676-6a12-4073-ba74-e2b60986e8c3.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=bb28d72954c216850a5556a7be7e65a2" alt="Telegram Configuration" width="1190" height="334" data-path="images/OpenClaw-Telegram/0bde6676-6a12-4073-ba74-e2b60986e8c3.png" />

## Step 5: Verify Connection

### 1. Visit Your Bot

Search for the Bot username you just created in Telegram and open the chat:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/TelegramOpenBot.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=085f0c8e0eaac4a216a0a9999a5f96f2" alt="Visit Bot" width="1644" height="790" data-path="images/OpenClaw-Telegram/TelegramOpenBot.png" />

### 2. Get Pairing Code

Send `/start` to the Bot. It will return a pairing code:

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/TelegramOpenBot2.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=9241dae6649b8baf3118638f6975ea51" alt="Get Pairing Code" width="1040" height="608" data-path="images/OpenClaw-Telegram/TelegramOpenBot2.png" />

### 3. Complete Pairing

Open a **new terminal window** and run the following command to complete pairing:

```bash theme={null}
openclaw pairing approve telegram <pairing-code>
```

<Warning>
  Replace `<pairing-code>` with the actual code returned by the Bot. Make sure to remove the angle brackets `<>`.
</Warning>

<img src="https://mintcdn.com/muyutechnology/9zwrwFbHVtE0nZ-d/images/OpenClaw-Telegram/ScreenShot_2026-02-08_021312_775.png?fit=max&auto=format&n=9zwrwFbHVtE0nZ-d&q=85&s=7ace56164fe3f81ed973e60e471343e0" alt="Complete Pairing" width="1988" height="274" data-path="images/OpenClaw-Telegram/ScreenShot_2026-02-08_021312_775.png" />

### 4. Test Connection

Go back to the original terminal window and type the following to test if the connection is working:

```
Wake up, my friend!
```

<img src="https://mintcdn.com/muyutechnology/vltN_QIDGKI6Yi2Q/images/OpenClaw-Telegram/ScreenShot_2026-02-08_020627_904.png?fit=max&auto=format&n=vltN_QIDGKI6Yi2Q&q=85&s=cd3be1b55d8d636ed0e8fbab04ec3da2" alt="Test Connection" width="6336" height="2688" data-path="images/OpenClaw-Telegram/ScreenShot_2026-02-08_020627_904.png" />

Once pairing is complete, sending messages to the Bot in Telegram will also receive AI responses, confirming the integration is successful.
