Turn your real-world experience into part of the show.

Episodes

Nov. 28, 2025

Upgrade Java 8 Apps to Java 21 with AI Agents

Stop burning cycles on manual Java upgrades. In this episode, we walk through a real-world, end-to-end modernization of a legacy Java 8 Spring app to Java 21, and show how AI agents quietly do the work your team keeps postponing—with receipts. You’ll hear how we go from a drifting Java 8-era Spring MVC app on AWS (pinned dependencies, unpatched CVEs, idle compute waste, “works on my laptop” folklore) to a faster, cheaper, fully-audited Java 21 runtime on Azure. We let a co-pilot-style modernization agent handle the grind: inventorying the entire stack, ranking CVEs by real reachability, auto-applying OpenRewrite recipes, aligning BOMs, fixing illegal reflective access, and keeping every change traceable in Git. Then we push further: AWS out, Azure in—choosing between Azure App Service vs Azure Spring Apps, migrating to Azure SQL Database, generating production-ready Dockerfiles, wiring GitHub Actions CI/CD, plugging secrets into Key Vault & managed identities, and right-sizing p…
Guest: Mirko Peters
Upgrade Java 8 Apps to Java 21 with AI Agents
M365 FM Podcast
Upgrade Java 8 Apps to Java 21 with AI Agents
Nov. 28, 2025

Build Reliable AI Agents for Microsoft 365

Tired of “smart” AI agents doing dumb, dangerous things in your Microsoft 365 tenant? This episode shows you the one architectural move that turns flaky prompt-powered agents into reliable, auditable systems: a pre-execution contract check that blocks bad behavior before it ever hits your data. We walk through how to separate LLM cognition from real-world operations, why executors and validated workflow graphs beat prompt hacks every time, and how to wire this into Microsoft 365 Graph, Azure OpenAI and Copilot Studio without creating a compliance nightmare. You’ll see how a validator proves three things before any tool call runs: the capability is real, the caller actually has permission right now, and the outcome is feasible and verifiable within strict data boundaries. No “trust the model,” no silent partial failures, no hallucinated tools. Instead, you get schema-checked JSON, idempotent executors, policy-enforced allow lists, human checkpoints as first-class workflow nodes, and…
Guest: Mirko Peters
Build Reliable AI Agents for Microsoft 365
M365 FM Podcast
Build Reliable AI Agents for Microsoft 365
Nov. 27, 2025

Build a Copilot That Respects DLP with Context Engineering

Why do so many Microsoft 365 Copilot projects fail — even when the prompts look fine? In this episode, we explain why the real issue is not prompt engineering, but context engineering. Most AI failures are not model failures. They are context failures. When Copilot lacks structured, governed, and relevant information, it produces inconsistent, low-quality, or misleading results. Context Engineering goes beyond writing better prompts. It is the systematic design, management, and governance of all information your Copilot has access to — ensuring accurate, stable, and trustworthy outputs. We break down what context engineering really means in Microsoft 365 environments, why it matters for enterprise AI adoption, and how to design Copilot solutions that scale reliably. If you want consistent Copilot results instead of AI randomness, this episode is essential.
Guest: Mirko Peters
Build a Copilot That Respects DLP with Context Engineering
M365 FM Podcast
Build a Copilot That Respects DLP with Context Engineering
Nov. 27, 2025

Power Automate vs Azure Logic Apps for Enterprise Integration

Summary: In this episode I explain why “1,400+ connectors” is a vanity metric and compare Power Automate vs Azure Logic Apps for real enterprise integration. We dig into throttling, throughput, vNet and private endpoints, Azure Arc hybrid, AI agents with Azure Functions, and give you a simple decision rule: Power Automate for departmental M365 convenience, Logic Apps for high-volume, governed, hybrid workloads.
Guest: Mirko Peters
Power Automate vs Azure Logic Apps for Enterprise Integration
M365 FM Podcast
Power Automate vs Azure Logic Apps for Enterprise Integration
Nov. 26, 2025

Copilot Workflows Agent vs Power Automate: What to Migrate

n this episode, we put Microsoft 365 Copilot’s Workflows Agent head-to-head with Power Automate and ask the uncomfortable question: are your painstakingly hand-built cloud flows now the slow, expensive option? We break down where conversational, intent-driven automation beats traditional designer-driven flows for everyday work across Outlook, Teams, SharePoint, Planner and Microsoft Graph—and where Power Automate still absolutely owns the room. You’ll see real-world use cases—approvals, data sync, incident triage, CRM updates and IT onboarding—timed and dissected for build time, error surface, governance, and licensing cost. We unpack DLP, environments, auditability, SLAs, and why hybrid patterns (Agent front, Power Automate spine) are where the real ROI hides. By the end, you’ll know what to keep in Power Automate, what to move to Workflows Agent, and what to retire entirely—so you stop hoarding fragile flows and start shipping automations that match how your org actually works.
Guest: Mirko Peters
Copilot Workflows Agent vs Power Automate: What to Migrate
M365 FM Podcast
Copilot Workflows Agent vs Power Automate: What to Migrate
Nov. 26, 2025

When to Move Power Apps from SharePoint to Dataverse

In this episode, we break down the myth that “SharePoint lists are a database for Power Apps” and show why that belief quietly kills performance, scalability, and data integrity. You’ll learn exactly where SharePoint list–backed Power Apps fall apart: delegation limits (500/2,000 record caps), the 5,000-item list view threshold, non-delegable filters, item-level permissions at scale, and complex queries that push all the heavy lifting to the client. We contrast this with Dataverse as the native data engine for Power Apps: server-side query execution, rich relational modeling, row and field-level security, auditing, better offline behavior, and clean integration with Power BI, Data Lake, and AI workloads. Instead of workarounds, throttled flows, and blue delegation banners, you get reliable performance and honest record counts. The episode gives IT leaders and makers a decision framework: clear thresholds for when to move from SharePoint to Dataverse (record volumes, compound fil…
Guest: Mirko Peters
When to Move Power Apps from SharePoint to Dataverse
M365 FM Podcast
When to Move Power Apps from SharePoint to Dataverse
Nov. 25, 2025

Fix Power Apps Excel Data Limits with Dataverse

You clicked “Create app from Excel,” felt clever, and accidentally migrated your chaos at scale. In this episode, we break down why Excel is a calculator with delusions of grandeur and why Dataverse will punish spreadsheet habits with integrity errors. I tear down the five silent failure patterns that quietly destroy Power Apps built from Excel data: no primary keys, mixed data types, text lookups instead of real relationships, multipurpose “do everything” columns, and orphan rows that point to nowhere. You’ll hear why identity is a contract, not a column, how surrogate keys and alternate keys stop upserts from behaving like a blender, and how proper types (text, number, decimal, currency, date, choice, lookup, boolean) turn flaky formulas into reliable logic. We’ll walk through replacing VLOOKUP-style thinking with real relationships, splitting overloaded status fields, eliminating orphans with required lookups and cascade rules, and using Power Query to trim, normalize, dedupe, and …
Guest: Mirko Peters
Fix Power Apps Excel Data Limits with Dataverse
M365 FM Podcast
Fix Power Apps Excel Data Limits with Dataverse
Nov. 25, 2025

Use Microsoft Fabric Warehouse Snapshots Correctly

Warehouse Snapshots in Microsoft Fabric promise simplified data recovery and historical consistency — but many organizations misunderstand how they actually work. Snapshots are not traditional backups, and relying on them incorrectly can lead to architectural and governance issues. In this guide, we explain what Microsoft Fabric Warehouse Snapshots really are, how they function within OneLake architecture, and when to use them strategically. You’ll learn about limitations, performance implications, recovery scenarios, and best practices for enterprise data governance. If you’re designing a resilient Fabric architecture, understanding the truth about Warehouse Snapshots is critical.
Guest: Mirko Peters
Use Microsoft Fabric Warehouse Snapshots Correctly
M365 FM Podcast
Use Microsoft Fabric Warehouse Snapshots Correctly
Nov. 24, 2025

Move Canvas Apps from SharePoint to Dataverse

This episode rips the mask off Microsoft’s new “canvas app revival” story and shows what’s actually happening under the hood. It’s not a renaissance. It’s a fork. A split. A deliberate architectural divide between the fast personal Copilot lane and the governed enterprise Power Platform lane. Across twenty minutes, we expose why App Builder feels familiar on purpose, why that familiarity is a lure, and why defaulting to SharePoint lists is the fastest way to build something that collapses the moment the requirements grow teeth. You’ll hear how delegation limits silently lie to users, how lookup ceilings turn models into spaghetti, and how personal-context inheritance becomes a time bomb the day the creator leaves the company. We walk through the migration cliff, the re-platforming tax, the archaeology required to rebuild a “toy app” into a real system, and why Dataverse isn’t optional once you care about scale, security, or audit trails. From there, the episode pivots into the g…
Guest: Mirko Peters
Move Canvas Apps from SharePoint to Dataverse
M365 FM Podcast
Move Canvas Apps from SharePoint to Dataverse
Nov. 24, 2025

Block Copilot Access to Sensitive SharePoint Documents with Purview DLP

Worried your SharePoint or Copilot agent is “hallucinating” data leaks? In this episode, we unpack why that’s almost never the model’s fault and almost always your permissions and scope design. You’ll learn how SharePoint and Microsoft 365 agents actually see your data through Microsoft Graph, why overscoped knowledge sources plus permissive inheritance turn into accidental disclosure at machine speed, and why grounding does not equal a security boundary. We break down a practical mental model for agents – user persona plus retrieval filters, gated by permissions, labels, and Purview DLP – and show exactly how an agent can quietly stitch together truths from adjacent libraries you never properly isolated. From there, we go deep into the four control planes that stop bleed without killing usefulness: scoping knowledge sources at the library level with strict metadata and multiple narrow, specialized agents instead of one encyclopedic monster; breaking SharePoint inheritance where it…
Guest: Mirko Peters
Block Copilot Access to Sensitive SharePoint Documents with Purview DLP
M365 FM Podcast
Block Copilot Access to Sensitive SharePoint Documents with Purview DLP
Nov. 23, 2025

Build a Governed Microsoft 365 Copilot Learning Center

This episode rips apart the illusion that “Copilot training” is a workshop, a slide deck, or a single rollout campaign. It starts with a familiar pain: you trained users on Microsoft Copilot, pinned decks, hosted Q&As, ran office hours—and your help desk ticket queue still grew. Users got smarter for 24 hours, then went straight back to asking, “Which Copilot do I use?” and “Is this safe?” The episode argues that the core problem isn’t users, or even Copilot. The problem is that most organizations are trying to manage a fast-moving, AI-driven behavior engine with static training and scattered documentation. Without a governed, tenant-aware learning system, you’re not doing adoption—you’re role-playing a help desk. From there, the conversation reframes Copilot adoption as an information architecture and governance problem, not a training problem. Traditional one-off training creates “shadow training” everywhere: rogue slide decks in Teams, PDFs with filenames like “Ultimate Copilot …
Guest: Mirko Peters
Build a Governed Microsoft 365 Copilot Learning Center
M365 FM Podcast
Build a Governed Microsoft 365 Copilot Learning Center
Nov. 23, 2025

Service Accounts vs App Registrations for Power Automate Email

Your Power Automate email flows aren’t clever automations, they’re HR risk wrapped in HTML. You wire a flow to a “service account,” fight through MFA once, get it working, and decide it’s done. It’s not done. It’s brittle, over-privileged, impossible to audit cleanly, and the first time conditional access or a password policy changes, it dies loudly or, worse, half-silently. A service account is still a user. Delegated auth, MFA prompts, password expiry, CA tweaks – all the stuff meant for humans – now sits in front of a robot that can’t tap “Approve” at 2:14 a.m. Tokens expire, flows wake up, find nothing valid, and either fail or thrash until they send duplicates like a jammed label maker. To “fix” that, people hand it Send As, then another exception, then a shared mailbox that never gets revoked. Over time your “one sender” is an impersonation cannon that can send as almost anyone. Now mix in shared passwords and mailbox rights and your audit trail becomes vibes: was it the flow…
Guest: Mirko Peters
Service Accounts vs App Registrations for Power Automate Email
M365 FM Podcast
Service Accounts vs App Registrations for Power Automate Email
Nov. 22, 2025

Find and Remove Orphaned SharePoint Sites

Your SharePoint isn’t messy – it’s a digital landfill you’re paying to host. Dead projects, duplicate “final_v7_REAL_final” files, ghost guest access, broken links, and a Copilot happily hallucinating on rotten content. This video shows you how to turn that chaos into a governed, measurable, adult-run SharePoint and Microsoft 365 environment – using licenses you already own. No third-party tools, no fluffy “best practices”, just enforcement. You’ll learn how to stop SharePoint sprawl at the source with standardized site provisioning, templates, and naming that actually stick, then enforce lifecycle with automated inactivity checks, owner attestations, and read-only/archival rules in both E3 and E5. We’ll define what a “healthy” site really is, expose inactive and ownerless sites, cut duplicate content, and reduce search noise so users finally hit the right document on the first click. We go deep on retention labels vs retention policies, how to auto-apply labels using metadata, …
Guest: Mirko Peters
Find and Remove Orphaned SharePoint Sites
M365 FM Podcast
Find and Remove Orphaned SharePoint Sites
Nov. 22, 2025

When to Use Python in Power Platform Automation

Python is NOT the language of AI inside the Microsoft stack—and in this episode, I show you why that belief is quietly wrecking your Power Platform projects, inflating defects, and burning your budget. If you’re cramming Python into Power Automate, Power BI, Fabric, or custom connectors as “glue code,” this is your wake-up call. We break down why Python is amazing for analytics, ML, and Fabric notebooks—but a terrible choice for everyday orchestration inside Power Automate, Power BI Dataflows Gen2, Dataverse, and Microsoft 365. You’ll learn how Office Scripts (TypeScript-flavoured), Copilot, and agent-style orchestration (like type-agent) can write and run the glue for you, with typed contracts, native connectors, and AI-generated scripts that actually respect your schemas and governance. Instead of debugging brittle Python in Azure Functions at 2:14 a.m., you’ll see how to: Keep Python where it shines: Fabric notebooks, advanced analytics, ML. Use Copilot + Office Scripts to …
Guest: Mirko Peters
When to Use Python in Power Platform Automation
M365 FM Podcast
When to Use Python in Power Platform Automation
Nov. 21, 2025

Fix Copilot Policy Hallucinations with Custom Engine Agents

Out-of-the-box Microsoft Copilot sounds like a genius—but in real enterprises it’s a dangerously confident intern. In this episode, we expose where default Copilot quietly fails on the questions that actually matter: “Can I share this file?”, “Who’s on-call right now?”, “Is this HIPAA-safe?” You’ll see how generic, Graph-only Copilot ignores your DLP exceptions, regional SOPs, escalation paths, and legal memos—and why that’s how incidents are born. Then we show you the fix: plug your own specialist engine agent straight into Microsoft 365 Copilot Chat with a simple manifest upgrade. You’ll learn the retrieval + actions + guardrails pattern, how to wire Azure AI Search, internal APIs, and tenant controls, and the exact schema 1.22 tweaks (copilotAgents + customEngineAgents) that flip Copilot from smooth-talking generalist to hard-edged policy enforcer. The before vs. after is brutal: vague essays and hallucinated “best practices” turn into crisp, cited decisions, “Page now” butto…
Guest: Mirko Peters
Fix Copilot Policy Hallucinations with Custom Engine Agents
M365 FM Podcast
Fix Copilot Policy Hallucinations with Custom Engine Agents
Nov. 21, 2025

Increase Microsoft 365 Copilot Adoption with Behavior Change

Your Copilot rollout is probably going to flop—and it won’t be the AI’s fault. Most organizations treat Microsoft 365 Copilot like a feature toggle: light up licenses, send a heroic memo, run one training… and three months later MAU is a rounding error. In this episode, we expose the five hidden failure modes that quietly kill Copilot adoption: vague “be more productive” use cases, governance theater that stalls everything, launch-and-ghost comms, license confetti with no telemetry, and users who were never actually taught how to talk to the model. You’ll learn the brutal truth that deployment is not adoption, the week-one leadership decision that predicts your long-term MAU, and why your real product isn’t Copilot—it’s behavior change. We walk through the C4 prompting pattern (Context, Constraint, Critique, Continue), the 10/30/60 “Tuesday task” model that kills blank-page syndrome, how to stop governance panic without freezing the rollout, and a practical 90-day adoption playb…
Guest: Mirko Peters
Increase Microsoft 365 Copilot Adoption with Behavior Change
M365 FM Podcast
Increase Microsoft 365 Copilot Adoption with Behavior Change
Nov. 20, 2025

Archive Inactive SharePoint Sites with Azure Blob Storage

SharePoint looks confident on the surface, but under the hood it’s drowning in duplicates, forgotten drafts, and every “final final V2” that ever existed. In this episode, we pull back the curtain on why your search results lie, why Copilot sounds smart while guessing, and how a quiet storm of rogue files destroys governance without anyone noticing. It’s not a storage problem, it’s a relevance problem, and the chaos is baked into human behavior—people hoard because delete feels dangerous. SharePoint obeys, versions multiply, and truth dissolves in a fog of near-identical copies that confuse ranking systems and derail compliance. This episode dives into the architecture that fixes the mess without breaking collaboration or scaring users. We redesign the entire content lifecycle using a SharePoint command, an Azure Function, Blob tiers that behave like a warehouse district, and a ledger that remembers everything you move. Search becomes sharper, Copilot stops hallucinating, and your …
Guest: Mirko Peters
Archive Inactive SharePoint Sites with Azure Blob Storage
M365 FM Podcast
Archive Inactive SharePoint Sites with Azure Blob Storage
Nov. 20, 2025

Improve SharePoint Document Libraries with New UX and Copilot

Your SharePoint / Microsoft 365 document libraries are quietly killing productivity — and Microsoft already shipped the fix. In this episode, I show you how the NEW Doc Libs UX, Forms, Autofill and Copilot turn your “final_v3_REALLY_final.docx” graveyard into an intelligent workflow that actually guides work instead of hiding it. You’ll see how enhanced breadcrumbs, visible filter pills, board view and saved views slash “where did my file go?!” drama, and how one adoption-killing mistake in your forms is sabotaging everything. Then we flip the front door: idiot-proof intake with Forms, smart metadata from Autofill (reading time, abstracts, categories) and a simple triage routine that keeps your response folders from turning into purgatory. Finally, we weaponize Copilot inside Doc Libs: instant version comparisons, punchy abstracts, audio overviews and grounded Q&A that turns a file pile into decisions on demand. Implement the five switches from this episode and your library stop…
Guest: Mirko Peters
Improve SharePoint Document Libraries with New UX and Copilot
M365 FM Podcast
Improve SharePoint Document Libraries with New UX and Copilot
Nov. 19, 2025

Build Multi-Channel Agents with the Microsoft 365 Agent SDK

Your M365 AI agent isn’t failing because the model is bad—it’s failing because your plumbing is. This episode exposes why DIY agents that “work in dev” die the second real users and security show up. You’ll hear how app-only auth quietly nukes permission fidelity and audit trails, why stateless bots forget context the moment you add a second node, and how hand-rolled Teams/Slack/Outlook adapters create glitchy, untrustworthy UX that feels cheap and amateur. The host then reveals the real unlock: the Microsoft 365 Agent SDK as the non-optional backbone for identity, state, channels, and governance. You get act-as-user auth, durable conversation state across clusters, real adapters for Teams/web/Slack/Copilot, streaming that just works, and built-in hooks for Purview, DLP, Defender, and eDiscovery—so security says “yes” instead of “absolutely not.” If you’re gluing LangChain, SK, and custom tools together and hoping it passes review, this episode is the wake-up call: stop shipping…
Guest: Mirko Peters
Build Multi-Channel Agents with the Microsoft 365 Agent SDK
M365 FM Podcast
Build Multi-Channel Agents with the Microsoft 365 Agent SDK
Nov. 19, 2025

Power BI Paginated Reports: Service vs Report Builder vs SSRS

Your Power BI dashboards aren’t broken – you’re just using them for the wrong job. This episode shows why “Export to PDF” is a lying screenshot, and how paginated reports (in the Service, Report Builder, or Visual Studio) finally give executives the print-perfect, audit-ready PDFs they keep asking for. In under half an hour, you’ll learn exactly which tool to pick, how to avoid layout disasters, and a simple upgrade path from “quick hack” to fully governed reporting suite.
Guest: Mirko Peters
Power BI Paginated Reports: Service vs Report Builder vs SSRS
M365 FM Podcast
Power BI Paginated Reports: Service vs Report Builder vs SSRS
Nov. 18, 2025

DAX UDF VAL vs EXPR: Prevent Timeouts and Wrong Totals

You thought VAL vs EXPR was harmless syntax sugar. In reality, it decides when your metrics are evaluated, which means the same function, same arguments can return a completely different “truth” — clean visuals, perfect totals, and numbers that are confidently wrong.
Guest: Mirko Peters
DAX UDF VAL vs EXPR: Prevent Timeouts and Wrong Totals
M365 FM Podcast
DAX UDF VAL vs EXPR: Prevent Timeouts and Wrong Totals
Nov. 18, 2025

Stop OneDrive Sync Conflicts with SharePoint Shortcuts

Stop treating the cloud like a USB stick from 2007. In this episode, we unpack why “Sync Everything” secretly trashes your CPU, storage, bandwidth, and governance—and how OneDrive shortcuts turn that wheezing laptop into a fast, curated workspace. If your fan is screaming, your sync queue is stuck on “processing changes,” and your C: drive is one bad folder away from full, this is your intervention: doors to the source, not copies of the building.
Guest: Mirko Peters
Stop OneDrive Sync Conflicts with SharePoint Shortcuts
M365 FM Podcast
Stop OneDrive Sync Conflicts with SharePoint Shortcuts
Nov. 17, 2025

Govern 3D Models and Digital Twins in Microsoft Fabric

Think spreadsheets are chaos? Cute. In this episode we stress-test Microsoft Fabric against the worst data you own: photorealistic 3D assets and full-fidelity digital twins. We break down why a single “file” is actually a sprawling supply chain of scans, meshes, textures, physics, and licenses — and how one sloppy ZIP export can turn into a global compliance nightmare. You’ll learn how Fabric turns governance from theater into an always-on safety system: Entra ID–backed identity, object-level security, lineage that behaves like a black-box recorder, rights-as-code, and streaming with signed tokens instead of random file copies. We walk through real workflows for artists, simulation engineers, and robotics teams, and show how to version twins so “latest” stops being a ticking time bomb. If you’re still trusting folders, shared drives, and good intentions to protect multi-gigabyte 3D assets, this episode is your wake-up call. Hit play to see why, if your governance can hold a 1:1 …
Guest: Mirko Peters
Govern 3D Models and Digital Twins in Microsoft Fabric
M365 FM Podcast
Govern 3D Models and Digital Twins in Microsoft Fabric
Nov. 17, 2025

Build Traceable Copilots with Agentic RAG on Azure

Your Copilot isn’t smart – it’s a very expensive autocomplete. In this episode, we break down why classic RAG (retrieve-augment-generate) quietly fails the moment your truth lives in more than one system, and how “agentic RAG” on Azure turns Copilot from a context tourist into an actual reasoning engine. You’ll hear how Planner, Retriever, and Verifier agents running on Azure AI Agent Service can roam Microsoft Fabric, SharePoint, and external data, cross-check their own answers, and deliver evidence-linked insights that auditors, CISOs, and data leaders can actually trust. We dig into On-Behalf-Of auth, RLS/CLS, and Purview labels so your AI respects the same permissions as your humans, instead of leaking CFO forecasts to interns. If you’re a CIO, CDO, architect, BI lead, or security/GRC owner who’s tired of hallucinated KPIs and pretty-but-useless dashboards, this is your blueprint. Learn how to cut decision latency from months to minutes, turn SharePoint chaos into a semantic…
Guest: Mirko Peters
Build Traceable Copilots with Agentic RAG on Azure
M365 FM Podcast
Build Traceable Copilots with Agentic RAG on Azure