From sundial-org-awesome-openclaw-skills-4
CLI for Microsoft 365/Outlook calendar and email. View, create, update events, send/read emails, respond to invitations, and find meeting times via browser automation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sundial-org-awesome-openclaw-skills-4:clippyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Source: https://github.com/foeken/clippy
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.
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
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.
# 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
clippy create-event "Title" 09:00 10:00
# Full options
clippy create-event "Meeting" 14:00 15:00 \
--day tomorrow \
--description "Meeting notes" \
--attendees "[email protected],[email protected]" \
--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
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"
clippy respond # List pending
clippy respond accept --id <eventId>
clippy respond decline --id <eventId> --message "Conflict"
clippy respond tentative --id <eventId>
clippy findtime
clippy findtime --attendees "[email protected],[email protected]"
clippy findtime --duration 60 --days 5
# 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
clippy send \
--to "[email protected]" \
--subject "Subject" \
--body "Message body"
# With CC, attachments, markdown
clippy send \
--to "[email protected]" \
--cc "[email protected]" \
--subject "Report" \
--body "**See attached**" \
--markdown \
--attach "report.pdf"
clippy mail --reply <number> --message "Thanks!"
clippy mail --reply-all <number> --message "Got it"
clippy mail --forward <number> --to-addr "[email protected]"
clippy mail --mark-read <number>
clippy mail --flag <number>
clippy mail --move <number> --to archive
clippy find "john" # People
clippy find "conference" --rooms # Rooms
clippy calendar --json
clippy mail --json
Profile directory can be overridden:
export CLIPPY_PROFILE_DIR=~/.config/clippy/my-profile
npx claudepluginhub sundial-org/awesome-openclaw-skillsManage Outlook emails and calendar via Microsoft Graph API. Read, search, send, flag, and organize emails; view and create calendar events.
Reads, searches, sends, and organizes Outlook mail, calendar events, and contacts via the Microsoft Graph API. Useful for email management and scheduling.
Reads, searches, drafts, sends, and manages Outlook/Microsoft 365 email and calendar events via Microsoft Graph API. Handles mail triage, folder management, attachments, scheduling, and meeting invites.