Back

19. OpenClaw Practice: Building a Team Collaboration Agent

This article demonstrates how to build a team collaboration Agent with OpenClaw, including multi-channel integration, team knowledge base, task assignment, meeting coordination, and more to improve team efficiency.

For OpenClaw v2026.2 | Requires team Slack or Discord workspace with admin permissions.

TL;DR: Multi-channel config: "channels": {"slack": {...}, "discord": {...}}. Team member management: "team": {"members": [...]}. Knowledge base sync: notion-sync skill. Task assignment: Agent assigns tasks based on skill matching. Meeting minutes: Auto-record and generate structured summaries. Cron daily standup: "schedule": "0 8 * * 1-5".

Practice Goals

Build an Agent that can:

  1. Multi-channel team communication
  2. Team knowledge base management
  3. Task assignment and tracking
  4. Meeting coordination
  5. Automated workflows

Architecture Design

[Slack] [Discord] [Teams] [Email]
         ↓           ↓          ↓
         [Gateway + Agent Router]
                    ↓
    ┌───────────────┼───────────────┐
    ↓               ↓               ↓
[Team Agent]   [Project Agent]  [Assistant Agent]
    ↓               ↓               ↓
[Knowledge]    [Task System]     [Calendar]

Multi-Channel Configuration

Slack Configuration

{
  "channels": {
    "slack": {
      "botToken": "${SLACK_BOT_TOKEN}",
      "appToken": "${SLACK_APP_TOKEN}",
      "dmPolicy": "open",
      "groups": {
        "C12345678": {
          "name": "engineering",
          "requireMention": false
        },
        "C87654321": {
          "name": "general",
          "requireMention": true
        }
      }
    }
  }
}

Discord Configuration

{
  "channels": {
    "discord": {
      "token": "${DISCORD_TOKEN}",
      "guilds": {
        "123456789": {
          "name": "team-workspace",
          "channels": {
            "general": { "requireMention": true },
            "dev-team": { "requireMention": false }
          }
        }
      }
    }
  }
}

Team Member Management

{
  "team": {
    "members": [
      {
        "id": "U001",
        "name": "Alice",
        "role": "Frontend Developer",
        "slack": "U123456",
        "discord": "123456789",
        "skills": ["react", "typescript", "css"]
      },
      {
        "id": "U002",
        "name": "Bob",
        "role": "Backend Developer",
        "slack": "U234567",
        "discord": "234567890",
        "skills": ["python", "django", "postgresql"]
      }
    ]
  }
}

Team Knowledge Base

Knowledge Base Structure

Team Knowledge Base/
├── Projects/
│   ├── Project A/
│   │   ├── Requirements.md
│   │   ├── Technical Design.md
│   │   └── Meeting Minutes/
│   └── Project B/
├── Processes/
│   ├── Code Review Guidelines.md
│   ├── Release Process.md
│   └── Onboarding Guide.md
├── Tech Stack/
│   ├── Frontend.md
│   ├── Backend.md
│   └── DevOps.md
└── FAQ/
    ├── Deployment Issues.md
    └── Performance Optimization.md

Knowledge Base Query

User (Slack): @team-bot What is our backend tech stack?

Agent: According to the team knowledge base, our backend tech stack is:

## Backend Tech Stack

### Core Framework
- **Framework**: Django 4.2
- **Language**: Python 3.11
- **Database**: PostgreSQL 15

### Infrastructure
- **Cache**: Redis
- **Queue**: Celery
- **Search**: Elasticsearch

### Deployment
- **Container**: Docker
- **Orchestration**: Kubernetes
- **CI/CD**: GitHub Actions

Full documentation: [Backend Tech Stack](knowledge base link)

Need more details?

Knowledge Update

User (Discord): Update knowledge base: We've added Elasticsearch

Agent: Sure, I'll update the backend tech stack document...

[Updating knowledge base]

Updated document:
- File: Tech Stack/Backend.md
- Changes: Added Elasticsearch to infrastructure section

Changes have been pushed to the team knowledge base. Relevant team members will be notified.

Task Management

Task Assignment

User: @team-bot Create a task: Optimize homepage load speed, assign to @Alice

Agent: Task created!

## Task #123

**Title**: Optimize homepage load speed
**Assignee**: Alice
**Priority**: Medium
**Status**: Pending
**Created**: 2026-02-26 10:30

**Description**:
Optimize homepage load speed to improve user experience.

**Suggested Steps**:
1. Analyze current load time
2. Identify performance bottlenecks
3. Optimize critical rendering path
4. Implement optimization plan
5. Verify results

**Suggested Deadline**: 3 business days

@Alice You've received the task notification. Need me to add more details?

Task Tracking

{
  "taskManagement": {
    "integration": "jira",
    "sync": true,
    "notifications": {
      "created": true,
      "updated": true,
      "completed": true,
      "overdue": true
    }
  }
}

Daily Task Reminder

{
  "cron": [
    {
      "id": "daily-task-reminder",
      "schedule": "0 9 * * 1-5",
      "message": "Good morning! Here are today's tasks:\n1. Pending tasks\n2. Upcoming deadlines\n3. Today's meetings"
    }
  ]
}
Agent: Good morning! @Alice @Bob @Carol

## Today's Task Summary

### Pending Tasks
- @Alice: Optimize homepage load speed (Priority: Medium)
- @Bob: API documentation update (Priority: Low)
- @Carol: Unit test coverage (Priority: High)

### Upcoming Deadlines
- @Alice: User search feature - due tomorrow
- @Bob: Performance optimization report - due day after tomorrow

### Today's Meetings
- 10:00 Product review
- 14:00 Tech sharing
- 16:00 1v1 with Alice

Have a productive day!

Meeting Coordination

Meeting Creation

User: @team-bot Schedule a code review meeting, tomorrow 2 PM, invite the frontend team

Agent: Scheduling meeting...

## Meeting Created

**Subject**: Code Review Meeting
**Time**: 2026-02-27 14:00-15:00
**Participants**: Alice, Bob, Carol
**Location**: Meeting Room A / Zoom

**Suggested Agenda**:
1. Homepage optimization code review
2. New feature code review
3. Code style discussion

**Invitations Sent**:
- ✅ Alice
- ✅ Bob
- ✅ Carol

Calendar invites have been sent to participants. Need me to add the meeting link?

Meeting Minutes

User: @team-bot Start recording the meeting

Agent: Starting meeting recording...

[Meeting in progress...]

User: @team-bot End meeting, generate minutes

Agent: Meeting minutes generated:

## Code Review Meeting Minutes

**Date**: 2026-02-26 14:00-15:00
**Participants**: Alice, Bob, Carol

### Review Content

**Homepage Optimization PR #123**
- ✅ Clear code structure
- ⚠️ Suggest adding unit tests
- ⚠️ Performance optimization needed
- Decision: Approved, merge after completing optimizations

**User Search PR #124**
- ✅ Algorithm implementation correct
- ✅ Good test coverage
- Decision: Approved, ready to merge

### Action Items

| Assignee | Task | Deadline |
|----------|------|----------|
| Alice | Add unit tests | 02-27 |
| Bob | Performance optimization | 02-28 |

**Next Meeting**: 2026-03-05 14:00

Minutes have been sent to #engineering channel.

Automated Workflows

PR Review Flow

{
  "webhooks": [
    {
      "id": "pr-review",
      "path": "/webhook/github",
      "message": "New PR detected: {{data.title}}\nBranch: {{data.branch}}\nAuthor: {{data.author}}\n\nNeeds review: @Alice @Bob"
    }
  ]
}

Deployment Notification

Agent: 🚀 Deployment Notification

**Project**: Frontend Application
**Environment**: Production
**Version**: v1.2.3
**Branch**: main
**Commit**: abc1234 - Fix user search issue

**Changelog**:
- Fix user search result pagination
- Optimize homepage load speed
- Update UI styles

**Deployed**: 2026-02-26 16:30:45
**Status**: ✅ Success

Monitoring: https://monitor.example.com/frontend

@team Please monitor post-deployment status.

On-Call Reminder

{
  "cron": [
    {
      "id": "oncall-reminder",
      "schedule": "0 9 * * 1-5",
      "message": "Today's on-call: {{oncall}}, please stay available and respond to urgent issues."
    }
  ]
}

Team Analytics

Work Statistics

User: @team-bot This week's work statistics

Agent: Generating this week's work statistics...

## Weekly Work Statistics (02/19 - 02/25)

### Task Completion
- Total tasks: 23
- Completed: 18 (78%)
- In progress: 3 (13%)
- Pending: 2 (9%)

### Code Contributions
| Member | Commits | PRs | Reviews |
|--------|---------|-----|---------|
| Alice | 12 | 3 | 5 |
| Bob | 8 | 2 | 8 |
| Carol | 15 | 4 | 3 |

### Meeting Time
- Total meetings: 6
- Total duration: 8.5 hours
- Per person: 2.8 hours

### Response Time
- Avg first response: 15 minutes
- Slack message response rate: 95%
- On-time task completion rate: 85%

### Suggestions
- 💡 Consider reducing meeting time to increase focus time
- 💡 Wednesday afternoon is peak productivity, good for deep work
- 💡 Task overdue rate slightly increased, consider improving estimates

Need a detailed report?

Team Sentiment Analysis

User: @team-bot Analyze the team's recent sentiment

Agent: Analyzing team sentiment...

[Analyzing recent communication records]
[Identifying sentiment keywords]
[Generating sentiment report]

## Team Sentiment Analysis

### Overall Sentiment
- This week's sentiment index: 7.2/10
- Last week: 7.5/10
- Change: -0.3 (slight decrease)

### Sentiment Distribution
- Positive words: 65% (done, completed, great, keep it up)
- Neutral words: 30% (in progress, pending, discussion)
- Negative words: 5% (delayed, issue, pressure)

### Needs Attention
- Alice: Recent overtime, consider scheduling rest
- Bob: Heavy workload, consider redistributing

### Suggestions
- 🌟 Schedule team activity for Friday afternoon
- 🌟 Reduce unnecessary meetings
- 🌟 Encourage more positive feedback during code reviews

Would you like me to send a team care message?

Best Practices

1. Channel Division of Labor

Channel Purpose Mention Rule
#general All-hands announcements Requires @
#engineering Technical discussion No @ needed
#alerts System alerts Auto notification
#random Casual chat No @ needed

2. Response Guidelines

{
  "responseRules": {
    "urgent": {
      "keywords": ["urgent", "production issue"],
      "response": "Immediate response",
      "escalation": "Escalate if no response within 5 minutes"
    },
    "normal": {
      "keywords": [],
      "response": "Respond within 2 hours"
    }
  }
}

3. Notification Strategy

{
  "notifications": {
    "quietHours": {
      "start": "22:00",
      "end": "08:00"
    },
    "channels": {
      "slack": {
        "urgent": "always",
        "normal": "workingHours"
      },
      "discord": {
        "urgent": "always",
        "normal": "quiet"
      }
    }
  }
}

Summary

Building a team collaboration Agent with OpenClaw:

  • Multi-channel integration: Unified Slack, Discord, Teams access
  • Knowledge base management: Team knowledge sharing and query
  • Task tracking: Auto assignment, reminders, statistics
  • Meeting coordination: Create, record, generate minutes
  • Workflow automation: PR notifications, deployment alerts, on-call reminders
  • Team analytics: Work statistics, sentiment analysis

Changelog:

  • 2026-02-26: Initial release

Series Navigation: