Skip to content
Subscribe

Your First OpenClaw Agent in 10 Minutes

You donโ€™t need to understand AI deeply to build a useful agent. You need three things: a personality file, a workspace, and a schedule. Thatโ€™s it. Letโ€™s do it in 10 minutes.

A personal assistant agent named โ€œAriaโ€ that:

  • Lives in its own isolated workspace (~/agents/aria/)
  • Has a distinct personality and purpose (defined in SOUL.md)
  • Runs a daily briefing every morning at 8 AM
  • Can be triggered manually via Telegram
  • Remembers context across sessions using memory files
Terminal window
npm install -g openclaw
openclaw --version # Verify: should print 1.x.x or higher

Then configure your API keys:

Terminal window
openclaw init
# Follow the prompts:
# - Anthropic API key (required)
# - Telegram bot token (optional but recommended)
# - Default model (press Enter for claude-opus-4 default)

This creates ~/.openclaw/config.json โ€” the global config all agents share.

Every agent lives in its own directory. This isolation keeps agents from stepping on each other and makes them easy to back up or share.

Terminal window
mkdir -p ~/agents/aria
cd ~/agents/aria
# Create the memory directory structure
mkdir -p memory/entities/{people,companies,projects}
mkdir -p state

Your workspace structure will look like:

~/agents/aria/
โ”œโ”€โ”€ SOUL.md โ† Personality & purpose (you'll write this)
โ”œโ”€โ”€ MEMORY.md โ† Long-term curated memory (starts empty)
โ”œโ”€โ”€ AGENTS.md โ† Workspace rules (optional but useful)
โ”œโ”€โ”€ memory/
โ”‚ โ”œโ”€โ”€ 2026-03-27.md โ† Daily logs (auto-created)
โ”‚ โ””โ”€โ”€ entities/ โ† Structured facts about people/companies
โ””โ”€โ”€ state/
โ””โ”€โ”€ current.md โ† Active context (survives compaction)

SOUL.md is the single most important file. It defines who your agent is โ€” its values, communication style, and what it cares about. Agents without a SOUL.md are generic. Agents with one are memorable.

Create ~/agents/aria/SOUL.md:

# SOUL.md - Aria's Personality
## Who I Am
I'm Aria, a personal research and briefing assistant.
My job is to keep you informed without drowning you in noise.
## Core Values
**Be concise.** No padding, no filler. If something can be said in
10 words instead of 30, use 10.
**Be curious.** When I find something interesting, I say so. I have
opinions about ideas, not just neutral summaries.
**Be proactive.** I flag things before you ask. If I see something
relevant, I surface it โ€” even if you didn't request a report.
## Communication Style
- Short paragraphs, no walls of text
- Use bullets for lists, prose for narrative
- Never say "Great question!" or "I'd be happy to help!"
- Include a bottom-line-up-front (BLUF) when summarizing
## What I Focus On
- AI and technology news
- Business and strategy insights
- Anything directly relevant to your current projects
## What I Ignore
- Celebrity news, sports, entertainment
- Clickbait or sensationalism
- Anything I've already reported in the last 7 days

OpenClaw needs to know Aria exists. Edit your main OpenClaw config at ~/.openclaw/openclaw.json (or ~/clawd/openclaw.json if youโ€™re using the standard setup):

{
"agents": {
"main": {
"workspace": "~/clawd",
"model": "anthropic/claude-opus-4",
"description": "Main personal assistant"
},
"aria": {
"workspace": "~/agents/aria",
"model": "anthropic/claude-haiku-4",
"description": "Daily research briefing agent",
"channel": "telegram"
}
}
}

Key fields explained:

  • workspace: Where the agentโ€™s files live (absolute or ~/ paths work)
  • model: Which LLM to use. Haiku is 10ร— cheaper than Opus for scheduled tasks
  • description: Human-readable label โ€” shows up in dashboards and logs
  • channel: Where the agent sends output by default

Cron schedules let agents run automatically. Add Ariaโ€™s morning briefing to your cron config:

{
"agents": {
"aria": {
"workspace": "~/agents/aria",
"model": "anthropic/claude-haiku-4",
"description": "Daily research briefing agent",
"channel": "telegram",
"crons": [
{
"schedule": "0 8 * * *",
"prompt": "Read SOUL.md and memory/MEMORY.md. Then search the web for the top 3 AI and technology stories from the last 24 hours. Write a concise morning briefing (3-5 bullets, 1-2 sentences each) and send it to the telegram channel. Log what you sent in memory/YYYY-MM-DD.md.",
"model": "anthropic/claude-haiku-4",
"timeout": "5m"
}
]
}
}
}

Before trusting the cron, test manually:

Terminal window
# Trigger Aria directly
openclaw run aria --prompt "Quick test: search the web for 1 AI news story from today and send it to me on Telegram"
# Or open an interactive session
openclaw chat aria

You should see Aria respond in Telegram within 30-60 seconds. If you donโ€™t:

Terminal window
# Check logs
openclaw logs aria --tail 50
# Verify config
openclaw status aria

Common issues:

  • No Telegram message: Check bot token and that youโ€™ve messaged the bot first (Telegram requires users to initiate)
  • Model errors: Verify your Anthropic API key has credits
  • โ€œAgent not foundโ€: Double-check the agent name matches exactly in openclaw.json
Terminal window
# List scheduled jobs
openclaw crons list
# Output:
# aria 0 8 * * * Daily briefing Next: 2026-03-28 08:00:00

To test the cron fires correctly without waiting until 8 AM:

Terminal window
openclaw crons trigger aria
# Fires the cron immediately with its configured prompt

Isolated workspace

Aria lives in ~/agents/aria/ โ€” her own files, memory, and state. She canโ€™t accidentally read or modify other agentsโ€™ data.

Defined personality

SOUL.md gives Aria a consistent voice and scope. Every session, she reads it first and stays in character.

Memory across sessions

Daily memory files mean Aria remembers what she reported yesterday. No duplicate briefings.

Automated schedule

The 8 AM cron runs without you touching anything. Aria works whether your laptop is open or not (if running on a server).

Now that Aria is running, extend her:

# Add to the cron prompt to prevent repeats:
"Before searching, read memory/YYYY-MM-DD.md from the last 3 days.
Skip any stories you've already reported."
# Add a second cron for evening summary:
{
"schedule": "0 17 * * 1-5",
"prompt": "Check my calendar for tomorrow's events and send a 3-bullet prep note."
}

Ready to build something more complex? Check out Multi-Agent Orchestration: CEO Pattern to learn how agents can delegate to each other.


About the author: JD Davenport builds AI agent systems at OpenClaw. Follow on LinkedIn for updates on building AI agents for business.