⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

v1.1.1

officeclaw

@danielithomas⭐ 8 stars

Connect to personal Microsoft accounts via Microsoft Graph API to manage email, calendar events, and tasks. Use this skill when the user needs to read/write Outlook mail, manage calendar appointments, or handle Microsoft To Do tasks.

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐ 8 on GitHubGitHub ↗

New / niche

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

Overview

OfficeClaw is an OpenClaw skill that enables AI agents to interact with personal Microsoft accounts through the Microsoft Graph API. Agents can read/write emails, manage calendar events, and handle tasks — all through natural language commands.

  • 📧 Email — Read inbox, send emails with attachments, search, mark read/unread, archive
  • 📅 Calendar — View events, create meetings, update, accept/decline
  • ✅ Tasks — Manage Microsoft To Do lists, create/complete/reopen tasks

Quick Start

Installation

pip install officeclaw

Requires Python 3.10 or newer.

Setup (One-Time)

Quick start: OfficeClaw ships with a default app registration — just run officeclaw auth login and go. No Azure setup needed.

Advanced: Want full control? Create your own Azure App Registration (free, ~5 minutes) and set OFFICECLAW_CLIENT_ID in your .env. See Microsoft's guide or follow the steps below.

1. Create an Azure App Registration

  1. Go to entra.microsoft.com → App registrations → New registration

  2. Name: officeclaw (or anything you like)

  3. Supported account types: Personal Microsoft accounts only

  4. Redirect URI: leave blank (not needed for device code flow)

  5. Click Register

  6. Copy the Application (client) ID — this is your OFFICECLAW_CLIENT_ID

  7. Go to Authentication → Advanced settings → Allow public client flows → Yes → Save

  8. Go to API permissions → Add permission → Microsoft Graph → Delegated permissions. Choose based on your needs:

    Read-only (safest):

    • Mail.Read, Calendars.Read, Tasks.ReadWrite*

    Full access (all features including send/delete):

    • Mail.Read, Mail.ReadWrite, Mail.Send
    • Calendars.Read, Calendars.ReadWrite
    • Tasks.ReadWrite

    *Tasks.ReadWrite is the minimum available scope for Microsoft To Do — there is no read-only option.

    Least privilege: Only grant the permissions you actually need. If you only want to read emails and calendar, skip Mail.ReadWrite, Mail.Send, and Calendars.ReadWrite. OfficeClaw will gracefully error on commands that require missing permissions.

2. Configure Environment

Create a .env file:

OFFICECLAW_CLIENT_ID=your-client-id-here

# Capability gates (disabled by default for safety)
# OFFICECLAW_ENABLE_SEND=true    # Allow sending/replying/forwarding emails
# OFFICECLAW_ENABLE_DELETE=true   # Allow deleting emails, events, and tasks

No client secret needed for device code flow. Write operations (send, delete) are disabled by default — enable only what you need.

3. Authenticate

officeclaw auth login

This displays a URL and code. Open the URL in a browser, enter the code, and sign in with your Microsoft account. Tokens are stored securely in ~/.officeclaw/token_cache.json (permissions 600).

Usage

# List recent emails
officeclaw mail list --limit 10

# Send an email with attachment
officeclaw mail send --to [email protected] --subject "Report" --body "See attached" --attachment report.pdf

# Search emails
officeclaw mail search "from:[email protected]"

# List attachments for a message
officeclaw mail attachments AQMkADEzN...

# Download an attachment
officeclaw mail download AQMkADEzN... report.pdf

# View calendar
officeclaw calendar list --start 2026-02-01 --end 2026-02-28

# Create a calendar event
officeclaw calendar create --subject "Team Meeting" --start "2026-02-15T10:00:00" --end "2026-02-15T11:00:00" --location "Conference Room"

# List task lists
officeclaw tasks list-lists

# Create a task
officeclaw tasks create --list-id <id> --title "Review report" --due-date "2026-02-20"

# JSON output (for agents)
officeclaw --json mail list

For OpenClaw Agents

Install as a skill:

clawhub install officeclaw

Once installed, OpenClaw agents can use OfficeClaw through natural language:

User: "Show me today's calendar"
Agent: You have 3 events today:
       • 9:00 AM — Team standup
       • 2:00 PM — Client call
       • 4:00 PM — Project review

User: "Send an email to [email protected] about tomorrow's meeting"
Agent: Email sent to [email protected] ✓

User: "Mark 'finish report' as done"
Agent: Task completed ✓

See skill/SKILL.md for the full skill manifest.

Commands

Authentication

CommandDescription
officeclaw auth loginAuthenticate via device code flow
officeclaw auth statusShow authentication status
officeclaw auth logoutClear stored tokens

Email

CommandDescription
officeclaw mail listList messages
officeclaw mail list --unreadList unread messages only
officeclaw mail get <id>Get message details
officeclaw mail send --to <email> --subject <subj> --body <body>Send email
officeclaw mail send ... --attachment <file>Send email with attachment
officeclaw mail search <query>Search emails
officeclaw mail archive <id>Archive a message
officeclaw mail mark-read <id>Mark as read
officeclaw mail attachments <message-id>List attachments for a message
officeclaw mail download <message-id> <attachment-name>Download an attachment

Calendar

CommandDescription
officeclaw calendar list --start <date> --end <date>List events
officeclaw calendar get <id>Get event details
officeclaw calendar create --subject <subj> --start <dt> --end <dt>Create event
officeclaw calendar update <id> --subject <subj>Update event
officeclaw calendar delete <id>Delete event

Tasks

CommandDescription
officeclaw tasks list-listsList task lists
officeclaw tasks list --list-id <id>List tasks
officeclaw tasks list --list-id <id> --status activeActive tasks only
officeclaw tasks create --list-id <id> --title <title>Create task
officeclaw tasks complete --list-id <id> --task-id <id>Complete task
officeclaw tasks reopen --list-id <id> --task-id <id>Reopen task

Configuration

Environment variables (or .env file):

VariableRequiredDescription
OFFICECLAW_CLIENT_IDNoAzure app client ID (uses built-in default if not set)
OFFICECLAW_CLIENT_SECRETNoOnly for confidential client (auth code) flow. Not needed for device code flow.
OFFICECLAW_TENANT_IDNoTenant ID (default: consumers)
OFFICECLAW_SCOPESNoOverride default Graph API scopes
OFFICECLAW_TOKEN_CACHE_DIRNoToken cache directory (default: ~/.officeclaw)
OFFICECLAW_ENABLE_SENDNoSet true to allow send/reply/forward emails (default: disabled)
OFFICECLAW_ENABLE_DELETENoSet true to allow deleting emails, events, tasks (default: disabled)
OFFICECLAW_ALLOWED_RECIPIENTSNoComma-separated list of allowed recipient email addresses. When set, outbound emails are restricted to these addresses only. Blocked attempts are logged. See Recipient Allowlist below.
`OFFI

// HOW IT'S BUILT

KEY FILES

skill/SKILL.mdREADME.md

// REPO STATS

8 stars