Giving Claude M365 Access via Power Automate and a FastMCP Server

A developer on r/ClaudeAI shared a practical architecture for giving Claude access to Microsoft 365 without tenant admin privileges. The setup uses Power Automate flows as the execution layer, triggered via webhooks, with a small FastMCP server acting as the bridge.
What It Does
Claude can now perform these M365 actions through MCP tools:
- Read inbox and send emails
- Check calendar
- Save notes to OneDrive under specific folders
- Create Planner tasks
- Append rows to Excel spreadsheets
- Fill Word templates
Architecture
The chain is straightforward:
Claude -> MCP tool call -> FastMCP server -> Power Automate webhook -> M365 connector
Each M365 operation is a separate Power Automate flow with an HTTP trigger. The flows run under the user's account, using already-approved permissions. The FastMCP server (about 200 lines of Python + a JSON config file) routes tool calls to the correct webhook URL.
Setup Overview
- Create Power Automate flows for each action (send email, read calendar, etc.) with an HTTP trigger
- Copy the signed webhook URL from each flow
- Deploy a FastMCP server (fastmcp on PyPI) on a cheap VPS
- Define tools like
m365_send_email,m365_calendar_read,onedrive_create_filethat POST JSON to the webhooks - Point Claude Desktop's MCP config at the server
Practical Lessons
The developer notes that agent tool access doesn't require perfect official API integrations — existing enterprise tools like Power Automate can serve as a pragmatic backend. A funny bug: two MCP tools pointing at the same webhook (due to a forgotten URL update in the config) caused Claude to call the 'right' tool but Power Automate performed the wrong action.
📖 Read the full source: r/ClaudeAI
👀 See Also

6 Patterns That Make Claude Code Skill Files Actually Activate
After testing 2,300+ skill files, a developer identified 6 patterns determining whether a Claude Code skill loads when needed – including specific trigger language, one capability per file, and when-not-to-use lists.

Fix for sub-agents not showing up in OpenClaw v2026.3.13
A workaround for OpenClaw v2026.3.13 where custom sub-agents don't appear in the agent list: simplify the openclaw.json agent list to only include IDs and manually register agents in runs.json with status set to 'idle'.

Maximizing AI Agent Capabilities in OpenClaw
OpenClaw's AI can be optimized by selecting the right model and providing specific system context. The Qwen models excel in tool use, critical for autonomous workflows.

Fix for Claude Desktop Workspace VM Service Issue on Windows 11 Home
A community-developed fix addresses the 'VM service not running' error in Claude Desktop's workspace feature on Windows 11 Home, with manual PowerShell commands and an automated tool available on GitHub.