Install
openclaw skills install m365-pnp-cliCLI for Microsoft 365 - Manage Microsoft 365 tenant, SharePoint Online, Teams, OneDrive, and more. Official PnP (Patterns and Practices) CLI.
openclaw skills install m365-pnp-cliThis skill provides access to the CLI for Microsoft 365 – the official PnP (Patterns and Practices) tool for Microsoft 365 management.
When in doubt, ALWAYS call m365 --help first to see all possibilities!
# Always call help when unsure!
m365 --help
# For specific commands:
m365 login --help
m365 spo --help
m365 teams --help
The CLI must be installed:
npm install -g @pnp/cli-microsoft365
Or use npx (sandbox):
npx @pnp/cli-microsoft365 --help
m365 login # Device Code Login
m365 logout # Logout
m365 status # Check login status
m365 spo site list # List all sites
m365 spo site get --url <url> # Get site details
m365 spo list list --webUrl <url> # Lists in a site
m365 spo file list # List files
m365 spo folder add # Create folder
m365 teams channel list # List channels
m365 teams channel get # Get channel details
m365 teams user list # List team members
m365 teams chat list # List chats
m365 teams meeting list # List meetings
m365 onedrive drive list # OneDrive Drives
m365 onedrive file list # List files
m365 onedrive file get # Get file content
m365 outlook mail list # List emails
m365 outlook calendar list # List calendar events
m365 planner task list # Planner Tasks
m365 planner plan get # Get plan details
m365 entra user list # List users
m365 entra group list # List groups
m365 entra app list # List apps
# When in doubt - call help first!
m365 --help
# For specific commands:
m365 spo --help
m365 teams --help
m365 login --help
# Login (Device Code Flow)
m365 login
# Check status
m365 status
# SharePoint: List sites
m365 spo site list
# SharePoint: Get specific site
m365 spo site get --url "https://contoso.sharepoint.com/sites/test"
# Teams: List channels
m365 teams channel list --teamId <team-id>
# OneDrive: Files
m365 onedrive file list
# Outlook: Emails
m365 outlook mail list --folder Inbox
# Planner: Tasks
m365 planner task list
# As JSON (default)
m365 spo site list
# As text
m365 spo site list --output text
# Filter with JMESPath
m365 spo site list --query "[?Template==\`GROUP#0\`].{Title:Title, Url:Url}"
The CLI uses Device Code Flow by default:
m365 login
# → You'll receive a code on another device
# → Use that code to authenticate with Microsoft
For automated scripts, you can also use:
npm i -g @pnp/cli-microsoft365