April 1, 2026

Tutorial: Setup OpenClaw + Telegram dari Nol

Tutorial: Setup OpenClaw + Telegram dari Nol — Bikin Multi AI Assistant di Satu Group

Dari install sampai punya 6+ AI assistant spesialis di satu Telegram Group. Lengkap dengan contoh system prompt.

Artikel ini adalah companion guide dari Saya Bikin 6 AI Assistant di Satu Telegram Group. Kalau di artikel itu saya cerita apa dan kenapa, di sini saya tunjukkan bagaimana.


Prerequisites

Sebelum mulai, pastikan sudah punya:

  • macOS atau Linux (OpenClaw berjalan di local machine)
  • Node.js v18+ (rekomendasi: gunakan nvm)
  • Anthropic API Key — daftar di console.anthropic.com
  • Telegram Account — untuk membuat bot dan group

Step 1: Install OpenClaw

npm install -g openclaw

Verifikasi instalasi:

openclaw --version

Jalankan Onboarding

openclaw onboard

Onboarding wizard akan memandu kamu melalui:

  1. Setup model — pilih provider (Anthropic) dan masukkan API key
  2. Setup workspace — lokasi file kerja agent (default: ~/.openclaw/workspace)
  3. Pilih tool profile — pilih coding untuk akses penuh ke CLI tools

Setelah selesai, OpenClaw sudah bisa dipakai via terminal. Tapi kita mau lebih dari itu — kita mau koneksikan ke Telegram.


Step 2: Buat Telegram Bot

2.1 Buat Bot via BotFather

  1. Buka Telegram, cari @BotFather
  2. Kirim /newbot
  3. Ikuti instruksi:
    • Masukkan nama bot (misal: MamangAI)
    • Masukkan username bot (misal: mamangclaw_bot)
  4. Catat Bot Token yang diberikan BotFather — format-nya seperti: 1234567890:ABCdefGhIjKlMnOpQrStUvWxYz

2.2 Konfigurasi Bot Settings

Masih di BotFather, setup beberapa hal:

/mybots → Pilih bot → Bot Settings → Group Privacy → Turn OFF

Penting: Matikan Group Privacy agar bot bisa membaca semua pesan di group, bukan hanya yang mention bot.


Step 3: Buat Telegram Group dengan Topics

3.1 Buat Group

  1. Buka Telegram → New Group
  2. Beri nama (misal: Warsono & MamangAI)
  3. Tambahkan bot kamu sebagai member

3.2 Aktifkan Topics

  1. Buka Group Settings
  2. Scroll ke Topics → Aktifkan
  3. Otomatis akan muncul topic General

3.3 Buat Bot sebagai Admin

  1. Group Settings → Administrators → Add Administrator
  2. Pilih bot kamu
  3. Berikan permission yang diperlukan (minimal: Read Messages, Send Messages)

3.4 Buat Topics

Buat topics sesuai kebutuhan. Contoh setup saya:

  • General (otomatis ada, ID: 1)
  • Finance — klik New Topic → beri nama "Finance"
  • Coding — klik New Topic → beri nama "Coding"
  • Expense Tracker — klik New Topic → beri nama "Expense Tracker"
  • Code Review — klik New Topic → beri nama "Code Review"
  • Clockify — klik New Topic → beri nama "Clockify"

3.5 Catat Group ID dan Topic IDs

Untuk mendapatkan Group ID, cara termudah:

  1. Buka web.telegram.org
  2. Buka group kamu
  3. Lihat URL — format-nya: https://web.telegram.org/a/#-100XXXXXXXXXX
  4. Angka setelah # adalah Group ID (termasuk tanda minus)

Untuk Topic ID, klik topic tertentu dan lihat di URL atau bisa juga langsung tanya ke bot setelah terkoneksi nanti.


Step 4: Koneksikan OpenClaw ke Telegram

Edit file konfigurasi OpenClaw:

nano ~/.openclaw/openclaw.json

Tambahkan atau edit bagian channels.telegram:

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "ISI_BOT_TOKEN_DARI_BOTFATHER",
      "dmPolicy": "pairing",
      "groupPolicy": "allowlist",
      "groups": {
        "-100XXXXXXXXXX": {
          "requireMention": false,
          "groupPolicy": "open"
        }
      }
    }
  }
}

Penjelasan:

  • botToken — token dari BotFather
  • dmPolicy: "pairing" — DM ke bot perlu pairing dulu (security)
  • groupPolicy: "allowlist" — hanya group yang terdaftar yang bisa interact
  • requireMention: false — bot merespon semua pesan, tidak perlu di-mention
  • groupPolicy: "open" — semua member group bisa interact dengan bot

Jalankan OpenClaw

openclaw gateway start

Coba kirim pesan di group — bot seharusnya sudah merespon! 🎉


Step 5: Setup System Prompt per Topic

Ini bagian yang paling seru. Setiap topic bisa punya system prompt berbeda, artinya setiap topic jadi asisten spesialis.

Edit ~/.openclaw/openclaw.json, tambahkan topics di dalam group config:

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "ISI_BOT_TOKEN",
      "groups": {
        "-100XXXXXXXXXX": {
          "requireMention": false,
          "groupPolicy": "open",
          "topics": {
            "1": {
              "systemPrompt": "..."
            },
            "2": {
              "systemPrompt": "..."
            }
          }
        }
      }
    }
  }
}

Key di topics adalah Topic ID (string). Berikut contoh system prompt yang saya gunakan:

General (Topic ID: 1)

Ini adalah topic General. Kamu bisa membahas apa saja di sini.
Jawab dengan santai dan helpful.

Finance (Topic ID: 2)

Ini adalah topic Finance. Fokus pada pembahasan keuangan:
budgeting, investasi, saving, crypto, saham, financial planning,
dan topik finansial lainnya. Berikan analisis dan saran yang practical.

Coding (Topic ID: 14)

Ini adalah topic Coding. Fokus pada programming, software development,
debugging, code review, dan topik teknis lainnya. Berikan code examples
yang jelas dan penjelasan yang mudah dipahami.

Expense Tracker (Topic ID: 100)

Ini adalah topic Expense Tracker. Bantu user mencatat dan melacak
pengeluaran harian. Ketika user menyebut pengeluaran (misal 'makan siang
35rb', 'grab 25k', 'kopi 18.000'), catat dengan rapi. Bisa juga diminta
rekap harian/mingguan/bulanan, kategorisasi pengeluaran (makan, transport,
hiburan, dll), dan analisis pola spending. Format pencatatan yang konsisten
dan mudah dibaca.

Code Review (Topic ID: 42)

Ini adalah topic Code Review untuk review Pull Request / Merge Request.
Kamu punya akses ke GitLab CLI (glab) yang terkoneksi ke git.gits.id.
Ketika user memberikan link MR atau menyebut MR number, gunakan
`glab mr view <number> --repo <project>` dan
`glab mr diff <number> --repo <project>` untuk fetch detail dan diff-nya.

Review mencakup:
1) Bug atau error potensial
2) Security issues
3) Performance concerns
4) Code style dan best practices
5) Saran improvement

Gunakan severity: 🔴 Critical, 🟡 Warning, 💡 Suggestion.

Calendar (Topic ID: 141)

Ini adalah topic Calendar. Fokus sebagai asisten kalender dan jadwal kerja.
Kamu terkoneksi ke Google Calendar (personal & work) via gog CLI.

Bantu user untuk:
1) Cek jadwal hari ini/besok/minggu ini
2) Buat event/meeting baru
3) Update atau cancel event
4) Set reminder untuk meeting penting
5) Cek conflict jadwal antar calendar
6) Rekap agenda harian/mingguan

Selalu konfirmasi sebelum membuat atau mengubah event.
Format waktu pakai WIB (Asia/Jakarta).

Email (Topic ID: 158)

Ini adalah topic Email. Kamu terkoneksi ke Gmail (personal & work)
via gog CLI.

Bantu user untuk:
1) Cek inbox dan unread emails
2) Baca dan summarize email penting
3) Search email berdasarkan keyword/sender/date
4) Draft dan kirim email (selalu konfirmasi sebelum send)
5) Reply atau forward email
6) Rekap email penting harian

Default cek work email kecuali diminta spesifik.
Format waktu pakai WIB (Asia/Jakarta).

System prompt di atas bisa berdiri sendiri, tapi kekuatan sebenarnya muncul ketika OpenClaw terkoneksi ke CLI tools. Berikut beberapa yang saya pakai:

6.1 glab CLI — GitLab Integration

glab adalah CLI resmi GitLab. Ini yang dipakai oleh topic Code Review.

# Install via Homebrew
brew install glab

# Login ke GitLab self-hosted
glab auth login --hostname git.example.com

Saat login:

  1. Pilih Token sebagai authentication method
  2. Buat Personal Access Token di GitLab:
    • Settings → Access Tokens → New Token
    • Scope: api, read_repository, write_repository
    • Copy token dan paste di terminal

Verifikasi:

glab auth status

Sekarang topic Code Review bisa menjalankan glab mr view, glab mr diff, dan command lainnya secara langsung.

6.2 gog CLI — Google Workspace Integration

gog memungkinkan OpenClaw mengakses Google Calendar, Gmail, Google Sheets, dan lainnya.

npm install -g gog-cli

Setup OAuth:

  1. Buat project di Google Cloud Console
  2. Enable API yang dibutuhkan:
    • Google Calendar API — untuk topic Calendar
    • Gmail API — untuk topic Email
    • Google Sheets API — untuk topic Finance/Expense Tracker (data storage)
  3. Buat OAuth 2.0 Client ID (Desktop App)
  4. Download credentials.json
# Jalankan auth flow
gog auth login

Browser akan terbuka untuk OAuth consent. Setelah authorize, gog siap dipakai.

Verifikasi:

# Cek calendar events
gog calendar list

# Cek email
gog gmail list --unread

6.3 Clockify CLI (Opsional)

Untuk integrasi Clockify (time tracking):

  1. Dapatkan API key dari Clockify Settings
  2. Konfigurasi di workspace OpenClaw

Step 7: Restart dan Test

Setelah semua konfigurasi selesai:

# Restart OpenClaw gateway
openclaw gateway restart

# Cek status
openclaw status

Test setiap topic:

  1. General → Kirim "Halo!" — bot harus respon santai
  2. Coding → Kirim "Jelaskan async/await di JavaScript" — respon fokus coding
  3. Finance → Kirim "Tips budgeting untuk gaji 10 juta" — respon financial advisor
  4. Expense Tracker → Kirim "Makan siang 35rb" — bot catat pengeluaran
  5. Code Review → Kirim "Review MR !123 di project xyz" — bot fetch dari GitLab
  6. Calendar → Kirim "Jadwal hari ini" — bot baca Google Calendar

Tips dan Troubleshooting

Bot tidak merespon di group?

  • Pastikan Group Privacy sudah OFF di BotFather
  • Pastikan bot adalah admin di group
  • Pastikan Group ID benar (termasuk prefix -100)
  • Cek log: openclaw gateway status

Topic ID tidak ketemu?

Cara paling mudah: kirim pesan di topic yang ingin kamu cari ID-nya, lalu tanya bot "berapa topic ID ini?" — metadata pesan mengandung informasi topic ID.

System prompt tidak berpengaruh?

  • Pastikan Topic ID di config sesuai (dalam format string: "1", bukan 1)
  • Restart gateway setelah edit config: openclaw gateway restart

Rate limit / API error?

  • Cek sisa quota Anthropic API di console.anthropic.com
  • Pertimbangkan gunakan model yang lebih murah untuk topic General (misal Haiku)

Arsitektur Final

┌─────────────────────────────────────────┐
│          Telegram Group (Topics)         │
├──────────┬──────────┬──────────┬────────┤
│ General  │ Finance  │ Coding   │ ...    │
│ Topic #1 │ Topic #2 │ Topic #14│        │
└────┬─────┴────┬─────┴────┬─────┴────┬───┘
     │          │          │          │
     └──────────┴──────────┴──────────┘
                     │
              ┌──────┴──────┐
              │   Telegram   │
              │   Bot API    │
              └──────┬──────┘
                     │
              ┌──────┴──────┐
              │   OpenClaw   │
              │   Gateway    │
              └──────┬──────┘
                     │
         ┌───────────┼───────────┐
         │           │           │
    ┌────┴────┐ ┌────┴────┐ ┌───┴────┐
    │ Claude  │ │  glab   │ │  gog   │
    │  (LLM)  │ │ (GitLab)│ │(Google)│
    └─────────┘ └─────────┘ └────────┘

Setiap topic punya system prompt sendiri → OpenClaw routing berdasarkan Topic ID → AI merespon dengan konteks dan tools yang sesuai.


Penutup

Keseluruhan setup ini bisa selesai dalam 1-2 jam kalau sudah familiar dengan terminal dan API setup. Yang paling memakan waktu biasanya adalah crafting system prompt yang tepat — tapi itu juga yang paling fun.

Setelah semua jalan, kamu punya multi-agent workspace di Telegram yang bisa diakses dari mana saja — laptop, HP, tablet. No context switching, no extra apps.

Selamat mencoba! 🚀


Baca juga: Saya Bikin 6 AI Assistant di Satu Telegram Group — dan Produktivitas Saya Meledak