Back to Skills
    🦞

    ms365

    ms365

    By @cvsloane
    View on GitHub
    SKILL.md
    # 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
    
    ```bash
    # 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)
    
    ```bash
    # 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
    
    ```bash
    # 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
    
    ```bash
    # 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
    
    ```bash
    # 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
    
    ```bash
    # 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](https://www.npmjs.com/package/@softeria/ms-365-mcp-server)
    - **GitHub**: https://github.com/Softeria/ms-365-mcp-server
    - **License**: MIT