Quickstart — Get Your Agent Org Running
This gets you from zero to a running CEO persona in 15 commands. No choices until you have something working. Customization comes after.
Time to complete: 15–20 minutes
Default persona: CEO
Prerequisites: macOS or Linux, Node.js 18+, a Telegram account
Step 1: Install OpenClaw
npm install -g openclaw
Verify:
openclaw --version
Step 2: Start the gateway
openclaw gateway start
openclaw gateway status
The gateway should show running. This is the process that handles messages and cron jobs.
Step 3: Configure Telegram
Create a bot via @BotFather on Telegram. Copy the token.
openclaw config set channels.telegram.token "YOUR_BOT_TOKEN"
Get your personal Telegram user ID from @userinfobot. Copy it — you'll need it for crons.
Enable direct messages:
openclaw config set channels.telegram.allowDM true
Restart gateway:
openclaw gateway restart
Send your bot a message: /start. It should respond.
Step 4: Create workspace
mkdir -p ~/.openclaw/workspace/{memory,memory/archive,projects,scripts,docs,personas}
cd ~/.openclaw/workspace
git init
Step 5: Install the CEO persona
Download or clone the ClawGear personas repo, then:
cp personas/ceo/SOUL.md ~/.openclaw/workspace/SOUL.md
cp personas/ceo/AGENTS.md ~/.openclaw/workspace/AGENTS.md
cp personas/ceo/HEARTBEAT.md ~/.openclaw/workspace/HEARTBEAT.md
cp personas/ceo/WAKE_PROTOCOL.md ~/.openclaw/workspace/WAKE_PROTOCOL.md
Step 6: Customize persona files
Replace template variables. Open each file and replace:
| Variable | Replace with |
|---|---|
| {{AGENT_NAME}} | Your agent's name (e.g., "Max") |
| {{OPERATOR_NAME}} | Your name (e.g., "Sarah") |
| {{COMPANY_NAME}} | Your company (e.g., "Acme Corp") |
| {{PROJECT_NAME}} | Your main project folder (e.g., "main") |
Quick replace:
AGENT=Max OPERATOR=Sarah COMPANY="Acme Corp" PROJECT=main
for f in SOUL.md AGENTS.md HEARTBEAT.md WAKE_PROTOCOL.md; do
sed -i '' \
"s/{{AGENT_NAME}}/$AGENT/g" \
"s/{{OPERATOR_NAME}}/$OPERATOR/g" \
"s/{{COMPANY_NAME}}/$COMPANY/g" \
"s/{{PROJECT_NAME}}/$PROJECT/g" \
~/.openclaw/workspace/$f
done
Step 7: Create MEMORY.md and USER.md
cat > ~/.openclaw/workspace/MEMORY.md << 'EOF'
# MEMORY.md — Max Long-Term Memory
## WHO I AM
- Name: Max
- Workspace: ~/.openclaw/workspace
## SARAH
- Timezone: America/Los_Angeles
- Telegram DM: YOUR_TELEGRAM_ID
- Prefers: brief reports, autonomous action, close the loop
EOF
cat > ~/.openclaw/workspace/USER.md << 'EOF'
# USER.md
- Name: Sarah
- Timezone: America/Los_Angeles
- Telegram DM (chat_id): YOUR_TELEGRAM_ID
EOF
Step 8: Create your first project
mkdir -p ~/.openclaw/workspace/projects/main
cat > ~/.openclaw/workspace/projects/main/PROJECT.md << 'EOF'
# Main Project
Status: Active
Started: $(date +%Y-%m-%d)
EOF
cat > ~/.openclaw/workspace/projects/main/TASKS.md << 'EOF'
# Tasks — Main
## Active
- [ ] Set up agent org and verify working
## Backlog
- [ ] First real task
EOF
touch ~/.openclaw/workspace/projects/main/MEMORY.md
Step 9: Install the briefing script
cp scripts/generate-briefing.sh ~/.openclaw/workspace/scripts/generate-briefing.sh
chmod +x ~/.openclaw/workspace/scripts/generate-briefing.sh
Step 10: Set up your first cron
Replace YOUR_TELEGRAM_ID with your actual Telegram user ID:
openclaw cron add \
--name "ceo-heartbeat" \
--schedule "*/10 * * * *" \
--prompt "Read HEARTBEAT.md if it exists. Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK." \
--channel telegram \
--to "YOUR_TELEGRAM_ID"
Step 11: Verify the heartbeat
openclaw cron list
Wait 10 minutes. You should receive a Telegram message from your bot saying HEARTBEAT_OK or surfacing a task.
Step 12: Send your first message
Send a Telegram DM to your bot:
"What are your top priorities right now?"
It should read SOUL.md, AGENTS.md, projects/main/TASKS.md, and respond with context. If it responds generically without mentioning your project — check that workspace is connected in openclaw.json.
Step 13: Commit your workspace
cd ~/.openclaw/workspace
git add -A
git commit --no-verify -m "init: CEO persona setup"
What you have now
- CEO agent with persistent memory
- Heartbeat cron checking for tasks every 10 minutes
- Morning briefing on weekdays
- Workspace with version control
Next: Customize
Change heartbeat frequency:
openclaw cron remove --name "ceo-heartbeat"
openclaw cron add --name "ceo-heartbeat" --schedule "*/30 * * * *" ...
Add more crons — see personas/ceo/cron-schedule.md for the full recommended set.
Add projects — create new folders under projects/, add to projects/index.json.
Change the persona — swap SOUL.md for a different persona (Solo Founder, Developer, Agency Operator).
Install skills — browse shopclawmart.com for add-on capabilities.
Troubleshooting
Bot doesn't respond:
openclaw gateway status— is it running?openclaw gateway logs— look for delivery errors- Check Telegram token is correct in config
Heartbeat doesn't fire:
openclaw cron list— is cron registered?- Gateway restart wipes crons — re-add them after restart
- Check format:
--channel telegram --to "ID"(not--channel "telegram:ID")
Agent ignores context files:
- Verify
workspaceAccess: truein your Telegram channel config - Check workspace path in openclaw.json matches actual workspace directory
Need help:
- docs/what-is-an-agent-org.md — conceptual overview
- personas/ceo/install.md — detailed install guide