Back

16. OpenClaw in Practice: Building an Office Automation Assistant

This article demonstrates how to use OpenClaw to build an office automation assistant, including automatic email processing, intelligent calendar management, meeting minutes generation, document organization, and more to boost daily productivity.

For OpenClaw v2026.2 | Requires gmail, google-calendar, google-docs skills installed and Google account authorization.

TL;DR: Install skills with openclaw skill install gmail google-calendar. Email auto-processing: configure rules "autoProcess": {"rules": [...]}. Calendar management: google-calendar skill. Meeting minutes: Agent automatically records and generates. Daily report: Cron "schedule": "0 18 * * 1-5" for automatic generation. Overall workflow: Email → Classify → Extract events → Sync calendar.

Practice Goals

Build an assistant that can:

  1. Process emails automatically
  2. Manage schedules intelligently
  3. Generate meeting minutes
  4. Organize work documents
  5. Create daily work reports

Installing Required Skills

# Gmail skill
openclaw skill install gmail

# Calendar skill
openclaw skill install google-calendar

# Documents skill
openclaw skill install google-docs

# Meeting skill
openclaw skill install zoom

Automatic Email Processing

Configuring Gmail

{
  "skills": {
    "gmail": {
      "credentials": {
        "clientId": "${GMAIL_CLIENT_ID}",
        "clientSecret": "${GMAIL_CLIENT_SECRET}"
      },
      "autoProcess": {
        "enabled": true,
        "rules": [
          {
            "from": "[email protected]",
            "action": "summarize",
            "label": "JIRA"
          },
          {
            "from": "[email protected]",
            "action": "summarize",
            "label": "GitHub"
          },
          {
            "subject": "会议邀请",
            "action": "extract-calendar",
            "label": "会议"
          }
        ]
      }
    }
  }
}

Email Processing Scenario

User: Help me process today's emails

Agent: Sure, let me check the 23 emails received today...

[Scanning emails]
[Classifying and processing]
[Extracting important information]

Processing results:

**Requires Reply** (3):
1. From Director Zhang: Project progress confirmation - due tomorrow
2. From HR: Training registration confirmation - need to select date
3. From client: Requirements change notice - needs evaluation

**Auto-processed** (15):
- GitHub notifications: 5 emails, summarized
- JIRA updates: 4 emails, summarized
- Marketing emails: 6 emails, archived

**Calendar Extracted** (2):
- Product review meeting: Thursday 14:00
- 1-on-1 meeting: Friday 10:00

**Needs Attention** (3):
- System maintenance notice: This Saturday
- Release plan
- New employee onboarding notice

Would you like me to draft replies for you?

Email Reply Templates

# Email Reply Templates

## Project Progress Confirmation
Thank you for your attention. Current project progress:
- Completed: [List completed items]
- In progress: [List in-progress items]
- Pending: [List pending items]
Expected to deliver on time. Will update promptly if any changes occur.

## Requirements Change Evaluation
Received requirements change. Initial evaluation:
- Impact scope: [Assess impact]
- Effort estimate: [Estimate workload]
- Recommended approach: [Suggestions]
Please confirm if further discussion is needed.

Intelligent Calendar Management

Configuring Calendar

{
  "skills": {
    "google-calendar": {
      "calendarId": "primary",
      "timezone": "Asia/Shanghai",
      "reminders": {
        "before": [15, 5],
        "method": "notification"
      },
      "workHours": {
        "start": "09:00",
        "end": "18:00"
      }
    }
  }
}

Calendar Management Scenario

User: Help me schedule tomorrow

Agent: Let me check tomorrow's schedule...

[Fetching calendar data]
[Analyzing existing arrangements]
[Suggesting schedule optimization]

Tomorrow (Wednesday) schedule:

**Morning**
- 09:00-09:30 Email processing (suggested)
- 09:30-11:00 Deep work: Project A development
- 11:00-12:00 Product review meeting

**Afternoon**
- 14:00-15:00 Team weekly meeting
- 15:00-17:00 Code review
- 17:00-18:00 1-on-1 meeting

**Suggested adjustments**:
- The 14:00 meeting may conflict with the 15:00 review; consider postponing to 15:30
- Recommend reserving 12:00-13:00 for lunch and break

Would you like me to make these adjustments?

Smart Reminders

{
  "cron": [
    {
      "id": "daily-morning",
      "schedule": "0 8 * * 1-5",
      "message": "Good morning! Here are today's schedule and to-do items"
    },
    {
      "id": "meeting-reminder",
      "schedule": "*/15 * * * *",
      "message": "Check upcoming meetings and remind in advance"
    }
  ]
}

Meeting Minutes Generation

Meeting Recording Flow

User: Help me record this afternoon's product review meeting

Agent: Sure, I'll help you record. Please let me know when the meeting starts.

[When meeting starts]
User: The meeting has started

Agent: Starting meeting minutes recording...

[Recording...]

User: The meeting has ended

Agent: Here are the meeting minutes:

## Product Review Meeting Minutes

**Date**: 2026-02-26 14:00-15:00
**Attendees**: Product team, Development team, Design team
**Host**: Zhang San

### Topic 1: New Feature Priorities
- Discussion points: Top three user-requested features
- Decision: Prioritize search feature development, launch next month

### Topic 2: UI Optimization
- Discussion points: Homepage redesign proposal
- Decision: Design team to deliver two versions, review this Friday

### Action Items
| Owner | Task | Due Date |
|-------|------|----------|
| Li Si | Complete search feature design | 03-01 |
| Wang Wu | Deliver two homepage versions | 02-28 |
| Zhao Liu | Prepare technical evaluation report | 03-05 |

Would you like me to send this to the relevant people?

Meeting Minutes Template

# {{Meeting Name}} Meeting Minutes

**Date**: {{date}}
**Time**: {{time}}
**Attendees**: {{participants}}
**Host**: {{host}}
**Recorder**: {{recorder}}

## Topics

### Topic 1: {{topic1}}
- Discussion points: {{points}}
- Decision: {{decision}}

### Topic 2: {{topic2}}
...

## Action Items

| Owner | Task | Due Date |
|-------|------|----------|
{{action_items}}

## Next Meeting
- Time: {{next_meeting}}
- Topics: {{next_topics}}

Automatic Document Organization

Document Organization Scenario

User: Help me organize this project folder

Agent: Sure, let me analyze the project folder...

[Scanning files]
[Analyzing content]
[Suggesting organization plan]

Found the following files:

**Needs Organization** (12):
- Scattered documents (5)
- Unnamed files (3)
- Duplicate versions (4)

**Suggested Organization**:

    project/
    ├── requirements/
    │   ├── PRD-v1.0.md
    │   └── requirements-change-log.md
    ├── design/
    │   ├── UI-mockups/
    │   └── architecture-diagrams/
    ├── development/
    │   ├── API-docs.md
    │   └── dev-guidelines.md
    ├── testing/
    │   └── test-cases/
    └── meeting-minutes/
        └── 2026-02/

Execute organization?

Document Naming Conventions

{
  "documentRules": {
    "naming": {
      "pattern": "{{type}}-{{name}}-{{date}}",
      "types": ["PRD", "设计", "API", "会议", "报告"],
      "dateFormat": "YYYY-MM-DD"
    },
    "versioning": {
      "enabled": true,
      "pattern": "v{{major}}.{{minor}}"
    }
  }
}

Daily Work Report Generation

Daily Report Template

{
  "cron": [
    {
      "id": "daily-report",
      "schedule": "0 18 * * 1-5",
      "session": "work",
      "message": "Please generate today's work report"
    }
  ]
}

Report Generation

User: Generate today's work report

Agent: Compiling today's work...

[Analyzing Git commits]
[Analyzing calendar events]
[Analyzing email correspondence]

# Work Report - 2026-02-26

## Completed Today
- ✅ Completed user search feature development (3 commits)
- ✅ Fixed login page UI issues
- ✅ Attended product review meeting
- ✅ Completed 2 PR reviews

## In Progress
- 🔄 Search result optimization (60% complete)
- 🔄 API documentation update

## Tomorrow's Plan
- Complete search optimization
- Start recommendation algorithm development
- Attend tech sharing session

## Issues Encountered
- Search performance needs optimization; solution proposed

## Statistics
- Code commits: 5
- Code changes: +320 -45 lines
- Meeting duration: 2.5 hours
- Emails processed: 23

Send to the team?

Integrated Workflow

Complete Automation Configuration

{
  "cron": [
    {
      "id": "morning-brief",
      "schedule": "0 8 * * 1-5",
      "message": "Good morning! Today's schedule and to-dos:\n1. Today's meetings\n2. Important emails\n3. Pending tasks"
    },
    {
      "id": "email-summary",
      "schedule": "0 12 * * 1-5",
      "message": "Midday email summary"
    },
    {
      "id": "daily-report",
      "schedule": "0 18 * * 1-5",
      "message": "Generate work report"
    }
  ],
  "webhooks": [
    {
      "id": "jira-update",
      "path": "/webhook/jira",
      "message": "Received JIRA update: {{data.issue.key}} - {{data.issue.summary}}"
    }
  ]
}

Summary

Building an office automation assistant with OpenClaw:

  • Email processing: Auto-classification, summarization, and replies
  • Calendar management: Smart scheduling, conflict detection, advance reminders
  • Meeting minutes: Auto-recording, structured output, distribution
  • Document organization: Standardized naming, auto-archiving, version control
  • Daily reports: Auto-generation, statistics, team sync

Changelog:

  • 2026-02-26: Initial release

Series Navigation: