Mog
Microsoft Ops Gadget — CLI for Microsoft 365 (Mail, Calendar, Drive, Contacts, Tasks, Word, PowerPoint, Excel, OneNote).
visionik
@visionik
What This Skill Does
Command-line interface for Microsoft 365 services including Mail, Calendar, OneDrive, Contacts, Tasks, Word, PowerPoint, Excel, and OneNote. Uses short slugs instead of long GUIDs and stores OAuth tokens locally.
Replaces manually navigating the Microsoft 365 web interface or writing separate scripts for each service by exposing all major APIs through a single CLI with consistent commands.
When to Use It
- Search and send emails from the command line or scripts
- List, create, or update calendar events and check free/busy schedules
- Upload, download, and manage files on OneDrive
- Add, complete, or clear tasks with due dates
- Read, update, or append data to Excel sheets and tables
- Export Word documents or PowerPoint presentations to other formats
Install
$ openclaw skills install @visionik/mogclimog — Microsoft Ops Gadget
CLI for Microsoft 365: Mail, Calendar, OneDrive, Contacts, Tasks, Word, PowerPoint, Excel, OneNote.
The Microsoft counterpart to gog (Google Ops Gadget). Same patterns, different cloud.
Quick Reference
For comprehensive usage, run:
mog --ai-help
This outputs the full dashdash-compliant documentation including:
- Setup/Prerequisites
- All commands and options
- Date/time formats
- Examples (positive and negative)
- Troubleshooting
- Slug system explanation
- gog compatibility notes
Modules
| Module | Commands |
|---|---|
| search, get, send, folders, drafts, attachment | |
| calendar | list, create, get, update, delete, calendars, respond, freebusy, acl |
| drive | ls, search, download, upload, mkdir, move, rename, copy, rm |
| contacts | list, search, get, create, update, delete, directory |
| tasks | lists, list, add, done, undo, delete, clear |
| word | list, export, copy |
| ppt | list, export, copy |
| excel | list, get, update, append, create, metadata, tables, add-sheet, clear, copy, export |
| onenote | notebooks, sections, pages, get, create-notebook, create-section, create-page, delete, search |
Quick Start
# Mail
mog mail search "from:someone" --max 10
mog mail send --to a@b.com --subject "Hi" --body "Hello"
mog mail send --to a@b.com --subject "Report" --body-file report.md
mog mail send --to a@b.com --subject "Newsletter" --body-html "<h1>Hello</h1>"
cat draft.txt | mog mail send --to a@b.com --subject "Hi" --body-file -
# Calendar
mog calendar list
mog calendar create --summary "Meeting" --from 2025-01-15T10:00:00 --to 2025-01-15T11:00:00
mog calendar freebusy alice@example.com bob@example.com
# Drive
mog drive ls
mog drive upload ./file.pdf
mog drive download <slug> --out ./file.pdf
# Tasks
mog tasks list
mog tasks add "Buy milk" --due tomorrow
mog tasks clear
# Contacts
mog contacts list
mog contacts directory "john"
# Excel
mog excel list
mog excel get <id> Sheet1 A1:D10
mog excel update <id> Sheet1 A1:B2 val1 val2 val3 val4
mog excel append <id> TableName col1 col2 col3
# OneNote
mog onenote notebooks
mog onenote search "meeting notes"
Slugs
mog generates 8-character slugs for Microsoft's long GUIDs:
a3f2c891instead ofAQMkADAwATMzAGZmAS04MDViLTRiNzgt...- All commands accept slugs or full IDs
- Use
--verboseto see full IDs
Aliases
mog cal→mog calendarmog todo→mog tasks
Credential Storage
OAuth tokens stored in config directory (0600 permissions):
| Platform | Location |
|---|---|
| macOS | ~/.config/mog/ |
| Linux | ~/.config/mog/ |
| Windows | %USERPROFILE%\.config\mog\ |
Files:
tokens.json- OAuth tokens (encrypted at rest by OS)settings.json- Client IDslugs.json- Slug cache
See Also
mog --ai-help- Full documentationmog <command> --help- Command-specific help
Top skills in this category
microsoft-excel
@byungkyuMicrosoft Excel API integration with managed OAuth. Read and write Excel workbooks, worksheets, ranges, tables, and charts stored in OneDrive. Use this skill when users want to read or modify Excel spreadsheets, manage worksheet data, work with tables, or access cell values. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login; default to read and list calls, and confirm every write or new connection with the user.
LinkedIn API integration with managed OAuth. Share posts, manage profile, and access LinkedIn features. Use this skill when users want to share content on LinkedIn, get profile/organization information, or interact with LinkedIn's platform. Advertising features (campaigns, ad accounts) require additional OAuth scopes — verify granted scopes before use. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key. Calls run through the `maton` CLI with OAuth login; default to read and list calls, and confirm every write or new connection with the user.
google-analytics
@byungkyuGoogle Analytics API integration with managed OAuth. This skill includes two separate APIs: the Admin API (write-capable — can create, update, and delete accounts, properties, and data streams) and the Data API (read-only — runs reports on sessions, users, page views, and conversions). Prefer the Data API connection for reporting-only tasks. Use the Admin API only when administrative changes are explicitly needed. All Admin API write operations require explicit user approval with specific resource identifiers before execution. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login; default to read and list calls, and confirm every write or new connection with the user.
Trello
@byungkyuTrello API integration with managed OAuth. Manage boards, lists, cards, members, and labels. Use this skill when users want to interact with Trello for project management. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login; default to read and list calls, and confirm every write or new connection with the user.
Writing Assistant
@urrrichYou are a Writing Team Lead managing specialized writers via MCP tools. Please ANALYZE the writing task and then:1. if exist references, create a detailed co...