A real-time Kanban board designed for multi-agent AI workflows with OpenClaw. Assign tasks to AI agents, watch them work in real-time, and collaborate through persistent chat sessions.
- Live Kanban Board β Real-time updates via WebSocket
- Multi-Agent Support β Assign tasks to different AI agents
- Auto-Spawn Sessions β Agents automatically activate when tasks move to "In Progress"
- Persistent Conversations β Back-and-forth chat with agents on each task
- Session Isolation β Each agent maintains separate context per task
| Icon | Agent | Focus |
|---|---|---|
| π€ | Main Agent | Coordinator, command bar chat (name configurable) |
| ποΈ | Architect | System design, patterns, scalability |
| π | Security Auditor | SOC2, HIPAA, CIS compliance |
| π | Code Reviewer | Code quality, best practices |
| π¨ | UX Manager | User flows, UI consistency |
- Command Bar β Direct chat with your main agent from the header
- @Mentions β Tag agents into any task conversation
- Action Items β Questions, blockers, and completion tracking
- File Attachments β Paste images or attach documents
- API key authentication for sensitive endpoints
- Secrets stored in environment variables
- CORS restricted to localhost
- Input validation and size limits
- Agent guardrails (filesystem boundaries, forbidden actions)
-
Clone the repository
git clone https://github.com/yourusername/openclaw-taskboard.git cd openclaw-taskboard -
Configure environment
cp .env.example .env # Edit .env with your OpenClaw token and generate an API key -
Start the task board
docker-compose up -d
-
Open in browser
http://localhost:8080
The easiest way to set up the task board is to ask your OpenClaw agent to do it for you!
Once the task board is running, prompt your OpenClaw agent:
I have the task board running at http://localhost:8080.
Please onboard it as a channel plugin so you can receive
messages from the command bar and spawn sub-agents when
tasks move to "In Progress".
Your agent will:
- Update the
.envwith the correct gateway URL and token - Verify the connection is working
- Test the
/tools/invokeAPI
To set up the multi-agent dev team, prompt your agent:
I want to set up the dev team sub-agents (Architect, Security Auditor,
Code Reviewer, UX Manager). Please configure them in OpenClaw so they
can be spawned from the task board.
Your agent will guide you through:
- Adding agent definitions to your OpenClaw config
- Setting up the
dev-team.mdguardrails file - Configuring spawn permissions
The task board works best with a team of specialized AI agents. Here's how to configure them:
Add these agents to your OpenClaw config (~/.openclaw/openclaw.json):
{
"agents": {
"list": [
{
"id": "main",
"name": "YourAgentName",
"subagents": {
"allowAgents": ["architect", "security-auditor", "code-reviewer", "ux-manager"]
}
},
{
"id": "architect",
"name": "Architect",
"identity": { "name": "Architect", "emoji": "ποΈ" },
"tools": { "profile": "coding", "deny": ["browser", "message"] }
},
{
"id": "security-auditor",
"name": "Security Auditor",
"identity": { "name": "Security Auditor", "emoji": "π" },
"tools": { "profile": "coding", "deny": ["browser", "message"] }
},
{
"id": "code-reviewer",
"name": "Code Reviewer",
"identity": { "name": "Code Reviewer", "emoji": "π" },
"tools": { "profile": "coding", "deny": ["browser", "message"] }
},
{
"id": "ux-manager",
"name": "UX Manager",
"identity": { "name": "UX Manager", "emoji": "π¨" },
"tools": { "profile": "coding", "deny": ["message"] }
}
]
}
}Copy the template to your OpenClaw workspace:
cp examples/dev-team-example.md ~/.openclaw/workspace/agents/dev-team.mdEdit dev-team.md to customize:
- Filesystem boundaries β Paths agents can access
- Compliance context β Your security requirements
- System prompts β Role-specific instructions
Add this section to your main agent's TOOLS.md:
## Task Board Integration
**URL:** http://localhost:8080
**Container:** openclaw-taskboard
When spawning sub-agents from the task board:
1. Include the guardrails from `agents/dev-team.md`
2. Pass task context (title, description, recent comments)
3. Instruct agent to post updates as comments on the task card
### API Reference
- Create comment: `POST /api/tasks/{id}/comments`
- Move task: `POST /api/tasks/{id}/move`
- Create action item: `POST /api/tasks/{id}/action-items`Copy .env.example to .env and customize:
| Variable | Description | Required |
|---|---|---|
OPENCLAW_GATEWAY_URL |
OpenClaw gateway URL | For AI features |
OPENCLAW_TOKEN |
OpenClaw API token | For AI features |
TASKBOARD_API_KEY |
API key for protected endpoints | Recommended |
These customize the agent guardrails and system prompts for your project:
| Variable | Description | Example |
|---|---|---|
PROJECT_NAME |
Your project name | My SaaS App |
COMPANY_NAME |
Your company/team | Acme Corp |
COMPANY_CONTEXT |
Brief context for agents | fintech startup building payment APIs |
ALLOWED_PATHS |
Paths agents can access (comma-separated) | /home/user/myproject, /workspace |
COMPLIANCE_FRAMEWORKS |
Security/compliance context | SOC2, HIPAA, PCI-DSS |
| Variable | Description | Default |
|---|---|---|
MAIN_AGENT_NAME |
Your main agent's display name | Assistant |
MAIN_AGENT_EMOJI |
Emoji for main agent | π€ |
HUMAN_NAME |
Your display name | User |
BOARD_TITLE |
Page title | Task Board |
Note: Without OpenClaw configured, the board works as a standard Kanban without AI agent automation.
π See OPENCLAW_SETUP.md for the full integration guide.
Quick overview:
- Configure agents in OpenClaw (
architect,security-auditor,code-reviewer,ux-manager) - Set your token in
.env - Add task board handler to your agent's
TOOLS.md
The task board will auto-spawn agent sessions when tasks move to "In Progress".
Backlog β In Progress β Review β Done
β
Blocked
- Backlog β Tasks waiting to be started
- In Progress β Agent session auto-spawns, work begins
- Review β Agent completed work, awaiting approval
- Done β Human approval required (cannot be set by agents)
- Blocked β Waiting on external input
Each task card maintains its own isolated AI session. This is a game-changer for complex projects.
Task #1: "Review Auth System" Task #2: "Design API Schema"
β β
βββββββββββββββββββββββ βββββββββββββββββββββββ
β Architect Session A β β Architect Session B β
β β β β
β β’ Knows about auth β β β’ Knows about API β
β β’ Has auth context β β β’ Has schema contextβ
β β’ Separate memory β β β’ Separate memory β
βββββββββββββββββββββββ βββββββββββββββββββββββ
- No context bleed β Agent working on Task A won't confuse it with Task B
- Persistent conversations β Come back hours later, pick up where you left off
- True multitasking β Multiple agents can work on different tasks simultaneously
- Clean handoffs β Move task to Review, agent remembers everything when you ask follow-ups
Need a second opinion? Tag another agent into the conversation.
You: "@Security Auditor can you review the auth approach here?"
β
Security Auditor receives context + responds in same thread
| Scenario | Primary Agent | Tag In |
|---|---|---|
| Feature design needs security review | Architect | @Security Auditor |
| Code review found UX issues | Code Reviewer | @UX Manager |
| Complex decision needs multiple perspectives | Any | @Architect @Security Auditor |
Action items track what needs attention with notification bubbles on cards:
| Type | Trigger | Purpose |
|---|---|---|
| Question π‘ | Agent creates manually | Agent needs clarification |
| Completion π’ | Auto on β Review | Work ready for approval |
| Blocker π΄ | Auto on β Blocked | Documents what's blocking |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Task Board UI β
β WebSocket ββ FastAPI Backend ββ SQLite β
βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ
β /tools/invoke
βββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββ
β OpenClaw Gateway β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β Main β β Architectβ β Security β ... β
β β Agent β β β β Auditor β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
GET /api/tasksβ List all tasksPOST /api/tasksβ Create taskPATCH /api/tasks/{id}β Update taskDELETE /api/tasks/{id}β Delete taskPOST /api/tasks/{id}/moveβ Move task to status
GET /api/tasks/{id}/commentsβ Get commentsPOST /api/tasks/{id}/commentsβ Add comment
GET /api/tasks/{id}/action-itemsβ Get action itemsPOST /api/tasks/{id}/action-itemsβ Create action itemPOST /api/action-items/{id}/resolveβ Resolve item
POST /api/jarvis/chatβ Send message to main agentPOST /api/jarvis/respondβ Push response to command bar
WS /wsβ Real-time updates
Edit app.py:
AGENT_TO_OPENCLAW_ID = {
"Your Agent": "your-agent-id",
...
}
AGENT_SYSTEM_PROMPTS = {
"your-agent-id": "Your agent's system prompt...",
...
}Update static/index.html for agent icon:
const AGENT_ICONS = {
'Your Agent': 'π',
...
};MIT License β see LICENSE
Built for the OpenClaw community.
Questions? Open an issue or check the OpenClaw Discord