Home
Categories
EXPLORE
Society & Culture
Music
True Crime
History
Comedy
Science
Health & Fitness
About Us
Contact Us
Copyright
© 2024 PodJoint
00:00 / 00:00
Sign in

or

Don't have an account?
Sign up
Forgot password
https://is1-ssl.mzstatic.com/image/thumb/Podcasts221/v4/2f/44/8c/2f448c11-bd2e-3b8b-8cd8-c1b40511f075/mza_7275651777534438634.jpg/600x600bb.jpg
M365 Show Podcast
Mirko Peters
366 episodes
1 day ago
Welcome to the M365 Show — your essential podcast for everything Microsoft 365, Azure, and beyond. Join us as we explore the latest developments across Power BI, Power Platform, Microsoft Teams, Viva, Fabric, Purview, Security, and the entire Microsoft ecosystem. Each episode delivers expert insights, real-world use cases, best practices, and interviews with industry leaders to help you stay ahead in the fast-moving world of cloud, collaboration, and data innovation. Whether you're an IT professional, business leader, developer, or data enthusiast, the M365 Show brings the knowledge, trends, and strategies you need to thrive in the modern digital workplace. Tune in, level up, and make the most of everything Microsoft has to offer.



Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-show-podcast--6704921/support.
Show more...
Tech News
Education,
Technology,
News,
How To
RSS
All content for M365 Show Podcast is the property of Mirko Peters and is served directly from their servers with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
Welcome to the M365 Show — your essential podcast for everything Microsoft 365, Azure, and beyond. Join us as we explore the latest developments across Power BI, Power Platform, Microsoft Teams, Viva, Fabric, Purview, Security, and the entire Microsoft ecosystem. Each episode delivers expert insights, real-world use cases, best practices, and interviews with industry leaders to help you stay ahead in the fast-moving world of cloud, collaboration, and data innovation. Whether you're an IT professional, business leader, developer, or data enthusiast, the M365 Show brings the knowledge, trends, and strategies you need to thrive in the modern digital workplace. Tune in, level up, and make the most of everything Microsoft has to offer.



Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-show-podcast--6704921/support.
Show more...
Tech News
Education,
Technology,
News,
How To
Episodes (20/366)
M365 Show Podcast
Stop Building Dumb Copilots: Why Context Engineering Is Your Only Fix
In this episode, we break down the real reason most Copilots fail inside the Power Platform: context debt. Your model isn’t hallucinating because it’s dumb—it’s guessing because you starved it. We walk through a complete, repeatable context engineering blueprint for Copilot Studio and Power Automate, designed to eliminate hallucinations, reduce cross-tenant drift, and dramatically cut latency and cost. You’ll learn how to build the four-layer spine every enterprise Copilot needs: System Context, Retrieval, Tools, and Policies—plus the missing governance layer most teams overlook. What You’ll Learn 1. Why Your Copilot Fails (Context Debt)
  • How missing system rules and vague identity cause inconsistent answers
  • Why ungrounded Dataverse data leads to hallucinated fields
  • The hidden impact of undefined tools and cross-environment drift
  • How governance gaps create policy violations and compliance risks
2. Layer 1 — System Context That Doesn’t Drift
  • The System Message pattern used in real enterprise deployments
  • Identity, scope, refusal policy, schema awareness, and logging rules
  • How to parameterize system context across Dev/UAT/Prod
  • The “six-line” system message formula that stops ambiguity cold
3. Layer 2 — Retrieval That Grounds to Dataverse
  • How to build a Dataverse-first schema index
  • Why PDFs and document libraries aren’t grounding—and how to fix them
  • Chunking, security trimming, hybrid search, and caching for speed
  • The schema grounding checklist every agent needs
4. Layer 3 — Tooling + Policy Enforcement
  • Turning Power Automate flows into safe, least-privilege “agent verbs”
  • How to encode preconditions, sensitivity flags, and refusal logic
  • Using DLP, Conditional Access, Purview, and MIP labels to prevent drift
  • Why you need an admin kill-switch (and how to add one)
5. End-to-End Build (With Before/After Metrics)
  • Step-by-step Copilot Studio + Power Automate build
  • Schema indexing, tool catalog, prompt wrappers, and environment bindings
  • Before/after metrics: latency, token usage, hallucinations, policy adherence
  • Real example: correcting an invalid “fast-track to approved” request
Key Takeaways
  • Models don’t provide truth—they only predict text. You provide the truth.
  • The four layers—System, Retrieval, Tools, Policies—eliminate drift and hallucination.
  • Dataverse schema is the spine; documents are secondary.
  • Governance isn’t optional: DLP, Conditional Access, and sensitivity labels define reality.
  • A fully engineered context cuts latency, costs, hallucinations, and audit risk.




Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-show-podcast--6704921/support.

Follow us on:
LInkedIn
Substack
Show more...
1 day ago
24 minutes

M365 Show Podcast
The 1400 Connector Lie: Why Azure Logic Apps Beats Power Automate
Most teams assume that more connectors = more power. Microsoft markets “1,400+ connectors” as a universal automation buffet—but in the real world, that’s a vanity metric, not an architectural advantage. In this episode, we break down why Azure Logic Apps consistently outperforms Power Automate in enterprise scenarios that require:
  • VNet-secured hybrid connectivity
  • High-volume API orchestration
  • Azure Monitor + App Insights observability
  • RBAC and Azure Policy-controlled governance
  • AI agents backed by Azure Functions
  • Scalable architectures with predictable cost
If you’ve ever hit throttling limits, struggled with the On-Premises Data Gateway, or watched a flow fail silently during a critical batch window, this is your corrective lens. This is NOT a “Power Automate bad” rant. It’s a responsible architecture conversation that separates citizen automation from mission-critical integration. 🎯 What You’ll Learn (High-Ranking SEO Keywords Included) 1️⃣ Why “1,400+ Connectors” Is Misleading We explain why connector count doesn’t equal capability—because throttling ceilings, maker-owned connections, and tenant-wide action limits create fragility at scale. 2️⃣ Power Automate vs Logic Apps — Execution Models Explained You’ll learn the functional differences between:
  • Power Automate Cloud Flows (stateful only)
  • Logic Apps Consumption
  • Logic Apps Standard (dedicated compute, scale-out, stateless/stateful choices)
This helps teams decide which platform fits automation, integration, batch workloads, or microservices orchestration. 3️⃣ VNet Integration, Private Endpoints & Azure Arc We show why network boundaries and identity isolation make Logic Apps the correct choice for enterprises with:
  • Firewalls
  • On-prem SQL
  • SAP
  • Legacy APIs
  • Sensitive workloads
  • Regulatory compliance
4️⃣ High-Throughput API Workloads We run side-by-side evaluations of:
  • Throughput
  • Latency under load (p95/p99)
  • Concurrent fan-out/fan-in operations
  • Dead-letter patterns
  • Deterministic retries
This is where the differences between tenant throttles and dedicated compute become most obvious. 5️⃣ Azure Monitor + App Insights Tracing You’ll see examples of:
  • Dependency maps
  • Correlation IDs
  • Cross-service observability
  • Metrics dashboards
  • Run-history patterns
  • Alert rules with actionable context
Perfect for teams who need auditable, explainable automation. 6️⃣ When Power Automate Is the Right Tool We define the boundaries where Power Automate is ideal:
  • M365 approvals
  • Notifications
  • Team automations
  • Lightweight workflows
  • Citizen development
  • Non-regulated business processes
7️⃣ AI Agents With Azure Functions We explore the real-world pattern for modern AI automation:
Agent ≠ app.
Agent = orchestration + tools. Logic Apps handles the orchestration.
Azure Functions handles the compute.
Power Automate cannot fill that role reliably under load. 🧪 The Three Enterprise Scenarios We Tested Scenario 1 — Hybrid On-Prem Access With VNets & Arc
  • Power Automate gateway vs Private Endpoints
  • Managed identity vs maker-owned connections
  • How Logic Apps prevents token drift
  • Azure Policy for “no public endpoints”
  • Arc-enabled Kubernetes hosting the runtime on-prem
Scenario 2 — High-Volume API Orchestration
  • Bursty workloads
  • Massive fan-out
  • Stateful vs stateless pipelines
  • Circuit breakers, DLQs, backpressure
  • API tiering & concurrency controls
Scenario 3 — AI Agent + Azure Functions
  • When connectors fail
  • Policy logic beyond dropdowns
  • Running custom code under identity
  • Vector lookups, payload...
Show more...
1 day ago
23 minutes

M365 Show Podcast
Power Automate Is Dead: The AI Workflows Agent That Replaced Your Job
Power Automate has dominated Microsoft 365 automation for years—but everything just changed. In this episode, we break down the disruptive rise of Workflows Agent, the AI-driven automation engine inside Microsoft 365 Copilot that can replace entire categories of traditional cloud flows. While Power Automate remains the enterprise-grade backbone for long-running, multi-branch, highly governed workflows, Workflows Agent delivers something radically different: conversational, intent-driven automation that builds and runs tasks in seconds. You’ll learn why “drag-and-drop flows” are becoming legacy for everyday work, how AI automations reduce build time, and when to choose Agent vs Power Automate. Plus, we cover governance, DLP, licensing, and the realities of Frontier features—because none of this matters if you can’t ship automation safely. What Workflows Agent Actually Is (and Isn’t) Workflows Agent isn’t a redesigned Power Automate canvas—it’s a new class of automation entirely. You describe what you want done in natural language, and the Agent composes the steps across Outlook, Teams, SharePoint, Planner, and Microsoft Graph. Think intent → automation, not connector dragging. In this episode, we break down:
  • how Workflows Agent interprets tasks using Microsoft Graph context
  • the difference between workflow-based AI and agentic AI
  • what the Agent can already automate (emails, Teams posts, SharePoint items, Planner tasks)
  • limits of early-stage Frontier features
  • when the 100-second external call window matters
  • where Power Automate still dominates (branching, SLAs, long-running flows, multi-system data orchestration)
You’ll walk away understanding the real architecture—not the marketing version. The Real Comparison: Power Automate vs Workflows Agent Power Automate strengths
  • deterministic workflows with explicit logic
  • rich connectors across hundreds of systems
  • long-running approvals with SLAs
  • durable retries, exception branches, idempotency
  • detailed run histories and visual debugging
  • strict governance for regulated processes
Workflows Agent strengths
  • builds workflows using natural language
  • dramatically faster for simple automations
  • no schema mapping, no GUID hunting, no nested panes
  • context-aware through Graph
  • perfect for chat-based or email-based user scenarios
  • works natively inside Microsoft 365 Copilot
This episode explains the real physics: Power Automate wins precision and durability; Workflows Agent wins speed and accessibility. Use Cases: What Happens When AI Takes Over Your Workflow We dive into five real-world comparisons: 1. Approvals Power Automate handles escalations, branching, SLAs, and audit logs.
Workflows Agent handles single-approver, everyday approvals in seconds.
The speed difference is shocking—and measurable. 2. Data Sync Power Automate is explicit and precise.
Workflows Agent is fast for notifications, task creation, and Teams updates.
Specify destinations clearly and you avoid misrouting. 3. Incident Triage Agent-driven classification beats handcrafted keyword matrices.
Power Automate still wins postmortems, retries, escalations, and strict routing. 4. CRM Updates Agent handles summary + context capture directly from Outlook.
Power Automate ensures schema-locked writes, deduping, and compliance. 5. IT Onboarding Agent handles intake and kickoff conversations.
Power Automate handles the marathon: licensing, provisioning, long-running approvals. These examples show exactly where each platform wins—and where they fail. Governance & Security: The Part IT Actually Cares About We break down how to govern the Agent so it doesn’t become shadow IT:
  • align Copilot & Power Platform DLP policies
  • enforce RBAC for who can publish Agent workflows
  • use separate...
Show more...
2 days ago
28 minutes

M365 Show Podcast
The SharePoint Lie That Breaks Every Power App
Many Power Apps fail for one simple reason: SharePoint Lists are not a database. They’re designed for content and collaboration—not multi-table relationships, delegation, or large-scale filtering. This episode breaks down the architectural mismatch that causes apps to stall at 2,000 records, show incomplete results, and slow to a crawl behind blue delegation banners. You’ll learn why SharePoint becomes unreliable past 5,000 items, how non-delegable formulas silently cap results, and when Dataverse becomes the only platform that can scale. If you’ve struggled with performance, delegation, or governance, this episode will show you exactly why—and how to fix it. Why SharePoint Breaks Power Apps SharePoint is excellent for documents and simple lists, but Power Apps need:
  • server-side filtering
  • relational data modeling
  • reliable delegation
  • audit and security controls
SharePoint’s limitations cause:
  • non-delegable queries (Search, OR, multi-column filters)
  • 500–2,000 record caps
  • slow galleries and inconsistent results
  • fragile lookup modeling
  • performance drops near the 5,000-item List View Threshold
In short, SharePoint stores data, but Power Apps can’t query it reliably at scale. Measurable Failure Modes You’ll learn the three signals that your SharePoint-backed app is already in trouble: 1. Delegation Warnings The blue banner isn’t optional—it means Power Apps is filtering client-side and only seeing a fraction of your data. 2. Slow Screen Loads When queries can’t delegate, the client downloads extra data and processes it locally, creating lag and inconsistent results. 3. Record Count Limits Lists can technically hold millions, but Power Apps can’t query them meaningfully once filters stop delegating. Anything past the threshold becomes invisible. Why Dataverse Fixes It Dataverse is built as a true data engine for Power Apps. It offers:
  • full delegation for complex filters
  • server-side query execution
  • proper relationships and lookups
  • row- and field-level security
  • built-in auditing and compliance
  • better performance with 2025 Power Apps runtime improvements
With Dataverse, the 2,000-record limit disappears because logic runs on the server where the data lives. Cost Reality: “Free SharePoint” Is Not Free SharePoint seems free, but you pay heavily in:
  • Power Automate workarounds
  • non-delegable formula hacks
  • governance gaps
  • performance troubleshooting
  • incomplete results and user mistrust
Dataverse licensing is predictable; SharePoint workarounds accumulate endlessly. When to Move to Dataverse Use Dataverse when:
  • record counts exceed ~100,000
  • you need multi-column search or compound filters
  • you have more than 1–2 lookups per record
  • offline/mobile matters
  • security must be granular
  • delegation banners appear during prototyping
If any of these are true, SharePoint becomes a bottleneck—and an eventual rewrite. Migration Summary A simplified migration path:
  1. Map SharePoint lists → Dataverse tables and relationships
  2. Define security roles, field-level rules, and auditing
  3. Clean and load data into Dataverse (parents → children)
  4. Replace SharePoint connectors in apps/flows
  5. Rewrite non-delegable formulas into delegable patterns
  6. Pilot, cut over, and retire SharePoint lists
Key Takeaway SharePoint Lists are great for content—not as a backend for production Power Apps.
Dataverse is the platform that delegates, scales, and governs correctly.

Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-show-podcast--6704921/support.

Follow us on:
Show more...
2 days ago
19 minutes

M365 Show Podcast
The Power Apps Lie: Why Your Excel Data Will Still Fail
You clicked “Create app from Excel,” felt clever, and accidentally scaled your chaos. It’s not your fault—Power Apps makes it look easy. But Excel isn’t a database; it’s a calculator wearing a database costume. The moment you try to operationalize spreadsheet data in Power Apps, Dataverse exposes every hidden flaw: missing keys, mixed types, ambiguous relationships, duplicate entities, orphaned rows, and silent corruption spreading behind the scenes. This episode tears down the five failure patterns that silently destroy Power Apps built on Excel data—and then rebuilds your data model correctly. You’ll learn how to fix primary keys, enforce types, replace VLOOKUPs with proper relationships, eliminate multi-purpose columns, and prevent orphaned records so your app stops breaking under its own weight. If you’re tired of inconsistent behavior, failing imports, broken lookups, and unpredictable automations, this episode is your blueprint. What You Will Learn The Real Reason Excel Data Fails in Power Apps We start by breaking down why Excel feels “fine” for small tasks but collapses in Dataverse:
  • No enforced identity
  • No enforced types
  • No referential integrity
  • No audit trail
  • No concurrency model
  • Unlimited ambiguity
  • Hidden inconsistencies from copy-paste culture
    Power Apps expects structure. Excel hides the lack of structure until it’s too late.
You’ll discover why your spreadsheet worked yesterday but fails catastrophically when imported into an actual data platform. Failure Pattern #1 — No Primary Keys: The Silent Destroyer Most Excel “tables” are just rows. No identity. No contractual uniqueness. No stable way to know whether a row is the same record as last week. This episode explains:
  • Why surrogate GUIDs must be your primary keys
  • Why natural keys drift and break history
  • How alternate keys allow clean upserts
  • How Excel’s “uniqueish” text values lie to you
  • How missing keys cause duplicates, overwrites, and broken automations
  • How to generate stable IDs inside Excel before an import
  • Why Dataverse’s “Primary Name” column is NOT the primary key
You’ll learn how to build a correct key strategy and fix your source data so Power Apps stops merging the wrong records or duplicating everything. Failure Pattern #2 — Mixed Data Types: The Spreadsheet Horror Show Excel allows one column to contain:
✔ numbers
✔ text
✔ dates
✔ leftover Outlook pastes
✔ blanks that aren’t real blanks
✔ currency symbols mixed into strings Dataverse does not. It enforces meaning. You’ll learn how to model your data correctly with:
  • Whole Number vs Decimal vs Currency
  • Boolean vs ambiguous text
  • DateOnly vs DateTime
  • Text fields with normalization
  • Choice fields for finite states
  • Lookup fields for references
We cover how Power Query can clean, normalize, and coerce types before they ever reach Dataverse, and why ignoring types causes broken formulas, inconsistent logic, and unreliable reports. Failure Pattern #3 — VLOOKUP as “Joins”: The Spreadsheet Illusion Excel users simulate relationships by repeating text values and using VLOOKUP.
Dataverse does not: it uses actual relationships. We show why:
  • VLOOKUP duplicates text and drifts easily
  • One rename breaks hundreds of dependent rows
  • Lookups bind child records to parent IDs instead of labels
  • A single change to a parent updates everywhere automatically
  • You should model Suppliers, Locations, Categories as tables—not text
You’ll learn how to replace VLOOKUP with Dataverse lookup columns that prevent duplication, preserve history, and eliminate fragile dependencies. Failure Pattern #4 — Multi-Purpose Columns: Where Spreadsheets Go to Die Excel encourages stuffing anything into one column:Show more...
3 days ago
25 minutes

M365 Show Podcast
Stop Using Fragile Data: Fabric Snapshots Deliver The ONLY Version of Truth
Most teams trust “live data” without realizing how unstable it actually is. Your analytics are constantly mutating—ETL loads rewrite history, schema shifts break reproducibility, and dashboards refresh while pipelines are mid-write. The result? Multiple “versions of truth,” no reproducibility, broken trust, and executives asking questions you can’t answer. This episode breaks down why your data is fragile, how your architecture is setting you up for failure, and why Microsoft Fabric Warehouse Snapshots are the only reliable way to guarantee stable, repeatable, audit-ready analytics at scale. You’ll learn how snapshots freeze a moment in time—transactionally consistent, read-only, and zero-copy—so pipelines can change, but your truth doesn’t. If your dashboards wobble during ETL…
If finance reruns reports and gets different answers…
If audits require restoring backups…
Then Snapshots are your new best friend. What You Will Learn (SEO-Rich Topics & Benefits) 1. Why Your “Live Data” Is Fragile and Unreliable We break down every failure mode modern data teams face:
  • ETL collisions causing partial data reads
  • Schema drift breaking reproducibility
  • Read replicas copying volatility instead of certainty
  • CSV exports with no lineage or audit trail
  • Data science pipelines training on shifting baselines
  • Month-end numbers changing after sign-off
  • Dashboards refreshing while tables are mid-write
  • The silent cost: lost trust, wasted cycles, and decision paralysis
2. The Real Root Cause: Concurrency Without Isolation Your warehouse is a construction site during loads. But your analysts are still walking through it. Snapshots solve this by separating production churn from decision-grade truth. 3. Fabric Warehouse Snapshots — What They Actually Guarantee You’ll learn the real contract:
  • Point-in-time consistency
  • No half-written rows
  • No drifting results tomorrow
  • Zero-copy metadata pointer architecture
  • Immutable state for auditing, analysis, and AI training
  • Seamless client binding — same name, new timestamp
  • Purview-driven governance and RBAC enforcement
4. Why Read Replicas Don’t Save You Replicas scale reads, but they mirror mutations, schema shocks, and partial loads. Snapshots freeze truth. Replicas freeze nothing. 5. Real Scenarios Where Snapshots Prevent Disaster We walk through true-to-life examples:
  • Dashboards showing false dips during nightly loads
  • Finance month-end totals drifting after ETL reprocessing
  • Machine learning models training on shifting numeric types
  • Audit teams asking for “as-of” data requiring full DB restores
  • Late facts ruining daily sales metrics
  • Analysts manually exporting CSVs to protect themselves
6. How Fabric Snapshots Rebuild Trust Across the Business With snapshots you get:
  • Reproducible queries
  • Consistent KPIs
  • Stable semantics in Power BI
  • Audit replay in minutes
  • Month-end that doesn’t break
  • ETL that runs without warning analysts “DON’T REFRESH”
  • Data science baselines that don’t drift
  • No more CSV sprawl
  • No more cloning warehouses to freeze a state
7. The Engineering Patterns That Actually Work (Templates Included) You’ll learn the three battle-tested patterns every mature data team uses: Pattern 1: Pre-ETL Snapshot for Query Stability Freeze a clean read surface before ingestion begins.
Analysts read the snapshot; pipelines mutate safely behind the curtain. Pattern 2: Month-End Snapshot for Reproducible Finance Freeze the fiscal cutoff. Finance dashboards point to one stable state.
No drift, no surprises, no “Why did September change?” Pattern 3: Audit Replay — Without Restores Query the exact state as-of a date, including lineage and logs.
Produce evidence in minutes, not days. Detailed...
Show more...
3 days ago
23 minutes

M365 Show Podcast
The Rebirth of Canvas Apps Is a Lie: Here's What Microsoft Is Really Building
You've heard the hype: “Canvas Apps are back!”
Cute story—but wrong. In this episode, we break down why Microsoft’s App Builder experience is not a rebirth of Canvas Apps but a forked, lightweight, personal-automation layer designed to sit beside—not inside—the enterprise Power Platform. We uncover what Microsoft is truly building:
➡️ A personal Copilot lane optimized for speed and experimentation
➡️ An enterprise Power Platform lane optimized for durability, governance, and scale
➡️ A future where agents become the orchestrators and Dataverse remains the backbone If you want to understand the architecture, the governance implications, the data-layer tradeoffs, and the migration cliff that blindsides nearly every team—this episode is your blueprint. What You’ll Learn in This Episode 1. The Truth Behind App Builder’s Familiar UI
  • Why App Builder looks like Power Apps—but isn’t
  • How Microsoft intentionally uses familiarity as a lure
  • Why the default backend (SharePoint Lists) is fast but dangerously shallow
  • The difference between “muscle memory” and actual capability
2. SharePoint Lists vs Dataverse (and Why It Matters)
  • How delegation limits silently break apps at scale
  • The dangerous ceilings: lookups, joins, API throttling, missing security
  • Why SharePoint is the office junk drawer—and why Dataverse is the real filing system
  • The missing pieces: ALM, solution layers, role-based access, field-level security
3. The Architectural Split: Personal Copilot Lane vs Enterprise Power Platform
  • Why Microsoft created two lanes—and why it’s intentional
  • What lives in the personal lane: App Builder, basic workflows, quick automations
  • What belongs in the enterprise lane: Dataverse, solutions, environments, governance
  • How Microsoft is optimizing for both speed and structure
4. The Migration Cliff (Where Small Apps Become Big Problems) You’ll hear how small “personal” apps turn into critical business tools—and then collapse.
We cover the four unavoidable pain points:
  • Delegation failures
  • API throttles
  • Lookup ceilings
  • Performance degradation
    Plus the hidden killer: creator-bound ownership that breaks when someone changes jobs.
5. The Governance Fixes That Actually Work We break down a governance strategy that keeps the personal lane fast and the enterprise lane safe:
  • Copilot-specific DLP policies
  • Sensitivity labels as the real leak-prevention mechanism
  • Restricted SharePoint Search during rollouts
  • Connector approvals for email and external systems
  • Permission hygiene that prevents Copilot from oversharing
6. What Microsoft Is Really Building: Agents as the New Runtime This episode explains the real endgame:
  • Agents that plan, orchestrate, and execute tasks with human-in-the-loop approval
  • Entra Agent IDs that bring auditability and role-based access
  • A world where App Builder becomes a prototype substrate
  • And Dataverse becomes the governed execution environment for anything that lasts
7. The Playbook: When to Stay in App Builder and When to Move to Dataverse We give you clear, enforceable criteria including:
  • Relationship thresholds
  • Row-count thresholds
  • Audit requirements
  • External API access
  • Multi-team usage patterns
    If you cross two of these?
    You’re already late—move to Dataverse.
Top Takeaways
  • App Builder ≠ Power Apps — It’s a personal automation tool, not an enterprise platform.
  • SharePoint Lists are a prototype substrate, not a production backend.
  • Dataverse remains the enterprise backbone for anything shared, durable, or regulated.
  • Copilot’s real power is orchestration, not UI generation.
  • Agents are the next runtime—and they rely on...
Show more...
4 days ago
21 minutes

M365 Show Podcast
Stop SharePoint Agents From Leaking Your Data (The IT Pro Fix)
Are your SharePoint agents suddenly surfacing answers that feel too honest—or worse, too exposed? It’s probably not “AI being spooky.”
It’s your permissions, scope, and DLP. In this episode, we unpack why SharePoint agents leak data, why it’s almost never “hallucination,” and how to fix it with:
  • Tight knowledge source scoping
  • Permission and inheritance hardening in SharePoint
  • Sensitivity labels + Purview DLP that actually block agents
  • Approval gates for agents, licensing boundaries, and data policies
  • A baseline policy pack you can roll out as an IT admin today
If you’re an M365 admin, SharePoint architect, security engineer, or Copilot / agents owner, this is your practical playbook for stopping AI-driven data leaks before they start. 🔍 Episode Summary Your SharePoint agent didn’t “leak” data because AI is haunted.
It leaked because you overscoped the agent and left permissions inheritance and DLP in a half-configured state. In this episode, you’ll learn:
  • How SharePoint agents actually see data (Graph + ACLs + labels + DLP)
  • Why grounding does NOT equal security
  • The difference between retrieval filters and permissions boundaries
  • How to scope knowledge like a lawyer writes contracts
  • How to break inheritance the right way and pair it with sensitivity labels
  • How to build DLP patterns that bite, not just log
  • How to use PayG / licensing and approval workflows as hard guardrails
  • How to monitor, audit, and safely rollback when something goes wrong
  • A baseline agent governance pack you can deploy today
This isn’t a hype episode. It’s an IT pro fix for a very real risk. 🧬 Segment 1 – How SharePoint Agents Actually See Your Data We start by demystifying how agents “see” SharePoint:
  • Agents don’t read your intentions; they read Microsoft Graph
  • Graph is the bloodstream – if ACLs allow access, agents can see it
  • An agent = user persona + retrieval filters
    • Persona = the identity and its permissions
    • Retrieval = which libraries/folders/URLs you pointed at
Key idea: Permissions gate first. Retrieval filters only decide where to look, not what’s allowed. We cover:
  • Why grounding filters relevance but doesn’t shrink legal access
  • How permissions inheritance becomes silent escalation
  • How an overscoped agent “accidentally” pulls HR or Legal content from adjacent libraries
  • Why “it’s just one site root” is the fastest way to disaster
You’ll walk away with a mental model:
  • Gate → Find → Enforce
    • Permissions (ACLs) gate access
    • Retrieval filters help find content
    • Labels + DLP enforce what’s allowed to be processed
Once you understand that stack, the “leak” stops being mystical. 📚 Segment 2 – Control Plane 1: Scope Knowledge Sources Like a Lawyer Next, we fix the first big mistake: overscoping. We walk through how to design knowledge sources so they cannot wander: Core Scoping Rules
  • Library-level sources only
    • No site roots
    • No hub-level “everything under here” shortcuts
  • Shallow folder depth, avoid recursive “grab the world” patterns
  • Metadata filters only
    • Only ingest items where Status = Approved, Version = Published, Department = X, etc.
  • Exclude drafts, archives, and “Working” trees
  • No crawling arbitrary internal/external URLs “for context”
The Real-World Pattern
  • Many small, narrow agents → safer and more predictable
  • One giant “encyclopedic” agent → high blast radius
We also cover:
  • Why you should disable general AI knowledge for regulated agents
  • How to use an explicit fallback answer: “I’m not authoritative for that. Here’s what I can answer.”
  • How to test scope using edge-case queries (in-domain vs out-of-domain)
Metrics to...
Show more...
4 days ago
20 minutes

M365 Show Podcast
Stop Training Your Users Wrong: Deploy the Copilot Learning Center
Most organizations are training employees on Microsoft Copilot the wrong way—slides, one-off sessions, office hours, and “ultimate prompt guides” scattered across Teams. The result? Confused users, rising help-desk tickets, inconsistent adoption, shadow training materials, and zero measurable ROI. This episode breaks down why traditional training fails and how to replace it with a governed, evergreen Copilot Learning Center that scales, stays fresh, and cuts support tickets in half. Whether you're an M365 admin, IT leader, digital workplace owner, governance architect, or Copilot program lead, this episode gives you the architectural blueprint, governance model, and operational workflow Microsoft never packaged into one place. 🔥 What You’ll Learn
  • Why Copilot training fails even when users attend sessions
  • The real reason users ask “Which Copilot do I use?”
  • Why traditional adoption models collapse under AI workloads
  • How shadow training, duplicate PDFs, and rogue prompt guides form
  • What goes inside a Copilot Learning Center (architecture + components)
  • How a centralized hub kills confusion and deflects support tickets
  • How to integrate SharePoint, SPFx, PnP Modern Search, and Viva
  • The governance switch that eliminates outdated content
  • KPIs to measure Copilot adoption and prove ROI
These show notes also include targeted SEO keywords so your episode ranks for Copilot training, M365 adoption, AI governance, Copilot Learning Center, and Microsoft Copilot deployment strategy. 🧨 Opening: Why Your Copilot Training Isn't Working You trained your users on Microsoft Copilot, and support tickets increased.
That happens because:
  • Copilot updates weekly
  • Your decks update quarterly, if ever
  • Users forget training almost instantly
  • No centralized guidance exists
  • Shadow documents multiply in Teams
  • No one knows what’s official vs outdated
This episode starts with the uncomfortable truth:
Training is not an event. Training is a system. Without a governed, evergreen learning center, you're not teaching—you’re firefighting. 🧩 Section 1 — Why Copilot Training Fails We break down real-world root causes of Copilot confusion: ✔ Copilot evolves weekly Your static training materials can’t keep up. ✔ Copilot isn't a linear tool People think in “beginner → advanced.”
Copilot is “context-driven → data-driven → privacy-scoped.” ✔ The “average user” fallacy When training is watered down to the lowest common denominator, you lose both the experts and the beginners. ✔ Shadow training emerges Teams channels full of:
  • outdated slides
  • unofficial prompt guides
  • PDFs named FINAL_v7_REAL_FINAL
  • wiki pages contradicting each other
✔ No governance = no trust Users don’t know what’s current, safe, or accurate. ✔ Ticket themes repeat constantly
  • “Where do I start?”
  • “Which Copilot do I use?”
  • “Is this safe?”
  • “Why did Copilot answer that?”
This section positions the problem: Copilot adoption collapses without structure. 🏗 Section 2 — What the Copilot Learning Center Actually Is This isn’t “just a SharePoint site.” A Copilot Learning Center is: ✔ A governed, tenant-aware SharePoint hub ✔ A structured architecture for learning, discovery, and safe use ✔ A single entry point across SharePoint, Teams, Viva ✔ A home for all Copilot guidance, agents, prompts, and governance ✔ A system with lifecycle rules and telemetry, not a static library Core Components:
  • Learn (concepts, role guides, approved instructions)
  • Do (prompt library, agent directory, copy-and-run patterns)
  • Govern (privacy boundaries, transcript policy, red-line examples)
Supporting Tech:
  • SPFx web parts
  • PnP Modern Search
  • Viva Connections
  • Role-based discovery
  • Freshness badges
  • Redirects...
Show more...
5 days ago
19 minutes

M365 Show Podcast
Stop Sabotaging Your Power Automate Email Flows
Your Power Automate email flows aren’t “automation”—they’re a compliance breach disguised as convenience. If you’re sending HR notifications, offer letters, policy updates, onboarding announcements, or termination messages using a service account, you’re operating outside modern Microsoft 365 architecture and inside constant risk. In this episode, we break down the correct, secure, reliable method:
Microsoft Graph + App Registration + Application Access Policies.
No MFA failures, no expired passwords, no ambiguous audit trails, no over-privileged mailboxes. Just clean, scoped, predictable, enterprise-grade email delivery you can prove during an audit. Whether you’re an IT admin, M365 architect, Power Automate builder, HR systems owner, or security engineer, this episode teaches you how to replace “flow roulette” with a professional, governable pattern. 🔥 What This Episode Covers ✔ Why service accounts destroy reliability and compliance ✔ How Conditional Access, MFA, and password expiry break your flows ✔ Why delegated access is the wrong fit for automation ✔ How App Registrations solve identity, security, and audit traceability ✔ How Application Access Policies fence your app to specific mailboxes ✔ The exact Graph endpoint to use for HR email delivery ✔ Custom Connector schema for reusable, safe sends ✔ The #1 misconfiguration that exposes every mailbox in your tenant ✔ The monitoring + audit strategy that keeps leadership off your back 🧨 Opening Hook: You’re Sabotaging Email Without Realizing It Most organizations use Power Automate email flows the wrong way:
  • A service account
  • Shared password
  • Delegated permissions
  • “Send As” rights across multiple mailboxes
  • Hard-coded credentials stored in connections
  • A fragile MFA exemption nobody documents
That model breaks the moment:
  • MFA is enforced
  • CA policies change
  • Passwords expire
  • Tenant restrictions evolve
  • A mailbox permission drifts
Your flow fails at 2:14 a.m., tries to retry, and duplicates a dozen HR messages—or worse, stops sending entirely and you don’t know until a VP asks why no one received the policy update. This episode is the intervention your tenant needs. 🧩 Section 1 — Why Service Accounts Sabotage Email Flows In this segment, we break down the four hidden failure modes: 1. Delegated Auth = Silent Fragility User-based tokens expire quickly and require interactive login. Flows can’t respond to MFA prompts.
Result: intermittent failures + random retries + duplicate sends. 2. Over-Privilege Creep To “fix” broken flows, people grant:
  • Send As on multiple mailboxes
  • Shared mailbox permissions
  • “Temporary” access that never gets removed
Suddenly, your “simple” service account can impersonate HR, Finance, Legal, and leadership. 3. Broken Audit Trails Who sent the message?
  • The service account?
  • The admin who logged in?
  • A cached Outlook profile?
  • A Power Automate connection owner?
Delegated identity = zero clarity. 4. Conditional Access Drift Any change in CA rules—travel rules, location restrictions, MFA prompts—instantly breaks the flow.
You don’t learn until someone complains. This section establishes the core truth:
Service accounts are human identities pretending to be machines. They fail because the model is wrong. 🚀 Section 2 — The Architecture Microsoft Actually Intended This is the heart of the episode:
App Registration (client credential auth) + Graph Mail.Send + Application Access Policies. ✔ App Registration → non-human identity
  • Uses certificate or secret
  • Immune to MFA prompts
  • Fully auditable
  • Predictable token lifecycle
✔ Graph Mail.Send (Application Permission)
  • The app sends as the mailbox
  • No user delegation
  • No shared passwords
  • No impersonation...
Show more...
5 days ago
27 minutes

M365 Show Podcast
SharePoint Sprawl Is Killing Your Business
Is your SharePoint environment a thriving collaboration hub—or a digital landfill?
If you’re drowning in duplicate files, abandoned sites, orphaned permissions, and search results you can’t trust, this episode is the intervention you didn’t know you needed. In “SharePoint Sprawl Is Killing Your Business,” we break down why SharePoint environments collapse under their own weight, how this destroys productivity, and the exact Microsoft 365 features (E3 + E5) you should be using today to reverse years of unmanaged growth. No third-party tools. No consulting fairy dust. Just governance, automation, and Microsoft-native controls. Whether you’re an IT admin, governance lead, M365 architect, or operational owner, these show notes recap the full episode and give you a blueprint to fix your environment. 🔥 What You’ll Learn in This Episode ✔ What "SharePoint sprawl" actually is—and why it keeps getting worse ✔ How abandoned sites, stale links, and dead content poison search and Copilot ✔ The governance policies in Microsoft 365 that stop sprawl automatically ✔ E3 vs E5: what you can enforce, automate, and monitor ✔ How to cut inactive sites, reduce duplicates, and increase search accuracy ✔ Templates, retention labels, and lifecycle enforcement that WORK ✔ The human rules that turn chaos into predictable order 🧨 The Real Problem: SharePoint Is a Landfill, Not a Library Most organizations don’t have a “messy” SharePoint—they have a digital landfill made of:
  • Duplicate documents
  • Outdated pages
  • Abandoned project sites
  • Lost guest permissions
  • Broken sharing links
  • Zero ownership
  • No lifecycle management
This episode explains why the underlying root causes are NOT user behavior—they’re lack of structure, lack of templates, and zero enforced lifecycle. 🧩 Section 1 — Diagnosing SharePoint Sprawl Sprawl is predictable. It’s what happens when:
  • Anyone can create a site
  • No one retires anything
  • Naming conventions are ignored
  • Retention isn’t enforced
  • Policies are optional
  • Ownership is undefined
We walk through how this leads to:
  • Search noise (users can’t find the right document)
  • Compliance risk (multiple conflicting “official” versions)
  • Storage waste
  • Copilot hallucinations (AI pulling from outdated or duplicate files)
  • Shadow IT (users keep files offline because they don’t trust the system)
This section includes examples of real-world consequences—like legal discovery failures and operational errors caused by outdated content. 🔒 Section 2 — Lifecycle Enforcement (E3 vs E5) Stopping sprawl requires non-negotiable lifecycle rules. You can't rely on humans to remember to clean up SharePoint. Governance must be:
  • Automated
  • Recurring
  • Escalated
  • Enforced
We outline two paths: 🔹 E3 Plan — Manual but Powerful Using Power Automate + Graph signals to enforce:
  • 90-day inactivity checks
  • Owner attestation cycles
  • Escalations to managers
  • Site lock (read-only) after non-response
  • Archive workflows for long-dead sites
  • Guest access expiration
This is the “sweat equity” path. No new licensing. 🔹 E5 Plan — Fully Automated Using SharePoint Advanced Management:
  • Automatic inactivity detection
  • Automatic owner confirmation
  • Auto read-only transition
  • Auto-archive to Microsoft 365 Archive
  • Built-in guest access lifecycle
  • Site creation restrictions
  • Template enforcement
  • Sensitivity defaults
This is governance that runs itself. No babysitting. 🧱 Section 3 — Provisioning That Prevents Sprawl Preventing future chaos starts at the moment a site is created. We break down: ✔ Why no site should be created without a template ✔ Why every site must have two named owners ✔ Why DEPT-PROJ-REG-CODE naming stops duplication ✔ How...
Show more...
6 days ago
23 minutes

M365 Show Podcast
Python is Dead: The AI That Killed It
You’ve heard it for years: “Python is the language of AI.” But inside Microsoft’s ecosystem—Power Automate, Power BI, Fabric, Microsoft 365—Python isn't the hero. It’s the friction layer. Organizations keep bolting Python onto Power Platform through Azure Functions, custom connectors, and brittle services… and then wonder why everything breaks. In this episode, we dismantle the myth that Python is the best “glue” for Microsoft workflows. You’ll learn why TypeScript-like Office Scripts + Copilot + TypeAgent-style orchestration outperform Python for automation and operational logic. We’ll explore why Python thrives in analytics—but fails in orchestration—and how AI is making “glue code” not just easier, but obsolete.
If you want faster automations, fewer defects, lower cloud bills, and simpler governance, this episode will feel like oxygen. What You’ll Learn in This Episode 1. The Core Argument: Python Isn’t Dead — It’s Just Been Demoted Python remains a powerhouse for:
  • Data science
  • Machine learning
  • Analytics notebooks
  • Modeling
  • Transform-heavy compute
But for workflow glue, automation, Power Platform orchestration, and Microsoft 365 automation, Python is now the wrong tool.
Why? Because the platform already gives you:
  • Office Scripts (TypeScript-flavored)
  • Native connectors
  • Copilot-driven code generation
  • Dataflow Gen2 M/Python auto-generation
  • TypeAgent-style AI orchestration
  • Semantic model awareness
  • Typed boundaries that prevent bugs
Python can do anything—but that doesn’t mean it should do everything. 2. Why Python Causes Friction Inside Power Platform Python inside Power Automate or Power BI introduces expensive complexity: • External compute Azure Functions, Logic Apps, containers, custom connectors. • Authentication overhead Certificates, managed identities, expiring tokens, secret rotation. • Runtime unpredictability Cold starts, dependency drift, library mismatches. • Dynamic typing chaos Schema changes become runtime errors, not compile-time warnings. • Debugging pain Errors propagate across Power Automate → custom connector → Azure Function → Dataflow: “Why did this fail at 2:14 a.m.?”
“No one knows.” • Cost sprawl You pay for compute, storage, bandwidth, logging, monitoring and upkeep. Outcome:
Workflows become fragile Rube Goldberg machines held together with duct tape and optimism. 3. Real Scenarios Where Python Makes Everything Worse We walk listeners through painful but familiar examples: Power Automate + Python Custom connectors calling Python for tasks that Office Scripts could do instantly (column renames, date normalization, Excel transforms). Power BI + Python Inconsistent schemas between Python transforms, Dataflow M code, and semantic models. Fabric notebook overreach Using notebooks for orchestration instead of analytics—creating a single point of failure. Cross-product lineage breakage Flow → Function → Notebook → Dataflow → Report…
Five logs. Five timestamps. Zero joy. Permission sprawl Service principals that “temporarily” get read/write permissions… forever. Version drift Dependency updates silently break workflows, especially in pandas-heavy pipelines. Python works—but every dependency and environment update is a landmine. 4. The Better Method: Let AI Generate the Glue Here’s where the episode turns hopeful. Copilot + Office Scripts replace Python glue Copilot can write TypeScript-like Office Scripts directly inside Microsoft 365 apps. These scripts:
  • Run where your data lives
  • Are typed and predictable
  • Need no external services
  • Are cheap
  • Are governed within Microsoft 365
  • Don’t require CI/CD pipelines
  • Remove service sprawl entirely
Dataflow Gen2: AI generates M or Python for you Copilot knows your:
  • Tables
  • Schemas
  • Measures
  • Synonyms
So its...
Show more...
6 days ago
26 minutes

M365 Show Podcast
Copilot Is Broken Until You Do THIS
Out-of-the-box Microsoft Copilot sounds confident—but in real organizations, it frequently gives generic, incomplete, or misleading answers about internal rules, DLP policies, regional SOPs, and compliance workflows. The problem isn’t the model. The problem is that Copilot doesn’t know your company’s rules, exceptions, or processes. In this episode, you’ll learn the exact fix: bring your own custom engine agent—your own specialist—into Microsoft 365 Copilot Chat using a simple manifest upgrade. We break down why default Copilot fails, what custom agents can do that Copilot can’t, the architecture behind retrieval + actions + guardrails, and the two-minute manifest tweak that unlocks Copilot Chat. If you want to eliminate hallucinations, increase policy accuracy, and make Copilot a real enterprise asset instead of a polite intern, this is your playbook. What You’ll Learn in This Episode 1. The Real Reason Copilot Feels “Broken” in Enterprises Despite the hype, default Copilot cannot:
  • Interpret your company’s DLP exceptions
  • Apply region-specific SOPs
  • Follow internal escalation rules
  • Know your compliance restrictions
  • Understand your security classifications
  • Execute your internal decision trees
Because Copilot is grounded in public knowledge + Microsoft Graph, it becomes a generalist—great at broad help, terrible at local nuance. We explore real examples:
  • “Can I share this customer spreadsheet externally?” → Generic answer, missing your DLP exception list
  • “Who handles a Sev-2 outage in EMEA after 6 p.m.?” → Generic ITIL nonsense
  • “Can we send HIPAA updates via Outlook campaigns?” → A polite hallucination that ignores legal rules
These answers sound authoritative—but they’re dangerously incomplete. You’ll learn why users trust these confident responses, how incidents happen, and why “Copilot hallucination” is often just “missing internal policy context.” 2. Why Your Organization Needs a Specialist, Not a Generalist A custom engine agent fixes the gap by giving Copilot: ✔ Your rules ✔ Your policies ✔ Your SOPs ✔ Your exceptions ✔ Your approvals ✔ Your internal APIs ✔ Your decision logic ✔ Your citations A specialist agent is not a plugin and not a fancy prompt. It’s a governed, orchestrated agent with:
  • Your retrieval index (Azure AI Search)
  • Your actions (internal APIs, policy lookups, exception verification)
  • Your guardrails (tenant controls + data scopes)
  • Your reasoning (Semantic Kernel / LangChain orchestration)
Copilot becomes the user interface.
Your agent becomes the brain. 3. Where Default Copilot Fails (With Real Examples) We break down three high-risk categories: A. Data Loss Prevention (DLP) Questions Copilot knows Microsoft’s DLP theory but not your:
  • Project-code exceptions
  • Allowed domains
  • Threshold rules
  • Special carve-outs
  • Vendor sharing restrictions
Without a specialist agent, it answers confidently—and wrong. B. Regional + Role-Specific SOPs Users ask: “It’s 19:10 CET. Sev-2 in EMEA. Who do I page?” Default Copilot:
  • Quotes ITIL
  • Suggests calling “the on-call team”
  • Misses the actual after-hours vendor
  • Misses the 20-minute SLA
  • Misses the escalation chain
Your agent can answer with:
  • The correct vendor
  • The correct channel
  • The SLA
  • A “Page Now” action
  • The exact SOP citation
C. Compliance & Legal Requirements Default Copilot can’t recall:
  • HIPAA communication rules
  • GDPR region-specific handling
  • SOC2 audit requirements
  • Legal memos
  • Confidentiality exceptions
Your agent can fetch the real memo and produce a compliant answer with citations. 4. The Architecture Behind a Real Enterprise-Ready Agent This episode walks you step-by-step through the specialist...
Show more...
1 week ago
21 minutes

M365 Show Podcast
Why Your Copilot Rollout Will Fail
Most Copilot rollouts fail—not because of technology, but because of people, culture, and workflow reality. In this episode, we break down the five failure modes that quietly kill Microsoft Copilot adoption inside real organizations. You’ll learn why “turning it on” isn’t enough, how leadership behaviors determine success, why governance panic stalls progress, and how targeted use cases and repeatable prompting frameworks can turn your rollout around in the first 90 days. This is the practitioner’s guide to launching Copilot in Microsoft 365 with actual behavior change, not just licenses and hype. What This Episode Covers 1. The Uncomfortable Truth: Your Copilot Rollout Will Fail (If You Treat It Like a Tech Project) Most organizations approach Copilot as a feature toggle: enable licenses, host a town hall, and expect magic. The result? Users try Copilot once, get “meh” output, and never return. Leaders blame training, IT blames users, and executives wonder why they spent six figures on AI with no visible business impact. In this section, we cover:
  • Why deployment ≠ adoption
  • Why behavior change is the actual product
  • What early signals predict long-term MAU
  • The single week-one decision that tells whether your rollout succeeds
You’ll learn why capability alone doesn’t matter—habits do. 2. Why Tech-First Rollouts Fail (The Habit Mismatch Everyone Ignores) Copilot does not fix vague goals. “Be more productive” is not a use case. People wake up thinking about tasks—emails, summaries, QBR drafts—not abstract productivity. When organizations enable Copilot without role-based tasks, users get generic results and correctly conclude it’s not worth changing their habits. This segment covers:
  • The psychology of knowledge-worker habits
  • Why generic prompting fails
  • Why Tuesday tasks (recurring weekly tasks) drive speed-to-first-use
  • The “emotional thermostat” leaders set—anxiety vs curiosity
  • Why visible permission from leadership beats training
You’ll learn how human behavior, not AI quality, determines adoption curves. 3. The Playbook Leaders Actually Use (And Why It Works) Real adoption comes from:
  • Targeted use cases
  • A leadership coalition that learns in public
  • Telemetry that measures real behavior
  • Prompt packs, templates & artifacts users can steal
  • Copilot Studio bots embedded in workflows
We break down how leaders model usage live, how to design repeatable prompting patterns, and why celebrating “practice, not perfection” creates a culture of experimentation. You’ll hear real stories of executives running messy, honest live demos that unlocked organization-wide adoption. 4. Failure Mode 1: Vague Use Cases & Weak Problem Framing This section explains the most common and most destructive mistake: announcing Copilot without specifying who will use it, for what task, and why that task benefits from AI. You’ll learn:
  • Why “productivity” is too vague to drive adoption
  • How to build role-specific, task-level scenarios
  • The three metrics that matter (the triad):
    • Time-to-draft
    • Decision clarity
    • Meeting compression
  • The 10/30/60 Tuesday Task model
  • The C4 prompting pattern (Context, Constraint, Critique, Continue)
  • How to build an artifact library that kills the blank-page tax
Includes multiple field anecdotes showing 80+ minute drafts dropping to 20–30 minutes. 5. Failure Mode 2: Data Access, Governance Theater & Trust Gaps Most organizations either over-lock their environment (making Copilot useless) or under-govern (creating panic). Both kill adoption. We cover:
  • How to map your data surfaces (SharePoint, OneDrive, Teams, Mail, CRM)
  • Why sensitivity labels are not optional
  • Why DLP needs to be piloted with real humans
  • How to explain grounding vs training to...
Show more...
1 week ago
22 minutes

M365 Show Podcast
Stop SharePoint Hoarding: The Blob Storage Fix
If your SharePoint environment feels cluttered, inconsistent, or impossible to govern, this episode is your turning point. We break down why SharePoint hoards content, why search results often surface the wrong “final” version of documents, and how that chaos degrades Microsoft Copilot accuracy. More importantly, we walk through a practical, admin-approved, politically safe solution that offloads stale drafts and duplicates to Azure Blob Storage—without breaking collaboration or trust. This episode is a deep dive for SharePoint administrators, Microsoft 365 architects, IT leaders, governance teams, and organizations frustrated by poor search precision, ballooning storage quotas, and confused users who keep opening the wrong document. What You’ll Learn in This Episode 1. Why Your SharePoint Is Lying to You (and Not on Purpose) SharePoint looks confident—Copilot too—but your environment may be full of near-duplicate drafts like Final_v2_REAL_FINAL.docx, pseudo-archives, and outdated copies that bury the true canonical document.
We explore:
  • Why humans hoard files and systems comply
  • How duplicates distort search ranking signals
  • Why Copilot “hallucinates” less than you think—it’s just reading the wrong files
  • The hidden governance risk when multiple versions contradict each other
This section gives you the “aha” moment: you don’t have a storage problem; you have a relevance problem. 2. How Versioning, Copies, and Friendly Hoarding Destroy Search and Governance You’ll learn how:
  • Every file version increases your SharePoint quota footprint
  • Automatic version pruning helps—but only within a file
  • Copies, renamed drafts, and “Archive” folders create epistemic fog
  • Search ranking gets confused by similar titles, metadata, and click patterns
  • Copilot inherits that same confusion
We also cover why deleting duplicates is politically dangerous—and how fear, not laziness, drives users to create shadow copies. 3. The Architecture That Fixes Everything (and Doesn’t Start a User Revolt) We break down a simple, scalable architecture that quarantines junk without deleting it:
  • SPFx ListView Command Set — adds “Move to Blob” right inside modern libraries
  • Azure Function — performs fast, server-to-server copy
  • Azure Blob Storage — the cheap, durable “warehouse district”
  • Azure Table Storage — the audit ledger that remembers every move
You’ll learn why:
  • Browsers should not copy files—servers should
  • Blobs are ideal for tiered, long-term storage
  • A hash-verified copy ensures data integrity
  • Quarantine beats deletion every time
  • The design dramatically improves search precision and Copilot quality
4. The Permission Choice That Admins Actually Approve This is the part that saves the project from dying in security review. We’ll explain:
  • Why Application permissions (e.g., Sites.Read.All) trigger instant rejection
  • Why delegated permissions + On-Behalf-Of flow get approved
  • How the SPFx command passes a user token
  • How the Function acts as the user, not a global superuser
  • How this satisfies least privilege, clean audit trails, and governance
This alone has saved implementations months of waiting. 5. Identification Rules: Finding Duplicates, Stale Drafts, and Fake Archives Before moving anything, you need a scoring model that users and compliance trust. We cover:
  • How to detect duplicates using content hashing
  • How to identify obsolete drafts
  • How to score files by last access, edit frequency, age, and duplication weight
  • Why dry-run reporting reduces fear
  • How to let owners approve or deny flagged items
This is practical, not theoretical—listeners can apply these rules today. 6. Offload Workflow: Copy, Verify, Log, Delete—with Receipts We walk step-by-step through...
Show more...
1 week ago
21 minutes

M365 Show Podcast
Microsoft Just Fixed Doc Libs: What You Missed
The New Doc Libs UX: Navigation That Actually Helps Work Happen Discoverability cuts meetings. Fewer clicks reduce errors. Obvious context prevents “Where did my files go?” drama. You don’t need more storage; you need a surface that shows intent. What’s new (and why it matters):
  • Enhanced breadcrumbs: hop across folders and libraries without losing state. No more six-level backtracks.
  • View switcher + filter pills: visible filters end blame games. Hover to see what’s applied; clear in one click.
  • Options hub: Views, Filters, Formatting, Grid edit—one place. Less scavenger hunt, more work.
  • Layout controls: Compact/List/Autofit; sort by Reading Time; group by Category. Decision accelerators, not cosmetics.
  • Board view (Kanban light): lanes like New → Needs Review → Reviewed → Ready with a card designer (thumbnail, abstract, rating). Drag to advance.
Make views stick:
  • Use the “Unsaved changes” cue. Name views that teach behavior (Reviewed & Ready, not Steve’s View).
  • Publish defaults intentionally (team view vs personal sandbox).
  • Pro move: filter pills + conditional formatting → e.g., pill = Category=Research; rows with Reviewed glow purple.
Reality check: Views organize output; the real war is input. Control the front door or your beautiful views decay. Fixing Input: Forms for Doc Libs = The Adoption Lever If intake is messy, your views rot and filters lie. Forms make adding files idiot-proof (by design). Design a form people will actually use:
  • Brand it (logo/theme). Write prompts like a human.
  • Require only human decisions (Owner, Status, maybe Sensitivity).
    Everything inferable → leave to Autofill.
  • Add branching: show Marketing fields to Marketing, Finance fields to Finance.
  • Turn on notifications with useful subject lines (Category + Status).
Flow that works:
  • Submissions land in a Responses folder (safe buffer).
  • Daily triage: open New Submissions, skim with pills, Quick Step → Move to Root, set Status.
Adoption-killing mistake: too many required fields (“Title, Abstract, Category, Sub-category, three dates…”).
Fix (single switch): enable Column Autofill for Abstract, Category, Reading Time—then trim the form to Owner/Status (branch rest). External intake not ready? Use Request Files + a small Power Automate to apply defaults and kick Autofill. Track roadmap; don’t duct-tape forever. Column Autofill: Stop Typing Metadata—Let the Files Tell You Manual metadata kills systems. Autofill reads content and writes consistent values—no begging. What to automate first:
  • Reading Time (e.g., 250 wpm → return integer)
  • Abstract (1 sentence, ≤25 words, no colons)
  • Category (choose exactly one from a fixed list)
  • Invoice fields (Invoice #, Vendor, Due Date in ISO)
Write prompts like policy:
  • Be prescriptive: format + constraints (integer, ISO date, one-of labels).
  • Calibrate on 10 files (short/long/messy/pristine), tweak, then scale.
Operate like adults:
  • Watch the Autofill activity panel (queued/in-progress/failed).
  • Re-run after edits; bulk-clear/adjust prompts if needed.
  • Don’t duplicate human fields—if Autofill writes Abstract, don’t ask users for it.
Immediate payoff:
  • Reviewed & Ready sorted by Reading Time → quick wins first.
  • By Category finally means something (labels are consistent).
  • Copilot gets smarter because metadata is sane.
Copilot Inside Doc Libs: From File Pile to Answers-on-Demand Reading everything is not a job. Deciding fast is. Do these on day one:
  • Compare Files: select suspects → get deltas/themes. Kill dupes, merge, or archive with confidence.
  • Generate summaries/abstracts: ask for a punchy hook + 3-line synopsis with audience and action. Paste best line into Abstract...
Show more...
1 week ago
23 minutes

M365 Show Podcast
The Microsoft 365 Agent SDK Is Not Optional
Why DIY Agents Fail in M365 Ecosystems
  • Identity ≠ checkbox. “App-only” where you need act-as-user breaks permission fidelity, nukes audit trails, and fails review. M365 access is identity-bound (files, chats, calendars, mail).
  • State is not optional. Scaling from a laptop to multiple nodes without shared conversation + turn state causes amnesia: lost clarifications, tool drift, repeated answers.
  • Channel chaos. Teams, web, Slack, Outlook all differ (typing, cards, attachments, streaming). Hand-rolled adapters miss protocol semantics → broken UX and support pain.
  • Governance cliff. Ignoring Purview/DLP/eDiscovery = automatic “no.” Labels, retention, legal hold must apply to prompts + outputs.
  • Orchestrator sprawl. LangChain here, SK there—no standard execution plan, no retries, no observability → fragile systems.
  • Compliance gap. Residency, RBAC, tenant boundaries, cross-tenant routing—DIY rarely inherits org posture.
  • Debugging despair. No consistent dev tunnel, no end-to-end traces, no channel-aware streaming → ghost bugs and user distrust.
TL;DR: DIY = garden hoses for enterprise plumbing. The SDK is the standardized arteries (identity, state, protocol, governance) so you can focus on cognition. What the Microsoft 365 Agent SDK Actually Provides (Model-Agnostic Core)
  • Auth + Authorization done right
    • Built-in sign-in handlers, consent surfaces, token exchange.
    • Act-as-user when needed; fall back to app creds when safe.
    • Least-privilege, real audit trails, permission fidelity across Graph/SharePoint/Outlook.
  • Durable conversation management
    • Thread + turn state that survives clusters/load balancers.
    • Correlation IDs, shared storage patterns—multi-turn that actually works.
  • Activity protocol + real adapters
    • Standard message/event/typing/attachment/card types.
    • Adapters for Teams, web chat, Slack, Copilot Studio—native behavior without bespoke glue.
  • Orchestrator neutrality
    • Plug Semantic Kernel, Azure AI Foundry planners, OpenAI, your own stack.
    • Prompts/tools as modular units. Swap models/planners without rewrites.
  • Streaming awareness
    • Auto-detect channel capability → stream tokens where supported, fall back to typing/chunking where not.
  • Dev productivity + diagnostics
    • VS/VS Code scaffolds, secure dev tunnels, multi-channel playground.
    • End-to-end traces, telemetry hooks, correlation IDs for model/tool/channel latency.
  • Open-source, free core
    • Pay only for your chosen models/search/storage. Python and C# supported.
Net: the SDK standardizes identity, state, protocol, delivery. You ship reasoning + tools on bedrock. Implementation Blueprint: From Zero to Multi-Channel Agent
  1. Scaffold the agent
    • Create an M365 Agent project with the Echo template.
    • Run locally → validate activity flow in the playground. Fix env vars/ports/creds first.
  2. Wire core handlers
    • onMembersAdded (greeting), onMessage (routing), onInvoke (cards/actions).
    • Add sign-in handler → consent, code exchange, user-scoped token on the turn.
  3. Register your orchestrator
    • Add SK / Azure AI Foundry / OpenAI via DI.
    • Keep prompts in files, tools as functions (typed inputs/outputs). Interface-wrap model calls.
  4. Persist state
    • Use turn/conversation state for chat history, tool outputs, correlation IDs.
    • Store state outside process for cross-node continuity.
  5. Register channels via Azure Bot Service
    • ABS as broker → one HTTP endpoint, many channels (Teams, web, Copilot Studio).
    • Stop doing bespoke sockets.
  6. Enable streaming
    • Flip SDK streaming on; let adapters auto-negotiate. Stream partials where supported; typing/chunks...
Show more...
1 week ago
23 minutes

M365 Show Podcast
The 3 Ways Microsoft Hides Pixel-Perfect Reports
Context: Why Paginated Reports Exist (and Power BI Isn’t It) Executives want fixed layouts. Headers that repeat on every page. Page numbers that don’t lie. Legal disclaimers that never wander. That’s not a dashboard problem; that’s a print problem. Paginated Reports are RDL-based—print-first design. You connect an RDL to the same Power BI semantic model your dashboards use, but the engine renders to pages with strict control: paper size, margins, headers/footers, groups, and page breaks. No “responsive” surprises. Stop forcing dashboards to print. “Export to PDF” from a dashboard is a screenshot with delusions of grandeur. If you need repeating headers, grouped totals, or a thousand-row list across clean pages, you’re already in paginated territory. Benefits once you switch: precise pagination, reliable headers/footers, conditional visibility, widow/orphan control, and export-proof PDFs/Word. Decide early: dashboards for screens; paginated for paper. Way 1 — Power BI Service (Web Paginated Builder): Fastest, Most Limited A zero-install, browser editor for simple paginated needs. Great to prove layout and gather sign-off. What it is
  • Basic RDL editor in the Service, bound to a Power BI semantic model.
  • Tables/matrices with headers/footers, page numbers, simple expressions.
How to do it (quick path)
  • Workspace → New → Paginated report → pick your semantic model.
  • Add a table; drag fields; set a group (e.g., Region).
  • Page Setup: paper size (A4/Letter), margins, orientation.
  • Header: title + parameter echoes. Footer: “Page X of Y”.
  • Preview, adjust widths to stay within printable width. Save & share.
Strengths
  • Minutes to first draft; no install/admin friction.
  • Uses your model’s DAX + RLS; collaboration/permissions live in the Service.
Limits
  • Table/matrix-centric; sparse charts; shallow expression support.
  • Limited control over complex breaks/visibility; no maps.
Use when
  • Invoices, pick lists, simple listings with a logo and page numbers.
  • You need a one-pager today to validate specs.
Common mistakes
  • Ignoring printable width → phantom blank pages.
  • Expecting full SSRS features in the browser.
  • Anchoring too many columns “just in case.”
Quick win
  • Build a one-page prototype here as a living spec. If stakeholders ask for charts/parameters/conditional sections, graduate to Report Builder.
Way 2 — Power BI Report Builder: The Professional Print Shop Desktop authoring with pixel control, real expressions, parameters, charts/gauges/maps. What it is
  • Full RDL designer aimed at print-perfect outputs.
  • Connects directly to Power BI semantic models (XMLA/DAX under the hood).
How to implement (the safe sequence)
  1. Install Report Builder → Connect to semantic model → build dataset.
  2. Set Page Setup first (paper, margins, orientation). Don’t chase width later.
  3. Add tablix (tables/matrices), define groups (Region → Country).
  4. Header/footer: title, run date, parameter echoes, “Page X of Y”.
  5. Page breaks: between groups; use Repeat header rows and KeepTogether.
  6. Preview; fix overflow/orphans; standardize fonts and number formats.
Strengths
  • Pixel-perfect layout, robust expressions, parameters, nested regions.
  • Conditional visibility, controlled page breaks, consistent corporate look.
Advanced tips
  • Use Lookup/LookupSet to enrich rows without exploding cardinality.
  • Build shared datasets (dates, entities) to avoid duplication.
  • Color exceptions and hide empty sections with simple expressions.
Performance notes
  • Push aggregation into the model; reduce dataset granularity.
  • Avoid row-by-row custom code; compute once per group or upstream.
Export...
Show more...
1 week ago
21 minutes

M365 Show Podcast
Stop Using DAX UDFs Wrong! The Hidden Gotchas
The Two Modes That Change Everything — VAL vs EXPR In DAX UDFs, parameter mode isn’t decoration; it’s semantics. It changes when evaluation happens, which changes the result.
  • VAL = pass by value. Argument is evaluated once in the caller’s filter context; the function receives a fixed scalar. It behaves like a VAR: captured and frozen.
  • EXPR = pass by expression. You pass the formula unevaluated; the function evaluates it in its own context every time it’s used. It behaves like a measure: context-sensitive and re-evaluated.
What breaks most UDFs: using VAL where EXPR is mandatory. You pass a snapshot, then change filters inside the function and expect it to breathe. It won’t. Mini proof: A ComputeForRed UDF sets Color="Red" internally and returns “some metric.”
  • If the parameter is VAL and you pass [Sales Amount], that measure is computed before the function. Inside the function, your red filter can’t change the frozen number. Result: “Red” equals the original number. Comfortably wrong.
  • If the parameter is EXPR, the function evaluates the expression after applying Color="Red". Result: correct, context-aware.
Decision framework
  • Use VAL when you truly want a single context-independent scalar (thresholds, user inputs, pre-aggregated baselines).
  • Use EXPR when the function re-filters, iterates, or does time intelligence and must re-evaluate per context.
Subtlety: EXPR ≠ automatic context transition. Measures get implicit CALCULATE in row context; raw expressions do not. If your UDF iterates rows and evaluates an EXPR without CALCULATE, it will ignore the current row. Fix lands in the function, not the caller. 

The Context Transition Trap — Why Your UDF Ignores the Current Row Row context becomes filter context only via CALCULATE (or by invoking a measure). Inline expressions don’t get that for free.
  • Inside iterators (SUMX, AVERAGEX, FILTER, …), your EXPR must be wrapped with CALCULATE(...) at the evaluation site or it will compute a global value on every row.
  • Passing a measure can “appear to work” because measures are implicitly wrapped. Swap it for an inline formula and it fails quietly.
Fix (inside the UDF):
  • Wherever you evaluate the EXPR inside a row context, write CALCULATE(MetricExpr).
  • Do this every time you reference it (e.g., once in AVERAGEX to get an average, again in FILTER to compare).
Anti-patterns
  • Adding CALCULATE in the caller (“works until someone forgets”).
  • Wrapping the iterator with CALCULATE and assuming it handles inner evaluations.
  • Testing with a measure, shipping with an inline expression.
Rule of thumb: iterator + EXPR ⇒ wrap the EXPR with CALCULATE at the exact evaluation point.

Stop Recomputing — Materialize Once with ADDCOLUMNS Correctness first, then cost. EXPR + CALCULATE can re-evaluate the formula multiple times. Don’t pay that bill twice. Pattern: materialize once, reuse everywhere.
  1. Build the entity set: VALUES(Customer[CustomerKey]) (or ALL(Customer) if logic demands).
  2. ADDCOLUMNS to attach one or more computed columns, e.g.
    Base = ADDCOLUMNS( VALUES(Customer[CustomerKey]), "Metric", CALCULATE(MetricExpr) )
  3. Compute aggregates from the column: AvgMetric = AVERAGEX(Base, [Metric]).
  4. Filter/rank using the column: FILTER(Base, [Metric] > AvgMetric); TOPN(..., [Metric]).
Benefits
  • One evaluation per entity; downstream logic reads a number, not reruns a formula.
  • Fewer FE/SE passes, less context-transition churn, stable performance.
Guardrails
  • Use the smallest appropriate entity set (VALUES vs ALL).
  • After materializing, don’t call CALCULATE(MetricExpr) again in FILTER; compare [Metric] directly.
  • Add multiple derived values in a single ADDCOLUMNS if needed: [Metric], [Threshold], [Score].
Parameter Types, Casting, and Consistency — Quiet...
Show more...
1 week ago
21 minutes

M365 Show Podcast
Stop Syncing Your OneDrive Like It's 2007: Use Shortcuts
The Hidden Cost of Traditional Syncing (a.k.a. The 2007 Method) Clicking Sync on an entire library feels familiar. It’s also why your machine wheezes.
  • Metadata overhead: the client tracks names, sizes, versions, permissions—for every item. Thousands of items = thousands of disk/CPU hits.
  • File system tax: the OS renders thumbnails, indexes, and watches changes for folders you never use.
  • Network churn: Files On-Demand still evaluates each item for changes and conflicts. Your bandwidth pays for “Are we still in sync?” heartbeats.
  • Storage creep: “Always keep on this device” on big folders = silent GB hoarding (plus temp caches and version spillover).
  • Fragility: one bad path/permission stalls the whole queue. Big scope = big failure surface.
  • Governance drift: local copies invite forks (Desktop/email/USB). Retention and labels lose grip.
  • Cross-device Groundhog Day: new laptop? Rebuild the same giant syncs, re-index the same pile.
Reality: performance degrades exponentially with item count. You’re optimizing for comfort, not efficiency. Introducing OneDrive Shortcuts — The Cloud-Native Way Add shortcut to OneDrive creates lightweight pointers to the exact folders you work in. They show up in OneDrive (web), File Explorer/Finder, and roam to every device you sign into. Why it’s better
  • Smaller sync graph: fewer watched nodes → fewer CPU wakeups, fewer conflicts, faster folder opens.
  • Focused offline: mark only the subfolders/files you need as Always keep on this device.
  • Cross-device sanity: shortcuts follow you; no re-sync rituals on new hardware.
  • Governance preserved: you’re working in the source—labels, permissions, retention, versioning all apply.
  • Lower mental load: curate the 3–5 places you actually use. Doors, not duplicates.
If you remember one line: Use doors to the source, not copies of the building. Step-by-Step — Add Shared Content as Shortcuts (No Bloat)
  1. Go to SharePoint → open the specific folder you use (not the root).
    Click Add shortcut to OneDrive.
  2. Open OneDrive (web) → My files → find the shortcut (chain-link icon).
    Rename the shortcut for clarity (e.g., “Client A – Contracts”).
  3. In File Explorer/Finder → open your OneDrive.
    • Right-click a shortcut → Pin to Quick Access/Sidebar.
    • For travel, right-click only the needed subfolders/files → Always keep on this device.
  4. Replacing an old full sync?
    • OneDrive Settings → Stop sync on that library.
    • Close any open files, let the queue clear.
    • Use your new shortcut instead.
  5. Curate more: add shortcuts from other sites. Optionally group them in a local “Work Hubs” folder.
    Remove a shortcut anytime (it deletes the door, not the source).
Mistakes to avoid
  • Shortcutting the entire library root “just in case.”
  • Marking the whole shortcut Always keep on this device.
  • Dragging files out to Desktop “for speed” (that’s how versions fork).
  • Re-syncing whole libraries out of habit.
Managing Shortcuts — Order Beats Hoarding Keep your hallway of doors clean.
  • Name with 3 parts: Team – Purpose – Timeframe
    e.g., Finance – Q4 Reporting – 2025
  • Create hubs: Clients, Internal, Archive. Keep a tiny Now folder for the top 3.
  • Pin with intent: only 3–5 Quick Access/Sidebar pins.
  • Sub-favorites: inside a shortcut, favorite the 1–2 subfolders you touch daily.
  • Monthly 10-minute audit:
    • Not used in 30 days? Archive/remove.
    • Confusing names? Fix.
    • Duplicates/overlaps? Consolidate.
  • Remove safely: clear any offline pins, then Remove shortcut. Source remains.
  • Clean legacy syncs: Stop sync, upload any strays to the right SharePoint path, delete the leftover local artifact.
  • Mirror governance cues: include sensitivity/site prefixes (e.g., [Confidential] Legal...
Show more...
1 week ago
19 minutes

M365 Show Podcast
Welcome to the M365 Show — your essential podcast for everything Microsoft 365, Azure, and beyond. Join us as we explore the latest developments across Power BI, Power Platform, Microsoft Teams, Viva, Fabric, Purview, Security, and the entire Microsoft ecosystem. Each episode delivers expert insights, real-world use cases, best practices, and interviews with industry leaders to help you stay ahead in the fast-moving world of cloud, collaboration, and data innovation. Whether you're an IT professional, business leader, developer, or data enthusiast, the M365 Show brings the knowledge, trends, and strategies you need to thrive in the modern digital workplace. Tune in, level up, and make the most of everything Microsoft has to offer.



Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-show-podcast--6704921/support.