TAB 1 — QUICK START

One agent. Thirty minutes.

Get a working AI agent on Telegram in 30 minutes — using Claude Code as your copilot. No prior terminal experience required.
30 min
Setup time
$25–45
Monthly cost
Copy & paste
Skill required
You want to see if this is for you. This guide gets you from zero to a working AI agent responding to your Telegram messages in about 30 minutes. No hardening, no Cloudflare, no identity files — just a bot that works. You'll use Claude Code as your copilot to do most of the work, so you don't need to understand every command. You just need to be able to copy-paste and approve.

All prices shown in AUD. Use the currency selector at the top to switch — the guide updates everywhere.

What you'll have at the end

A single OpenClaw agent running on a cheap cloud server, responding to your Telegram messages with Claude Sonnet as its brain. You talk to it like a person. It remembers context within a conversation. It can search the web, read files, and use tools.

About the “brain”: Claude Sonnet is Anthropic's mid-tier model — fast, capable, cost-effective. You can swap in different models later (Claude Opus for deeper reasoning, Claude Haiku for cheaper/faster responses, or local models via Ollama for privacy). See Tab 6 (Models & Cost Optimisation) for the full comparison. For now, Sonnet is the right default — it handles 90% of personal agent work beautifully.

Total cost

ItemCost (AUD)
Cloud server (Hetzner CAX21)~$18/month
Claude API (Sonnet, light personal use)~$8–25/month
Total~$25–45/month

What you need before you start

  • A computer (Mac, Linux, or Windows with WSL)
  • A Telegram account (free, on your phone)
  • An Anthropic account with API credits loaded (~$8 AUD minimum to start) — sign up at console.anthropic.com
  • A Hetzner Cloud account — sign up at console.hetzner.cloud (you'll need a payment method)
  • 30–45 minutes of uninterrupted time
A word on credential management

Throughout this guide, you'll create tokens, API keys, and passwords. Record each one as you create it — don't wait until the end or you'll forget which is which. Best practice is a password manager like 1Password (with a tag like agent-board so you can find them all later), but if you don't have one, your phone's Notes app works fine for this quick start.

Step 1: Create your Telegram bot (3 minutes)

  1. Open Telegram on your phone
  2. Search for @BotFather and start a conversation
  3. Send /newbot
  4. BotFather asks for a name — type whatever you want your agent to be called (e.g. “Atlas” or “Friday” or “Jarvis”)
  5. BotFather asks for a username — must end in bot (e.g. my_atlas_bot)
  6. BotFather gives you a bot token — it looks like 7123456789:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  7. Save this token right now (in your password manager or the “Your build” form above)
  8. Save your own Telegram user ID. Send /start to @userinfobot — it'll reply with your numeric ID. Save this too.

That's it for Telegram. You now have a bot and a token.

Step 2: Create your cloud server (5 minutes)

  1. Log into console.hetzner.cloud
  2. Click + Create Server
  3. Choose:
  • Location: Helsinki (or wherever is closest and available in Europe)
  • Image: Ubuntu 24.04
  • Type: CAX21 (4 vCPU, 8 GB RAM, ARM64) — ~$18 AUD/month
  • SSH Key: If you have one, add it. If you don't know what this means, Hetzner will email you a root password instead.
  • Name: anything memorable (e.g. agent-01)
  1. Click Create & Buy Now
  2. Wait ~30 seconds. Copy the IP address from the server overview page and save it (in your password manager or the “Your build” form above).

Step 3: Let Claude Code build it for you (15–20 minutes)

This is where the copilot pattern kicks in. Instead of copy-pasting 20+ commands yourself, you'll install Claude Code on the server and let it drive the installation while you approve each step.

Why this matters

If you've never used a terminal before, running commands blind is scary. Claude Code shows you what it's about to do, explains it if you ask, and waits for your approval before making changes. You learn as you go, without the risk of running something you don't understand. This is the real superpower — and you should get comfortable with it now, because the Full Build (Tab 2) relies on it heavily.

3a. Connect to your server

Open a terminal (Terminal on Mac, PowerShell or WSL on Windows):

bash
ssh root@YOUR_IP_ADDRESS

Accept the host key fingerprint (type yes). If you used a password instead of an SSH key, paste the password Hetzner emailed you.

You're now on the server. The prompt will look like root@agent-01:~#.

3b. Create a non-root user (one bundled block)

Paste this entire block and press Enter. It creates a user called agent, gives it sudo access, copies your SSH key so you can log in as agent later, and adds temporary passwordless sudo so Claude Code doesn't get stuck on password prompts:

bash
adduser --gecos "" --disabled-password agent && \
usermod -aG sudo agent && \
mkdir -p /home/agent/.ssh && \
cp /root/.ssh/authorized_keys /home/agent/.ssh/authorized_keys 2>/dev/null && \
chown -R agent:agent /home/agent/.ssh && \
chmod 700 /home/agent/.ssh && \
chmod 600 /home/agent/.ssh/authorized_keys 2>/dev/null && \
echo "agent ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/agent-nopasswd && \
chmod 440 /etc/sudoers.d/agent-nopasswd && \
echo "User 'agent' created with passwordless sudo (temporary for this build)"

We'll remove the passwordless sudo at the end.

3c. Install Node.js 24, pnpm, and Claude Code (one bundled block)

Switch to the agent user:

bash
su - agent

Then paste this block:

bash
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && \
sudo DEBIAN_FRONTEND=noninteractive apt install -y nodejs && \
sudo npm install -g pnpm && \
curl -fsSL https://claude.ai/install.sh | bash && \
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && \
source ~/.bashrc && \
echo "Installation complete. Node: $(node --version), pnpm: $(pnpm --version), Claude: $(claude --version)"

This installs Node.js 24, pnpm, and Claude Code in one go. You should see version numbers confirming everything installed correctly.

3d. Authenticate Claude Code

Start Claude Code for the first time:

bash
claude

It'll show a URL and ask you to authenticate. Copy the URL, open it in your browser, log into your Anthropic account, and authorise the device. The terminal will detect the auth completed automatically.

If you have Claude Max or Pro, the OAuth flow uses your subscription (no extra cost beyond your subscription). If you only have API credits, you'll need to set ANTHROPIC_API_KEY in your environment first. Most people should use OAuth.

3e. Give Claude Code the one-shot build prompt

Once Claude Code is at the prompt, paste this verbatim as your first message (replacing YOUR_TELEGRAM_USER_ID with the numeric ID you got from @userinfobot in Step 1):

▶ Claude Code Prompt
I need you to install and configure OpenClaw (an AI agent framework) on this server. Please do the following: 1. Install OpenClaw globally via pnpm: pnpm add -g @openclaw/cli 2. Create the config directory at ~/.openclaw 3. Run "openclaw init" to generate the default config 4. Edit ~/.openclaw/openclaw.json to enable Telegram with these settings: - gateway.mode = "local" - channels.telegram.enabled = true - channels.telegram.token.source = "env", provider = "default", id = "TELEGRAM_BOT_TOKEN" - channels.telegram.dmPolicy = "allowlist" - channels.telegram.allowFrom = ["YOUR_TELEGRAM_USER_ID"] - models.default = "claude-sonnet-4-6" 5. Create ~/.openclaw/.env with placeholders for ANTHROPIC_API_KEY and TELEGRAM_BOT_TOKEN (I'll fill them in manually) 6. Show me each command before running anything that modifies system state. Group related commands into single approval requests where sensible. After you've created the files, stop and tell me what to fill in.

Claude Code will read this, ask for approval on each step, and build the configuration while you watch. This takes ~5–10 minutes including the approval flow. Take your time approving each step — read what Claude Code is about to do before saying yes. This is where you build the habit for the Full Build.

3f. Fill in your secrets

Claude Code will pause and tell you to edit ~/.openclaw/.env. Either let Claude Code do it (paste your keys in the chat) or do it yourself:

bash
nano ~/.openclaw/.env

Paste your two credentials:

bash
ANTHROPIC_API_KEY=sk-ant-your-key-here
TELEGRAM_BOT_TOKEN=your-telegram-bot-token-here

Save with Ctrl+O, Enter, Ctrl+X.

3g. Start the agent

Tell Claude Code:

▶ Claude Code Prompt
Start the OpenClaw gateway and verify it's running. Show me the output so I can confirm the Telegram provider connected.

Step 4: Test it (2 minutes)

Open Telegram on your phone. Find your bot (search for the username you created in Step 1). Send it a message:

Hey, what can you do?

If everything is wired correctly, you'll get a response within a few seconds from Claude Sonnet, speaking through your bot.

If it doesn't respond — let Claude Code diagnose

▶ Claude Code Prompt
The bot isn't responding in Telegram. Please check the service logs and diagnose the issue. If you find the problem, show me the fix before applying it.

The three most common issues are:

  1. Wrong Telegram bot token (double-check the token in .env)
  2. Wrong Anthropic API key or no credits loaded
  3. Your Telegram user ID doesn't match the allowFrom list in the config

All three are things Claude Code can fix with your approval.

Step 5: Make it run permanently (5 minutes)

Right now, if you close your terminal, the agent dies. Tell Claude Code:

▶ Claude Code Prompt
Please set up OpenClaw as a system-level systemd service so it runs permanently and starts automatically on boot. Use the "agent" user and group. Make sure the service loads the .env file at /home/agent/.openclaw/.env. After creating it, enable it, start it, and show me the status.

You should see active (running). Your agent is now running permanently.

Step 6: Clean up (2 minutes)

▶ Claude Code Prompt
Please remove the temporary passwordless sudo file at /etc/sudoers.d/agent-nopasswd. This was only needed during the build. After removing it, verify sudo still works by asking me to set a password for the agent user if needed.

You're done.

You now have:

  • A cloud server running 24/7 for ~$18 AUD/month
  • An AI agent connected to Telegram
  • Claude Sonnet as the brain
  • Accessible from your phone, anywhere
  • Claude Code installed for ongoing maintenance and expansion

Send it another message. Try:

  • “Summarise the top 3 news stories today”
  • “Draft a short email declining a meeting invitation”
  • “What's the weather in my city today?”

What you just learned (and why it matters for the Full Build)

Everything you did from Step 3 onwards was driven by Claude Code as your copilot. You didn't need to know what systemd is, how to write a unit file, or how the OpenClaw config schema works. You described what you wanted, approved the plan, and watched it happen.

This is the core pattern of the Full Build too. You just practised it on a low-stakes setup. The Full Build uses exactly the same rhythm, just across more sections and with more safety rails.

If this Quick Start felt comfortable, you're ready for the Full Build. If it felt overwhelming, read Tab 4 (Using Claude as Your Copilot) first to build your mental model.

What's missing (and why you might want the Full Build)

This Quick Start gives you a working agent. The Full Build adds:

  • System hardening — locks down the server with firewalls, fail2ban, and key-only SSH
  • Identity files (SOUL.md) — teaches the agent who you are and how you work
  • A second agent — see Tab 3 for the comparison
  • Discord integration — structured channels, bot-to-bot collaboration
  • Cloudflare Tunnel — secure access without opening ports
  • Memory system — context across conversations
  • Scheduled tasks — daily briefings, inbox triage, market scans
  • Model flexibility — see Tab 6