Most developers hit a 403 on their first Copilot API call — not because of a misconfiguration, but because the Retrieval and Search APIs are delegated-only by design. This post maps the auth model, exact permission scopes per API surface, app registration choices, and SDK options into a single decision-support guide you can work through before writing your first integration call.
Microsoft 365 Copilot APIs: What They Are, Why They Exist, and When to Use Them
Microsoft 365 Copilot APIs expose AI reasoning capabilities directly through Microsoft Graph, with your tenant's security and compliance controls inherited at the API layer. This post maps the eight API surfaces in the series, makes the GA-versus-preview boundaries explicit, and establishes the licensing prerequisites — before you evaluate a single endpoint.
Federated Search in SPSE: Searching Across Multiple Search Service Applications
Running two Search Service Applications isolates your collaboration and My Sites crawl pipelines at the cost of creating a search silo — users searching from the Enterprise Search Centre cannot see personal content. This post covers the dual-SSA federation pattern using Remote Result Sources: what it solves, where it falls short, and how to configure it step-by-step in Central Administration.
Controlling SharePoint Crawl Performance: Impact Rules and Crawl Rules
An unconfigured SharePoint crawler runs at full throughput — opening as many simultaneous connections to your WFEs as they will accept and downloading every file regardless of size. This post covers the two PowerShell scripts that give you precise crawl throttling control: crawler impact rules per WFE host, a large-file metadata-only threshold, and URL-pattern exclusion rules that eliminate redundant crawl noise.
Scaling SharePoint Search for Large Enterprise Farms: Index Distribution and Crawl Isolation
As a SharePoint farm grows beyond 80 million indexed items, co-locating index, crawl, and content processing components on the same servers creates I/O contention and crawl queue bottlenecks. This post covers the large farm reference architecture — dedicated index servers, distributed index partitions, and isolated crawl databases — and how to implement it with PowerShell.
Deploying a Custom SharePoint Search Topology with PowerShell (End-to-End)
Deploying a SharePoint Search topology has a precise order of operations — and specific failure modes that will waste hours if you don't know them in advance. This guide covers the four-script pipeline from SSA creation to topology activation, with clean-slate recovery steps for the most common deployment failures.
Designing the Right SharePoint Search Topology for Production SPSE Farms
The default SharePoint search topology gets you up and running quickly. For production farms, deliberate design choices around component placement, high availability, and crawl isolation are what turn a functional search deployment into a resilient one. This post explains all six search components, when to use a single SSA vs. dual SSA, and how to design the right topology before running a single script.
Yeoman vs. @microsoft/spfx-cli: The Complete Developer Comparison
@microsoft/spfx-cli wins on CI/CD, open-source templates, and custom org template support. Yeoman still leads on interactive wizard experience and adding components to existing projects. Here is the full comparison to help you decide when to switch.#spfx #m365 #sharepoint #microsoft #spfx-cli
10 Lessons Learned from Migrating SharePoint 2019 to Subscription Edition
A production SharePoint 2019 to Subscription Edition migration reveals things no documentation warns you about — unknown databases, 312 undocumented workflows, and a firewall approval that took 11 days. These are the 10 lessons that shaped every script in this series.
Post-Migration Validation: Reports, Health Cards, and Compliance Checks for SharePoint Subscription Edition
The migration window is closed, but the project isn't. This post gives you the eight PowerShell scripts and three-level framework to validate every database, compliance setting, and stakeholder deliverable — and formally close the migration.