🦞
Features

Multi-Agent Routing

OpenClaw (formerly Moltbot) supports multiple agents with intelligent routing. Run different workspaces for different purposes with complete isolation.

🏢

Multiple Workspaces

Run separate AI workspaces with different configurations.

🔀

Agent Routing

Route different channels to different agents.

🔐

Isolated Sessions

Keep conversations and context separate between agents.

🔗

Shared Resources

Optionally share tools and data between agents.

🔀 How Routing Works

Each incoming message is routed to the appropriate agent based on the source channel. Agents operate independently with their own configuration, skills, and session state.

Routing flow:

Telegram: PersonalPersonal Agent
Slack: WorkWork Agent
Discord: DevDev Agent
Multi-Agent Configuration

Define multiple agents and routing rules in your config:

{
  "agents": {
    "personal-assistant": {
      "model": "claude-3-5-sonnet",
      "system_prompt": "You are a personal assistant...",
      "skills": ["calendar", "notes", "reminders"],
      "memory": {
        "path": "~/.openclaw/agents/personal/memory"
      }
    },
    "work-assistant": {
      "model": "gpt-4o",
      "system_prompt": "You are a professional work assistant...",
      "skills": ["jira", "github", "slack-tools"],
      "memory": {
        "path": "~/.openclaw/agents/work/memory"
      }
    },
    "dev-assistant": {
      "model": "claude-3-5-sonnet",
      "system_prompt": "You are a coding expert...",
      "skills": ["code-review", "git", "debugging"],
      "memory": {
        "path": "~/.openclaw/agents/dev/memory"
      }
    }
  },
  "routing": {
    "default": "personal-assistant",
    "rules": [
      {
        "channel": "slack:*",
        "agent": "work-assistant"
      },
      {
        "channel": "discord:dev-server",
        "agent": "dev-assistant"
      },
      {
        "channel": "telegram:personal",
        "agent": "personal-assistant"
      }
    ]
  }
}
Routing Rules

Routing rules determine which agent handles each channel:

telegram:personalpersonal-assistant
slack:work-teamwork-assistant
discord:dev-serverdev-assistant
whatsapp:client-aclient-a-agent
  • * — Wildcard matching (e.g., slack:* matches all Slack channels)
  • default — Fallback agent when no rule matches
  • Rules are evaluated in order; first match wins
🔐 Isolated Sessions

Each agent maintains its own session state and memory. Conversations on one agent don't affect others.

  • Separate memory — Each agent has its own conversation history
  • Independent skills — Load different skills per agent
  • Different models — Use different AI models per agent
  • Separate credentials — Each agent can have its own API keys

Use Cases

Personal vs Work

Separate agents for personal life and work tasks with different access levels.

Personal Telegram -> Personal Agent, Slack -> Work Agent

Multi-Team Support

Different teams get different agents with specialized skills and knowledge.

Sales Slack -> Sales Agent, Engineering Discord -> Dev Agent

Multi-Language

Route to agents configured for different languages.

Spanish channel -> Spanish Agent, English channel -> English Agent

Development Testing

Test new agent configurations without affecting production.

Test channel -> Dev Agent, Production channels -> Stable Agent

Client Separation

Keep client data and conversations completely isolated.

Client A WhatsApp -> Agent A, Client B WhatsApp -> Agent B

Specialized Experts

Route to specialized agents based on topic or channel.

Coding channel -> Code Expert, Writing channel -> Writing Expert

Full Documentation

Read the complete multi-agent configuration guide.

View Docs

Set Up Multiple Agents

Install OpenClaw and configure multi-agent routing for your use case.