How to Build an AI Agent Team with OpenClaw in 15 Minutes
Most people start with one agent. But the real power of OpenClaw is running multiple agents as a coordinated team. This guide walks you through building a 3-agent content team from scratch — PM, writer, and SEO analyst — with full SOUL.md examples and CLI commands.
A single AI agent can answer questions, draft emails, or summarize documents. That is useful, but it is not transformative. The moment you connect multiple agents into a team — each with a defined role, clear responsibilities, and the ability to hand off tasks — everything changes.
Imagine a PM agent that receives a content brief in Telegram, breaks it into tasks, assigns the writing to a dedicated writer agent, and routes the finished draft to an SEO agent for optimization. No human intervention between steps. The PM tracks progress, the writer produces content, the SEO analyst checks keyword density and meta tags. Three agents, one workflow, zero manual coordination.
This is not a hypothetical scenario. OpenClaw supports multi-agent teams natively. You define each agent with its own SOUL.md personality file, configure the team structure in agents.md, and let the gateway handle communication. Agents can @mention each other, hand off tasks, share context, and work in parallel.
In this guide, you will build a working 3-agent content team in 15 minutes. By the end, you will have a PM agent (Orion), a writer agent (Echo), and an SEO analyst agent (Radar) running together on your machine. Let's get started.
What Is an OpenClaw Agent Team?
An OpenClaw agent team is a group of AI agents running in the same workspace, each with a specialized role, communicating through a shared gateway. Unlike single-agent setups where one agent does everything, a team divides responsibilities so each agent focuses on what it does best.
Here is how the pieces fit together:
- Multiple agents in one workspace: Each agent lives in its own directory under
/agents/, with its own configuration, memory, and session state. They share the same OpenClaw installation but operate independently. - Each agent has its own SOUL.md: The SOUL.md file defines an agent's identity, personality, rules, skills, and tools. A PM agent's SOUL.md looks completely different from a writer agent's SOUL.md. This is what makes each agent specialized.
- agents.md defines the team structure: The AGENTS.md file is the team roster. It lists every agent, their role, which channels they listen on, and how tasks flow between them. Think of it as the org chart for your AI team.
- Agents communicate via @mentions and handoffs: When the PM agent finishes planning, it @mentions the writer agent with the task. The writer completes the draft and @mentions the SEO agent for review. This happens automatically through the gateway.
- Shared memory and context: Agents can access shared files, databases, and context. The PM can write a brief to a shared directory that the writer reads. The SEO agent can update a keyword tracker that the PM monitors.
The result is a system where agents collaborate like a small team of human employees. Each one knows its job, knows who to talk to, and knows when to escalate.
Step 1: Plan Your Team (3-5 Minutes)
Before writing any configuration, decide what your team needs to accomplish and which agents you need. The biggest mistake people make is creating too many agents too early. Start with 2-3 agents that cover your core workflow, then add more as needed.
Common Team Compositions
Here are proven team structures that work well:
- Content team: PM + Writer + SEO Analyst. The PM receives briefs and coordinates, the writer produces content, the SEO agent optimizes for search engines.
- DevOps team: DevOps + QA + Documentation. The DevOps agent manages deployments and infrastructure, QA runs tests and reports bugs, the docs agent keeps documentation updated.
- Research team: Researcher + Analyst + Reporter. The researcher gathers data from multiple sources, the analyst processes and finds insights, the reporter compiles findings into readable reports.
- Support team: Triage + Specialist + Escalation. The triage agent categorizes incoming requests, the specialist handles common issues, and the escalation agent routes complex problems to humans.
What Each Agent Needs
For every agent in your team, define these four things before you start configuring:
- Role: What is this agent responsible for? Be specific. "Writes blog posts based on SEO briefs" is better than "content creation."
- Model: Which LLM powers this agent? Use stronger models (Claude Opus 4.6, GPT-4.1) for complex reasoning tasks and cheaper models (Claude Haiku, GPT-4.1 Mini) for repetitive work.
- Channels: Where does this agent listen for messages? Telegram, Slack, Discord, or internal channels.
- Heartbeat interval: How often does the agent check for new tasks? Every 5 minutes for urgent work, every 30 minutes for background processing.
Our Example: 3-Agent Content Team
For this tutorial, we will build a content team with three agents:
- Orion (PM): Receives content briefs, breaks them into tasks, assigns work, tracks progress. Model: Claude Opus 4.6. Channel: #content-tasks.
- Echo (Writer): Writes blog posts, articles, and social media content based on briefs from Orion. Model: Claude Sonnet 4. Channel: #content-drafts.
- Radar (SEO Analyst): Analyzes keyword opportunities, reviews content for SEO best practices, suggests optimizations. Model: GPT-4.1 Mini. Channel: #seo-review.
Step 2: Create SOUL.md for Each Agent (5 Minutes)
The SOUL.md file is the brain of each agent. It defines who the agent is, what it knows, what rules it follows, and what tools it can use. Every agent in your team needs its own SOUL.md with role-specific instructions.
Create a directory for each agent under your project's /agents/ folder:
mkdir -p agents/orion agents/echo agents/radar
Orion (PM Agent) — agents/orion/SOUL.md
# Orion — Project Manager ## Identity You are Orion, a project manager AI agent. You coordinate the content team, break down briefs into actionable tasks, and ensure deadlines are met. You communicate clearly and concisely. ## Rules 1. When you receive a content brief, break it into subtasks 2. Assign writing tasks to @echo with clear requirements 3. Assign SEO review tasks to @radar after drafts are complete 4. Track task status and follow up on overdue items 5. Never write content yourself — delegate to Echo 6. Summarize progress in #content-tasks daily ## Skills - Task breakdown and prioritization - Deadline tracking and follow-ups - Quality review of completed work - Team coordination via @mentions ## Tools - File system access for reading briefs and tracking tasks - Calendar integration for deadline management - Notification system for urgent escalations ## Communication Style - Direct and action-oriented - Use bullet points for task lists - Always specify deadlines and assignees - Confirm task completion with checkmarks
Echo (Writer Agent) — agents/echo/SOUL.md
# Echo — Content Writer ## Identity You are Echo, a content writer AI agent. You produce high-quality blog posts, articles, and social media content based on briefs from Orion. Your writing is clear, engaging, and optimized for readability. ## Rules 1. Only write content when assigned by @orion 2. Follow the brief exactly — topic, tone, word count, target audience 3. Include headers, subheaders, and bullet points for scannability 4. After completing a draft, notify @radar for SEO review 5. Revise drafts based on feedback from Orion or Radar 6. Never publish content without SEO review approval ## Skills - Long-form blog post writing (1000-3000 words) - Social media copy (Twitter, LinkedIn, Reddit) - Email newsletter drafts - Content revision based on feedback ## Tools - Web search for research and fact-checking - File system for reading briefs and saving drafts - Markdown formatting ## Writing Guidelines - Use short paragraphs (2-3 sentences max) - Lead with the most important information - Include concrete examples and data points - Write at an 8th-grade reading level - Avoid jargon unless the audience expects it
Radar (SEO Agent) — agents/radar/SOUL.md
# Radar — SEO Analyst ## Identity You are Radar, an SEO analyst AI agent. You review content for search engine optimization, identify keyword opportunities, and ensure every piece of content has the best chance of ranking. ## Rules 1. Review all drafts sent by @echo for SEO compliance 2. Check keyword density, meta descriptions, header structure 3. Suggest internal and external link opportunities 4. Flag thin content (under 800 words for blog posts) 5. Report SEO scores and recommendations to @orion 6. Monitor keyword rankings weekly and report changes ## Skills - Keyword research and analysis - On-page SEO auditing - Meta tag optimization - Content gap analysis - Competitor keyword tracking ## Tools - Google Search Console API for ranking data - Web search for keyword research - File system for reading drafts and saving reports ## SEO Checklist - Primary keyword in title, H1, and first paragraph - Secondary keywords in H2s and throughout body - Meta description under 160 characters with keyword - Alt text for all images - Internal links to 2-3 related pages - External links to 1-2 authoritative sources - Minimum 1000 words for blog posts
Tips for Writing Effective SOUL.md Files
- Be specific about boundaries: Tell each agent what it should NOT do. Orion should not write content. Echo should not publish without review. Clear boundaries prevent agents from stepping on each other's toes.
- Use @mentions for handoffs: Reference other agents by name with @ prefix. This tells OpenClaw how to route messages between agents.
- Define output formats: If you want structured outputs (JSON reports, markdown tables, specific file formats), specify them in the SOUL.md. Agents follow formatting instructions reliably.
- Keep rules under 10: Too many rules confuse the model. Focus on the 5-8 most critical behaviors and let the agent figure out the rest from context.
Step 3: Configure AGENTS.md (2 Minutes)
The AGENTS.md file is the team roster and routing table. It tells OpenClaw which agents exist, what they do, and how they communicate. Place this file in your project root.
AGENTS.md Structure
# Team: Content Operations ## Agents ### Orion (PM) - **Role:** Project manager and task coordinator - **Model:** claude-opus-4-6 - **Channels:** #content-tasks, #general - **Heartbeat:** 5 minutes - **Reports to:** Human (via Telegram) - **Delegates to:** @echo (writing), @radar (SEO) ### Echo (Writer) - **Role:** Content writer and editor - **Model:** claude-sonnet-4 - **Channels:** #content-drafts - **Heartbeat:** 10 minutes - **Reports to:** @orion - **Delegates to:** @radar (SEO review) ### Radar (SEO Analyst) - **Role:** SEO analysis and keyword research - **Model:** gpt-4.1-mini - **Channels:** #seo-review - **Heartbeat:** 15 minutes - **Reports to:** @orion - **Delegates to:** None ## Task Routing 1. New brief arrives in #content-tasks -> @orion picks up 2. @orion breaks down brief -> assigns writing to @echo 3. @echo completes draft -> sends to @radar for review 4. @radar reviews SEO -> sends feedback to @echo or approves 5. @orion confirms completion -> notifies human ## Shared Resources - /briefs/ — Content briefs and requirements - /drafts/ — Work-in-progress content - /published/ — Approved and published content - /seo-reports/ — Keyword research and SEO audits
The task routing section is critical. It defines the workflow pipeline — who does what, in which order, and where the output goes. Without clear routing, agents either duplicate work or drop tasks.
Notice that each agent has a different heartbeat interval. The PM checks every 5 minutes because it needs to respond quickly to new briefs. The writer checks every 10 minutes because writing tasks take longer. The SEO agent checks every 15 minutes because reviews are less time-sensitive.
Step 4: Register Agents with openclaw agents add (3 Minutes)
With SOUL.md files and AGENTS.md in place, register each agent with the OpenClaw CLI. This tells the gateway about your agents and connects them to their channels.
Register Each Agent
# Register Orion (PM) openclaw agents add \ --agent orion \ --model claude-opus-4-6 \ --channel telegram \ --soul agents/orion/SOUL.md # Register Echo (Writer) openclaw agents add \ --agent echo \ --model claude-sonnet-4 \ --channel telegram \ --soul agents/echo/SOUL.md # Register Radar (SEO Analyst) openclaw agents add \ --agent radar \ --model gpt-4.1-mini \ --channel telegram \ --soul agents/radar/SOUL.md
Auth Setup
Each agent needs access to its model provider. Set up API keys in your environment or OpenClaw configuration:
# For Claude models (Orion and Echo) export ANTHROPIC_API_KEY="sk-ant-your-key-here" # For OpenAI models (Radar) export OPENAI_API_KEY="sk-your-key-here" # For local models via Ollama (optional, free alternative) # No API key needed — just make sure Ollama is running # openclaw agents add --agent radar --model ollama/qwen3:32b --channel telegram
If you want to minimize costs, you can run worker agents on local models via Ollama. Models like Qwen 3 32B and Llama 4 Scout handle SEO analysis and structured tasks well, and inference is completely free.
Verify Registration
openclaw agents list # Expected output: # NAME MODEL CHANNEL STATUS # orion claude-opus-4-6 telegram registered # echo claude-sonnet-4 telegram registered # radar gpt-4.1-mini telegram registered
All three agents should show as "registered." If any agent shows an error, check that the SOUL.md path is correct and that the model name matches your provider's naming convention.
Step 5: Start the Team (2 Minutes)
With all agents registered, start the OpenClaw gateway. The gateway is the central hub that routes messages between agents and external channels.
Start the Gateway
# Start the gateway (runs all registered agents) openclaw gateway start # Or start in daemon mode (runs in background) openclaw gateway start --daemon
Verify Agents Are Running
openclaw gateway status # Expected output: # Gateway: running (port 18789) # Agents: # orion claude-opus-4-6 ONLINE heartbeat: 5m # echo claude-sonnet-4 ONLINE heartbeat: 10m # radar gpt-4.1-mini ONLINE heartbeat: 15m
Send Your First Team Task
Now test the full pipeline. Send a content brief to Orion and watch it cascade through the team:
openclaw agent --agent orion --message "New brief: Write a 1500-word blog post about the best productivity tools for remote teams in 2026. Target keyword: 'remote team productivity tools'. Audience: startup founders and team leads. Tone: practical, no fluff."
Here is what happens next:
- Orion receives the brief, breaks it into subtasks, and assigns the writing to Echo with specific requirements (word count, keyword, tone, structure).
- Echo picks up the assignment, researches the topic, and writes the draft. Once complete, Echo notifies Radar for SEO review.
- Radar analyzes the draft for keyword density, header structure, meta description quality, and internal linking opportunities. It sends a report back to Orion.
- Orion reviews the SEO feedback. If the draft passes, Orion marks the task as complete. If revisions are needed, Orion sends the feedback to Echo for another pass.
The entire workflow runs automatically. You can monitor progress through your Telegram channel, Slack workspace, or the OpenClaw gateway logs.
Common Mistakes (and How to Avoid Them)
After helping hundreds of people set up multi-agent teams, these are the most common pitfalls:
1. Too Many Agents
People get excited and create 7-10 agents on day one. The result is confusion. Agents overlap, tasks get duplicated, and the PM agent cannot keep track of everyone. Start with 2-3 agents. Get the workflow stable. Then add agents one at a time as you identify bottlenecks.
2. No Clear Task Routing
If your AGENTS.md does not specify who does what and in which order, agents will either all try to handle the same task or none of them will pick it up. Define the pipeline explicitly: brief goes to PM, PM assigns to writer, writer sends to reviewer. No ambiguity.
3. Overlapping Responsibilities
If both the PM and the writer can "review content," they will both try to do it. Each agent should have exclusive ownership of specific tasks. The PM coordinates and tracks. The writer writes. The SEO agent reviews for SEO. No overlap. If you find two agents doing the same thing, merge them or sharpen their boundaries.
4. Wrong Model for the Role
Running GPT-4.1 Mini as your PM agent is asking for trouble. The PM needs strong reasoning, context management, and planning capabilities — that requires a frontier model. Conversely, using Claude Opus 4.6 for a data formatting agent wastes money. Match the model to the complexity of the role:
- Complex reasoning (PM, strategy): Claude Opus 4.6, GPT-4.1
- Creative work (writing, design): Claude Sonnet 4, GPT-4.1
- Repetitive tasks (SEO checks, formatting): GPT-4.1 Mini, Claude Haiku, Qwen 3 32B (Ollama)
5. Ignoring Heartbeat Intervals
Setting all agents to a 1-minute heartbeat burns through API credits and creates unnecessary load. Match the heartbeat to the urgency of the role. A support triage agent might need a 1-minute heartbeat. A weekly report agent needs 60 minutes. For most content teams, 5-15 minutes per agent is the sweet spot.
6. No Shared Context
If agents cannot access the same files and data, handoffs break down. The writer finishes a draft but the SEO agent cannot find it. Set up shared directories (/briefs/, /drafts/, /published/) and reference them in each agent's SOUL.md so every agent knows where to read from and write to.
Scaling Your Agent Team
Once your 3-agent team is running smoothly, you can expand. Here are agents that pair well with the content team:
- Social media agent: Takes published blog posts and generates Twitter threads, LinkedIn posts, and Reddit submissions. Runs on GPT-4.1 Mini to keep costs low.
- Analytics agent: Monitors Google Analytics and Search Console, generates weekly traffic reports, and flags pages with declining rankings. Runs on a cron schedule.
- Outreach agent: Identifies link-building opportunities, drafts outreach emails, and tracks responses. Works with Radar to identify high-value link targets.
- QA agent: Reviews all content before publishing for factual accuracy, broken links, formatting issues, and brand voice consistency.
The key to scaling is adding one agent at a time, verifying it works with the existing team, and updating your AGENTS.md with new routing rules. Resist the urge to build a 10-agent team overnight.
Cost Breakdown: Running a 3-Agent Team
One of the most common questions about multi-agent setups is cost. Here is a realistic monthly breakdown for the content team we built:
| Component | Monthly Cost | Notes |
|---|---|---|
| VPS (Hetzner CX22) | $5.49 | 2 vCPU, 4GB RAM, more than enough |
| Orion (Claude Opus 4.6) | $8-15 | ~50 task coordinations/month |
| Echo (Claude Sonnet 4) | $5-12 | ~20 blog posts/month |
| Radar (GPT-4.1 Mini) | $1-3 | ~40 SEO reviews/month |
| Total | $19-35/month | Varies with usage volume |
Compare that to hiring freelancers or using a managed platform at $49/month per agent. A self-hosted 3-agent team costs roughly the same as one month of a single managed agent.
Skip the Manual Setup
Setting up SOUL.md files, agents.md, and CLI configurations manually works. But it takes time, and getting the details right (model names, heartbeat intervals, channel configs, task routing) requires trial and error.
CrewClaw generates complete agent packages automatically. Choose a role, customize the personality, and download a ready-to-deploy package with SOUL.md, Docker configs, and workspace setup. Works for single agents and multi-agent teams.
$9 one-time. No subscription, no recurring fees. Configure in 60 seconds, deploy to your own server, keep full control of your data.
Frequently Asked Questions
How many agents can OpenClaw run simultaneously?
There is no hard limit in OpenClaw itself. The practical limit depends on your hardware and the models you use. A basic VPS with 2GB RAM can comfortably run 3-5 agents using cloud API models (OpenAI, Anthropic). If you run local models via Ollama, each model consumes 4-8GB of VRAM, so you are limited by your GPU memory. Most teams run 3-7 agents in production. Beyond that, you should split across multiple machines or use a load balancer.
Which models work best for multi-agent teams?
It depends on the role. For PM and orchestration agents, use a strong reasoning model like Claude Opus 4.6 or GPT-4.1 — they need to understand context, delegate tasks, and make judgment calls. For writer agents, Claude Sonnet 4 or GPT-4.1 offers a good balance of quality and cost. For repetitive tasks like SEO analysis, formatting, or data extraction, smaller models like GPT-4.1 Mini, Claude Haiku, or Qwen 3 32B (local via Ollama) work well and cost a fraction of larger models.
Can agents on different machines communicate?
Yes, but not out of the box. OpenClaw agents communicate through the gateway on the same machine. For cross-machine communication, you can use shared channels like Telegram groups, Slack workspaces, or Discord servers as the communication layer. Each machine runs its own OpenClaw gateway, and agents on different machines interact through the shared messaging platform. Some teams also use a shared database or Redis instance for task queues.
How do I add a new agent to an existing team?
Create a new SOUL.md file in your agents directory, add the agent definition to your agents.md file with its role and channels, then run openclaw agents add with the agent name, model, and channel configuration. The gateway picks up new agents without a full restart. Run openclaw agents list to verify the new agent is registered, then test it by sending a message in its assigned channel.
What is the cheapest way to run a multi-agent team?
The cheapest production setup is a Hetzner VPS ($3.49/month) running 3-5 agents with mixed models. Use a powerful model like Claude Sonnet 4 for your PM agent ($3 per million input tokens) and free or cheap local models via Ollama for worker agents. Qwen 3 32B runs well on a machine with 24GB VRAM and costs nothing for inference. Total cost: $3.49/month server plus $5-20/month in API calls depending on volume. CrewClaw can generate the full team config for $9 one-time.
Deploy a Ready-Made AI Agent
Skip the setup. Pick a template and deploy in 60 seconds.