clippyMicrosoft 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.
Install via ClawdBot CLI:
clawdbot install foeken/clippyRequires:
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 "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
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 "alice@company.com,bob@company.com"
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 "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"
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
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
Generated Mar 1, 2026
An executive assistant uses Clippy to manage a busy executive's Outlook calendar, scheduling meetings, responding to invitations, and finding available times. This streamlines daily coordination without requiring Graph API setup, ideal for small to mid-sized organizations.
A remote team lead employs Clippy to send and manage emails, including attachments and markdown formatting, and searches for colleagues or rooms. It enhances communication efficiency by automating repetitive email tasks through a CLI interface.
An event planner uses Clippy to search for available conference rooms and schedule recurring meetings with multiple attendees. This simplifies room allocation and meeting setup in corporate environments without complex Azure integrations.
IT support staff utilize Clippy to read and respond to email tickets, mark messages as read, and forward details to colleagues. It aids in managing high-volume inboxes and ensuring timely responses in support workflows.
A sales professional leverages Clippy to send bulk personalized emails with attachments and track replies. This automates outreach efforts and integrates with existing Outlook workflows for lead generation and follow-ups.
Offer Clippy as a free open-source tool for basic calendar and email management, with premium features like advanced automation scripts or priority support for a subscription fee. This attracts individual users and small teams while generating revenue from enterprises.
Provide consulting services to help organizations integrate Clippy into their workflows, offering custom scripts, training, and support. This model leverages the tool's flexibility to address specific business needs and generate project-based income.
Bundle Clippy as part of MSP offerings for clients needing Outlook automation, with managed keepalive sessions and health monitoring. This adds value to existing IT services and creates recurring revenue through maintenance contracts.
💬 Integration Tip
Set up the keepalive service as a systemd or launchd process to maintain authentication and monitor health via the health file, ensuring reliable long-term operation.
Interact with Google Calendar via the Google Calendar API – list upcoming events, create new events, update or delete them. Use this skill when you need programmatic access to your calendar from OpenClaw.
Read, search, and manage Outlook emails and calendar via Microsoft Graph API. Use when the user asks about emails, inbox, Outlook, Microsoft mail, calendar events, or scheduling.
Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.
This skill should be used when interacting with Apple Calendar on macOS. Use it for listing calendars, viewing events, creating/updating/deleting calendar events, and checking availability/free-busy times. Triggers on requests like "check my calendar", "schedule a meeting", "what's on my schedule", "am I free tomorrow", or any calendar-related operations.
Access and manage Google Calendar events with gogcli for cross-calendar agendas, keyword search, and filtered outputs avoiding unwanted calendars like holidays.
Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries