Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Access and manage Microsoft 365 email, calendar, OneDrive files, To Do tasks, and contacts via the MS Graph API with authentication support.
Access and manage Microsoft 365 email, calendar, OneDrive files, To Do tasks, and contacts via the MS Graph API with authentication support.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Access Microsoft 365 services - Email (Outlook), Calendar, OneDrive, To Do tasks, and Contacts via MS Graph API.
Activated when user mentions: outlook, email, calendar, onedrive, microsoft, office 365, o365, ms365, my meetings, my emails, schedule meeting, send email, check calendar, to do, microsoft tasks
Authentication is cached after first login. No environment variables required for device code flow. For headless/automated operation, set these environment variables: MS365_MCP_CLIENT_ID - Azure AD app client ID MS365_MCP_CLIENT_SECRET - Azure AD app secret MS365_MCP_TENANT_ID - Tenant ID (use "consumers" for personal accounts)
# Login via device code (interactive) python3 /root/clawd/skills/ms365/ms365_cli.py login # Check authentication status python3 /root/clawd/skills/ms365/ms365_cli.py status # List cached accounts python3 /root/clawd/skills/ms365/ms365_cli.py accounts # Get current user info python3 /root/clawd/skills/ms365/ms365_cli.py user
# List recent emails python3 /root/clawd/skills/ms365/ms365_cli.py mail list [--top N] # Read specific email python3 /root/clawd/skills/ms365/ms365_cli.py mail read MESSAGE_ID # Send email python3 /root/clawd/skills/ms365/ms365_cli.py mail send --to "recipient@example.com" --subject "Subject" --body "Message body"
# List upcoming events python3 /root/clawd/skills/ms365/ms365_cli.py calendar list [--top N] # Create event python3 /root/clawd/skills/ms365/ms365_cli.py calendar create --subject "Meeting" --start "2026-01-15T10:00:00" --end "2026-01-15T11:00:00" [--body "Description"] [--timezone "America/Chicago"]
# List files in root python3 /root/clawd/skills/ms365/ms365_cli.py files list # List files in folder python3 /root/clawd/skills/ms365/ms365_cli.py files list --path "Documents"
# List task lists python3 /root/clawd/skills/ms365/ms365_cli.py tasks lists # Get tasks from a list python3 /root/clawd/skills/ms365/ms365_cli.py tasks get LIST_ID # Create task python3 /root/clawd/skills/ms365/ms365_cli.py tasks create LIST_ID --title "Task title" [--due "2026-01-20"]
# List contacts python3 /root/clawd/skills/ms365/ms365_cli.py contacts list [--top N] # Search contacts python3 /root/clawd/skills/ms365/ms365_cli.py contacts search "John"
User: "Check my outlook email" Agent: Runs mail list --top 10 command User: "What meetings do I have today?" Agent: Runs calendar list command User: "Send an email to john@company.com about the project update" Agent: Runs mail send with appropriate parameters User: "Show my OneDrive files" Agent: Runs files list command User: "Add a task to review the budget" Agent: Lists task lists first, then creates task in appropriate list
When helping with Microsoft 365: Use the ms365_cli.py script for all operations Check authentication status first if commands fail If not logged in, guide user through device code login For calendar events, use ISO 8601 datetime format Default timezone is America/Chicago When sending email, confirm recipient and content before sending For tasks, list available task lists first so user can choose
This skill uses the ms-365-mcp-server by Softeria. NPM Package: @softeria/ms-365-mcp-server GitHub: https://github.com/Softeria/ms-365-mcp-server License: MIT
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.