🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Microsoft 365 Integration

by @cvsloane

Access and manage Microsoft 365 email, calendar, OneDrive files, To Do tasks, and contacts via the MS Graph API with authentication support.

Versionv1.0.0
Downloads4,203
Installs21
Stars⭐ 4
TERMINAL
clawhub install ms365

πŸ“– About This Skill

Microsoft 365 Integration

Description

Access Microsoft 365 services - Email (Outlook), Calendar, OneDrive, To Do tasks, and Contacts via MS Graph API.

Activation

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

Configuration

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)
  • Available Commands

    Authentication

    # 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

    Email (Outlook)

    # 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"

    Calendar

    # 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"]

    OneDrive Files

    # 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"

    To Do Tasks

    # 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"]

    Contacts

    # 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"

    Usage Examples

    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

    Prompts

    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
  • Attribution

    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
  • βš™οΈ Configuration

    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)