OpenClaw has 180,000+ GitHub stars and is used by thousands of developers and business owners worldwide. Learn more →
OpenClaw GuideHow to Set Up OpenClaw for Your Team (Multi-User Guide)
Route Discord roles to different AI models, configure shared and private sessions, and give every team member their own AI-powered workspace — all from a single OpenClaw instance.
OpenClaw isn't just a solo tool. With multi-agent routing, role-based access control, and per-channel session isolation, a single OpenClaw gateway can serve your entire team — each member getting the right AI model, the right context, and the right permissions.
This guide walks you through the complete team setup: from guild allowlists that control which Discord channels OpenClaw monitors, to role-based bindings that route your premium team members to Claude Opus while everyone else uses Sonnet. Real config examples included.
Why OpenClaw for Teams?
Most AI tools are built for individuals. You get one chat window, one context, one model. That works fine when you're a solopreneur — but the moment your team grows beyond one person, you run into problems:
- Shared context pollution — everyone's conversations bleed into the same session
- No access control — the intern has the same AI access as the CEO
- Cost spirals — no way to route budget-conscious queries to cheaper models
- Channel chaos — the AI responds everywhere, including channels where it shouldn't
OpenClaw solves all of these with its gateway architecture. One instance, multiple agents, granular control over who gets what. And because it's open source, you're not paying per-seat licensing — just API costs for the AI models your team actually uses.
Team Architecture Overview
Before we dive into config, here's how OpenClaw's team model works:
- Gateway — the central process that manages all connections (Discord, Slack, etc.)
- Agents — individual AI personalities with their own models, system prompts, and workspaces
- Bindings — rules that route incoming messages to the right agent based on channel, role, user, or guild
- Sessions — isolated conversation contexts (per-channel, per-user, or shared)
Think of it like a company phone system: one number (gateway), multiple extensions (agents), and routing rules (bindings) that send each call to the right person.
Step 1: Guild Allowlist & Channel Control
First, lock down where OpenClaw responds. By default, if you just set a Discord bot token without configuring channels, OpenClaw runs in open mode — it responds everywhere. For teams, you want the allowlist policy.
Here's a real guild allowlist configuration:
{
"channels": {
"discord": {
"groupPolicy": "allowlist",
"guilds": {
"123456789012345678": {
"requireMention": true,
"users": ["987654321098765432"],
"roles": ["111111111111111111"],
"channels": {
"general": { "allow": true },
"ai-help": { "allow": true, "requireMention": false },
"leadership": { "allow": true, "requireMention": true }
}
}
}
}
}
}
What this does:
- Only your guild (by ID) gets access — random servers can't add your bot and use your API budget
- Three channels enabled:
#general,#ai-help, and#leadership - Mention required in most channels — OpenClaw only responds when @mentioned, so it doesn't interrupt conversations
#ai-helpis open — no mention needed, every message gets a response (great for a dedicated AI channel)- User and role allowlists — only specific users or role holders can trigger responses even in allowed channels
Begin with requireMention: true everywhere and one dedicated AI channel with open access. Expand as your team gets comfortable. It's easier to open up than to lock down after everyone's used to unlimited AI access.
Step 2: Role-Based Agent Routing
This is the most powerful team feature: routing different Discord roles to different AI agents — each with its own model, personality, and capabilities.
Use case: your leadership team gets Claude Opus (best reasoning, higher cost), while general staff gets Claude Sonnet (fast, capable, cheaper). Engineering gets a code-specialized agent. Everyone uses the same Discord server.
{
"bindings": [
{
"agentId": "opus-executive",
"match": {
"channel": "discord",
"guildId": "123456789012345678",
"roles": ["111111111111111111"]
}
},
{
"agentId": "code-assistant",
"match": {
"channel": "discord",
"guildId": "123456789012345678",
"roles": ["222222222222222222"]
}
},
{
"agentId": "sonnet-general",
"match": {
"channel": "discord",
"guildId": "123456789012345678"
}
}
]
}
How the routing works:
- Bindings are evaluated in order — first match wins
- A user with the
Leadershiprole (ID111...) gets routed to theopus-executiveagent - A user with the
Engineeringrole (ID222...) gets thecode-assistantagent - Everyone else in the guild falls through to
sonnet-general— the catch-all binding with no role filter
Each agent is defined separately with its own model, system prompt, and workspace. The opus-executive agent might have access to financial data and strategic context. The code-assistant might have GitHub integration and a code-focused system prompt. The sonnet-general agent handles everyday questions affordably.
Step 3: Shared vs Private Sessions
Sessions determine who shares conversation context with whom. OpenClaw's default session model works like this:
- Guild channels get isolated session keys:
agent::discord:channel:<channelId>— everyone in the channel shares the same conversation context - DMs default to the agent's main session (
agent:main:main) whensession.dmScope=main - Slash commands run in isolated command sessions
For teams, think carefully about what you want:
| Scenario | Session Type | Best For |
|---|---|---|
#ai-help channel | Shared (per-channel) | Team knowledge base, everyone sees context |
#leadership-ai | Shared (per-channel) | Executive discussions with persistent context |
| DMs with the bot | Private (per-user) | Personal questions, private drafts |
| Slash commands | Isolated (per-command) | One-off tasks, no context bleed |
The channel-based isolation is automatic — each Discord channel gets its own session without any extra configuration. This means your #marketing channel's AI context won't leak into #engineering, and vice versa.
Step 4: Per-Agent Workspaces
Each agent can have its own workspace directory — a sandboxed folder where it stores memory files, project context, and working documents. This is crucial for teams because it prevents agents from interfering with each other's context.
A typical team workspace structure looks like this:
~/.openclaw/
├── config.json # Main gateway config
├── workspace/ # Default agent workspace
│ ├── AGENTS.md
│ ├── SOUL.md
│ └── memory/
├── agents/
│ ├── opus-executive/
│ │ ├── AGENTS.md
│ │ ├── SOUL.md # Executive-focused personality
│ │ └── memory/
│ ├── code-assistant/
│ │ ├── AGENTS.md
│ │ ├── SOUL.md # Code-focused personality
│ │ └── memory/
│ └── sonnet-general/
│ ├── AGENTS.md
│ ├── SOUL.md # General-purpose personality
│ └── memory/
Each agent's SOUL.md defines its personality and capabilities. The executive agent might be instructed to think strategically and access financial tools. The code assistant knows your tech stack and coding standards. The general agent is friendly and helpful for everyday tasks.
Step 5: Slack & Other Channels
Everything we've covered for Discord applies conceptually to Slack and other channels. OpenClaw's channel system is designed to be consistent across platforms:
- Slack uses the same allowlist pattern — specify workspace IDs and channel names
- Telegram supports group chat allowlists with similar mention-gating
- WhatsApp works for DM-based team access
- Email can be configured per agent for different team functions
The binding system works across all channels. You can route Slack messages from your #sales channel to a sales-specialized agent while Discord messages go to a different agent — all from the same gateway.
Step 6: Access Policies & DM Control
For teams, DM access control is critical. You don't want random Discord users consuming your API budget by DMing your bot. OpenClaw provides four DM policies:
pairing(default) — unknown users are prompted to pair, giving you approval controlallowlist— only pre-approved user IDs can DM the botopen— anyone can DM (requires explicit opt-in viaallowFrom: ["*"])disabled— no DMs at all, guild channels only
For most teams, pairing or allowlist is the right choice. Pairing mode is elegant: when a new team member DMs the bot for the first time, you get a notification and approve or reject the pairing. Once paired, they're in.
{
"channels": {
"discord": {
"dmPolicy": "allowlist",
"groupPolicy": "allowlist",
"guilds": {
"123456789012345678": {
"requireMention": true,
"roles": ["111111111111111111", "222222222222222222"],
"channels": {
"ai-help": { "allow": true, "requireMention": false },
"general": { "allow": true }
}
}
}
}
}
}
This configuration creates a tight security perimeter: only members with specific roles can trigger the bot, only in designated channels, and DMs are restricted to pre-approved users.
What It Costs for Teams
Since OpenClaw is open source, you pay zero for the software. Team costs come entirely from AI API usage:
| Team Size | Usage Pattern | Estimated Monthly Cost |
|---|---|---|
| 3-5 people | Light (few queries/day each) | $15-30/month |
| 5-10 people | Moderate (regular daily use) | $30-60/month |
| 10-20 people | Heavy (multiple queries/hour) | $60-150/month |
| 20+ people | Mixed models (Opus + Sonnet) | $100-300/month |
Compare this to per-seat AI tools charging $20-30/user/month. A team of 10 on ChatGPT Team costs $250/month. The same team on OpenClaw with mixed Opus/Sonnet routing? Roughly $50-80/month. That's a 60-70% savings — and you get more control, better privacy, and customizable agents.
Use role-based routing to send routine questions to cheaper models. Only route complex reasoning tasks to premium models. Most teams find that 80% of queries work great with Sonnet-class models, saving significant budget for the 20% that truly need Opus-class reasoning.
FAQ
Can different team members use different AI models in OpenClaw?
Yes. OpenClaw's binding system lets you route users to different agents based on Discord roles, user IDs, or channels. You can assign your premium team members to Claude Opus while routing general staff to a faster, cheaper model like Claude Sonnet — all within the same Discord server.
Are OpenClaw sessions shared between team members?
By default, guild channel sessions are isolated per channel. DM sessions default to the agent's main session. You can configure shared sessions for collaborative channels or keep sessions private per user — it depends on your session scope configuration.
How many team members can use one OpenClaw instance?
There is no hard limit on team size. OpenClaw handles concurrent users through its gateway. The practical limit depends on your AI API budget — each interaction costs tokens. Most teams of 5-20 people spend $30-100/month total in API costs.
Can I restrict which channels OpenClaw responds in?
Yes. Use the guild allowlist configuration to specify exactly which channels OpenClaw monitors. You can also require @mentions in certain channels, allow open access in others, and completely block channels you want to keep human-only.
Related Guides
- What Is OpenClaw? Complete Guide
- How to Set Up OpenClaw as a Discord Bot
- OpenClaw Pricing Guide: What It Actually Costs
- OpenClaw for Marketing Agencies
Free: The AI Growth Breakdown
See how one business went from 0 to 600 daily visitors in 14 days using AI. The exact tools and results.
Get the Free Breakdown →