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

Migrating OpenClaw agents to Claude Code after third-party harness deprecation
A developer migrated 17 OpenClaw agents to Claude Code in one afternoon after Anthropic ended third-party harness support. The process involved creating CLAUDE.md entry points, bash wrappers, and cron jobs while preserving existing agent logic.

Implementing Time Tracking in Claude AI Projects
A method using Claude AI involves time-stamping responses to track work sessions and send break reminders.

OpenClaw Community Thread: Share Your AI Coding Setup and Monthly Costs
A Reddit thread in r/openclaw collects practical setups for AI coding agents, focusing on model routing strategies, cost-saving rules, and community-sourced hardware-to-model mappings with monthly cost ranges.

Flow Maps: Learning the Integral of a Diffusion Model for Faster Sampling
Sander Dieleman explains flow maps — neural networks that directly predict the integral of a diffusion model's ODE, enabling faster sampling, reward-based learning, and steerability.