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

Guide: Deploying OpenClaw with llama.cpp on GEEKOM IT15 Mini PC
A technical walkthrough details switching OpenClaw from Ollama to llama.cpp to run a local Qwen3-8B model with Intel Arc GPU acceleration, covering configuration changes, manual server management, and troubleshooting common pitfalls.

How to Claim and Extend Anthropic API Credits Using Manifest's Router
A Reddit post details steps to claim up to $200 in free Anthropic API credits and configure Manifest's router to automatically route prompts to cheaper models like Haiku for simple tasks, extending credit lifespan from one month to several.

OpenClaw Update Fix: Resolving Telegram Exec 'allowlist miss' Errors
A recent OpenClaw update caused Telegram exec commands to fail with 'exec denied: allowlist miss' errors even after disabling approvals. The fix requires enabling elevated access, configuring exec security explicitly, and updating both openclaw.json and exec-approvals.json files.

OpenClaw Agent Cost Analysis: From $340 to $112 Monthly with Five Optimizations
A developer tracked 18,000 API calls across four OpenClaw agents for 30 days, finding 70% of tasks didn't need GPT-4.1. By implementing prompt caching, shortening system prompts, batching analytics, switching to cheaper models, and adding max token limits, costs dropped from $340 to $112 monthly.