OpenClaw Hands-on Practice
This chapter ties everything together with one complete example: from install to a self-running Telegram personal assistant.
Goal
Build an OpenClaw assistant that:
- Chats and runs tasks normally in the Dashboard
- Connects to Telegram for remote control
- Uses Heartbeat to proactively push to-dos and an email summary at 8 AM daily
- Has tool-policy approval enabled and stays securely updated
Step 1: Install (Node 22+)
Confirm Node is 22+. After installing, do a security update check to ensure the version is ≥ 2026.1.29 (see Security).
Step 2: Initialize & Dashboard
Open http://127.0.0.1:18789/ in the browser and try:
Step 3: Configure the Model
Set the provider and model during onboarding or in openclaw.json, and configure a fallback chain:
Put keys in environment variables:
Step 4: Tighten Tool Policies (Security First)
In openclaw.json, set tool policies as tight as possible:
- Reads pass automatically
- Sends / deletes / writes / shell writes all require approval
Verify the policy on a low-risk task in the Dashboard first:
Observe whether it requests approval before writing the file.
Step 5: Connect Telegram
Create a bot via @BotFather to get a token, connect the Telegram channel in onboarding/Dashboard, and put the token in an environment variable:
Set a user allowlist so only your account can command it.
Message the bot on Telegram to confirm connectivity:
Step 6: A Daily Brief via Heartbeat
Create/edit HEARTBEAT.md in the workspace:
Confirm Heartbeat is enabled (wakes roughly every 30 minutes by default). Now the assistant reports on time without you asking.
Step 7: Distill into a Skill
Solidify the multi-step flow into a reusable SKILL.md:
Then let the heartbeat or you invoke it manually.
Step 8: Back Up Memory with Git
Verification Checklist
Going Further
- Add a Webhook: real-time alerts on CI failure
- Add a browser skill: auto-scrape and organize material
- Create a second workspace dedicated to DevOps, with its own
HEARTBEAT.md - Need stronger vector memory / self-improvement? Migrate to the sibling Hermes Agent
Next Steps
- Use Cases — more reproducible plays
- CLI & Automation — go deeper on autonomy
- Resources — official and community