skills$openclaw/clippy
foeken7.1k

by foeken

clippy – OpenClaw Skill

clippy is an OpenClaw Skills integration for communication workflows. Microsoft 365 / Outlook CLI for calendar and email. Use when managing Outlook calendar (view, create, update, delete events, find meeting times, respond to invitations), sending/reading emails, or searching for people/rooms in the organization.

7.1k stars3.6k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026communication

Skill Snapshot

nameclippy
descriptionMicrosoft 365 / Outlook CLI for calendar and email. Use when managing Outlook calendar (view, create, update, delete events, find meeting times, respond to invitations), sending/reading emails, or searching for people/rooms in the organization. OpenClaw Skills integration.
ownerfoeken
repositoryfoeken/clippy
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @foeken/clippy
last updatedFeb 7, 2026

Maintainer

foeken

foeken

Maintains clippy in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
638 B
SKILL.md
3.8 KB
SKILL.md

name: clippy description: Microsoft 365 / Outlook CLI for calendar and email. Use when managing Outlook calendar (view, create, update, delete events, find meeting times, respond to invitations), sending/reading emails, or searching for people/rooms in the organization. metadata: {"clawdbot":{"requires":{"bins":["clippy"]}}}

Clippy - Microsoft 365 CLI

Source: https://github.com/foeken/clippy

Works through the M365 web UI via browser automation (Playwright), not the Graph API. No Azure AD app registration required - just login with your browser.

Install

git clone https://github.com/foeken/clippy.git
cd clippy && bun install
bun run src/cli.ts --help

Or link globally: bun link

# Interactive login (opens browser, establishes session)
clippy login --interactive

# Check auth status
clippy whoami

Keepalive (recommended)

Keep a browser session alive to prevent token expiry:

# Start keepalive (keeps browser open, refreshes every 10min)
clippy keepalive --interval 10

For persistent operation, set up as a launchd service (macOS) or systemd (Linux).

Health monitoring: Keepalive writes to ~/.config/clippy/keepalive-health.txt on each successful refresh. Check if this file is stale (>15min) to detect failures.

Calendar

# Today's events
clippy calendar

# Specific day
clippy calendar --day tomorrow
clippy calendar --day monday
clippy calendar --day 2024-02-15

# Week view
clippy calendar --week

# With details (description, attendees)
clippy calendar --details

Create Events

clippy create-event "Title" 09:00 10:00

# Full options
clippy create-event "Meeting" 14:00 15:00 \
  --day tomorrow \
  --description "Meeting notes" \
  --attendees "alice@company.com,bob@company.com" \
  --teams \
  --find-room

# Recurring
clippy create-event "Standup" 09:00 09:15 --repeat daily
clippy create-event "Sync" 14:00 15:00 --repeat weekly --days mon,wed,fri

Update/Delete Events

clippy update-event 1 --title "New Title"
clippy update-event 1 --start 10:00 --end 11:00
clippy delete-event 1
clippy delete-event 1 --message "Need to reschedule"

Respond to Invitations

clippy respond                           # List pending
clippy respond accept --id <eventId>
clippy respond decline --id <eventId> --message "Conflict"
clippy respond tentative --id <eventId>

Find Meeting Times

clippy findtime
clippy findtime --attendees "alice@company.com,bob@company.com"
clippy findtime --duration 60 --days 5

Email

# Inbox
clippy mail
clippy mail --unread
clippy mail -n 20
clippy mail --search "invoice"

# Other folders
clippy mail sent
clippy mail drafts
clippy mail archive

# Read email
clippy mail -r <number>

# Download attachments
clippy mail -d <number> -o ~/Downloads

Send Email

clippy send \
  --to "recipient@example.com" \
  --subject "Subject" \
  --body "Message body"

# With CC, attachments, markdown
clippy send \
  --to "alice@example.com" \
  --cc "manager@example.com" \
  --subject "Report" \
  --body "**See attached**" \
  --markdown \
  --attach "report.pdf"

Reply/Forward

clippy mail --reply <number> --message "Thanks!"
clippy mail --reply-all <number> --message "Got it"
clippy mail --forward <number> --to-addr "colleague@example.com"
clippy mail --mark-read <number>
clippy mail --flag <number>
clippy mail --move <number> --to archive

People/Room Search

clippy find "john"                       # People
clippy find "conference" --rooms         # Rooms

JSON Output

clippy calendar --json
clippy mail --json

Configuration

Profile directory can be overridden:

export CLIPPY_PROFILE_DIR=~/.config/clippy/my-profile
README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

Configuration

Profile directory can be overridden: ```bash export CLIPPY_PROFILE_DIR=~/.config/clippy/my-profile ```

FAQ

How do I install clippy?

Run openclaw add @foeken/clippy in your terminal. This installs clippy into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/foeken/clippy. Review commits and README documentation before installing.