Multi-agent routing allows you to route different channels and accounts to isolated OpenClaw agents with separate sessions. This enables powerful use cases like separating work and personal accounts, or dedicating agents to specific tasks.[1]
What is Multi-Agent Routing?
By default, OpenClaw runs a single agent instance that handles all your conversations. Multi-agent routing lets you:
- Isolate contexts: Separate work conversations from personal ones
- Dedicate agents: Assign specific agents to specific platforms or tasks
- Independent sessions: Each agent maintains its own conversation history and context
- Separate configurations: Different API keys, settings, or skills per agent
Use Cases
- Work vs Personal: Route work Slack to Agent A, personal WhatsApp to Agent B
- Platform-specific: Dedicated agents for Discord moderation vs Telegram assistance
- Task-specific: One agent for coding tasks, another for research
- Team isolation: Multiple team members with separate OpenClaw instances
Configuration File Structure
Multi-agent routing is configured in your OpenClaw configuration file:
~/.config/openclaw/routing.json
Basic Setup Example
Here's a simple configuration that routes two different channels to separate agents:
{
"routes": {
"telegram:personal": {
"agent": "personal-agent",
"config": {
"model": "claude-opus-4.5",
"contextLimit": "200k"
}
},
"slack:work": {
"agent": "work-agent",
"config": {
"model": "gpt-4",
"contextLimit": "100k",
"skills": ["jira", "confluence"]
}
}
}
}
Platform-Specific Routing
Configure routing for specific platforms using the platform identifier:
WhatsApp Routing
"whatsapp:+1234567890": {
"agent": "primary-agent"
}
"whatsapp:+0987654321": {
"agent": "secondary-agent"
}
Telegram Routing
"telegram:personal_bot": {
"agent": "personal-agent",
"whitelist": ["@user1", "@user2"]
}
Discord Routing
"discord:guild_123": {
"agent": "discord-agent",
"channels": {
"general": "read-write",
"admin": "admin-only"
}
}
Agent Configuration Options
Each routed agent can have its own configuration:
model— Which LLM to use (claude-opus-4.5, gpt-4, etc.)contextLimit— Maximum tokens for context windowtemperature— AI randomness/creativity settingskills— Array of skills to load for this agentsystemPrompt— Custom system prompt override
Advanced: Conditional Routing
You can route based on message content using patterns:
"routes": {
"telegram:personal": {
"agent": "personal-agent",
"conditions": {
"code_keywords": ["bug", "fix", "deploy"],
"route_to": "coding-agent"
}
}
}
Testing Your Configuration
After setting up routing, verify your configuration:
# Validate routing configuration
openclaw routing validate
# Test routing for a specific channel
openclaw routing test --channel="telegram:personal"
# View active routes
openclaw routing list
Reloading Configuration
After making changes, reload the routing configuration:
openclaw reload
Or restart the daemon:
openclaw daemon restart
Troubleshooting
Messages Not Routing
If messages aren't reaching the expected agent:
- Check the route pattern matches your channel identifier
- Verify the agent name is spelled correctly
- Check logs:
openclaw logs --tail - Ensure no conflicting routes exist
Agent Not Starting
- Verify API keys are configured for each agent
- Check if the agent name exists in your config
- Ensure sufficient system resources for multiple agents
Best Practices
- Start simple: Begin with one route, test, then expand
- Name descriptively: Use clear agent names like "work-coding" not "agent2"
- Document routes: Comment your routing.json for future reference
- Monitor costs: Each agent has separate API costs
- Backup config: Keep copies of working configurations
What's Next?
With multi-agent routing configured, explore these advanced topics:
- Complete OpenClaw Guide — Master all features
- Security Guide — Secure your multi-agent setup
- Official Routing Documentation — Deep dive reference
References
- OpenClaw Documentation - Multi-Agent Routing - Accessed February 2026
- OpenClaw GitHub - Routing Configuration Examples - Accessed February 2026
Reference Trail
External sources surfaced from the underlying article content
- Official Routing Documentationdocs.openclaw.ai
- Routing Configuration Examplesgithub.com