Back to Blog

The Microsoft 365 Agents SDK - What It Actually Is and When to Reach for It

June 29, 20267 min readMichael Ridland

A question I get a lot from Australian businesses already paying for Microsoft 365 Copilot is some version of "we like Copilot, but it doesn't know anything about our actual business - can we make it do our stuff?" The answer is yes, and the Microsoft 365 Agents SDK is one of the main ways you do it. But there's a fair bit of confusion about what it is, how it differs from Copilot Studio, and whether you even need to write code at all. So let me clear that up, because the choice you make here shapes the next year of how your agents get built and maintained.

We've built a few agents on this stack now, and the SDK is genuinely good. It's also not the right tool for every job. Knowing the difference will save you money.

What the SDK actually is

The Microsoft 365 Agents SDK is a code-first toolkit for building agents that run inside the Microsoft ecosystem. When I say code-first, I mean you're writing C#, JavaScript, or Python, wiring up the agent's logic yourself, and deploying it like any other application. It's the opposite end of the spectrum from the drag-and-drop, low-code experience in Copilot Studio.

The thing people miss is that the SDK isn't only about Microsoft 365 Copilot. An agent you build with it can be surfaced in Copilot, sure, but it can also live in Microsoft Teams, on a website, in a custom app, or across several of those at once. The SDK gives you the plumbing for an agent - how it handles a conversation, holds state, calls out to other services, and connects to whatever AI model you want to use - and then you decide where it shows up. That flexibility is the whole point.

It's also model-flexible. You're not locked into one specific model. You can use Azure OpenAI, you can bring other models, you can mix orchestration approaches. For a business that wants control over which model handles which task, that matters. We spend a lot of time on exactly this kind of architecture decision in our Microsoft AI consulting work, because the model choice has real cost and capability implications down the line.

SDK versus Copilot Studio - the question everyone asks

Here's the honest framing. Microsoft gives you two main paths to build agents, and they sit at different points on a trade-off.

Copilot Studio is low-code. A business analyst or a capable power user can build a useful agent in it without writing much, if any, code. You get a visual builder, managed hosting, and a fast path from idea to something working. For a lot of internal use cases - an HR policy assistant, an IT helpdesk bot, a knowledge agent over your SharePoint - that's exactly what you want. Don't over-engineer it.

The Agents SDK is pro-code. You reach for it when you've outgrown what the low-code tool can comfortably do. That happens when you need complex custom logic, tight integration with internal systems that don't have a tidy connector, full control over the orchestration, or you're building something that has to scale and behave like a proper engineered application rather than a configured one. It's the developer's tool.

The way I put it to clients: start with Copilot Studio unless you already know you'll hit its ceiling. The mistake I see is teams reaching for the SDK because it feels more "serious," then spending weeks building something a power user could have configured in Copilot Studio in an afternoon. The other mistake is the reverse, forcing genuinely complex requirements into the low-code tool until it becomes a tangled mess that nobody can maintain. Match the tool to the actual complexity of the job, not to how the team likes to work.

There's also a middle path worth knowing about. The two aren't a hard either-or. You can build core logic with the SDK and still surface and manage agents through the broader Microsoft tooling. We help teams figure out where that line should sit, which is part of what our Copilot Studio consultants do when a project starts simple and then grows teeth.

What it does well

A few things genuinely stand out once you're in the SDK.

The conversation and state handling is solid. Building a multi-turn agent that remembers context within a conversation, handles interruptions, and manages the back-and-forth is the kind of thing that's fiddly to do from scratch. The SDK gives you a sensible structure for it so you're not reinventing that wheel.

The channel flexibility is the big one. Build once, surface in Copilot and Teams and your own app. For a business that wants a single assistant that staff can reach wherever they happen to be working, this is the feature that makes the architecture clean rather than three separate bots glued together.

And because it's real code, it drops into normal engineering practice. Source control, code review, automated testing, CI/CD, the lot. For anything that's going to be business-critical and maintained over years, that's not a nice-to-have. A low-code artifact that lives only in someone's Studio environment is harder to test, harder to review, and harder to hand over when that person leaves.

What's still rough, and what to watch out for

It's a developer tool, so it needs developers. That sounds obvious, but I've seen organisations buy into the SDK vision without the engineering capacity to back it, and the project stalls. If you don't have people who can write and maintain the code, you either need a partner who can or you should be looking harder at the low-code route.

The model and orchestration flexibility is powerful but it's also rope to hang yourself with. Because you can wire things up many ways, you can wire them up badly. Decisions about which model handles what, how you manage cost per call, how you handle failures and fallbacks - none of that is decided for you. That freedom is the appeal and the risk in the same breath.

Versioning and the pace of change is the other thing. This whole area of Microsoft's stack moves fast. Names shift, capabilities get folded together, the boundaries between products move. What's true today gets adjusted in a few months. Build with that in mind. Keep your agent's core logic decoupled from the bits most likely to churn, and don't assume the integration you wrote against this quarter will be untouched next quarter. Check the current docs before you commit to an approach, because I can almost guarantee something will have shifted.

The last thing to watch is governance. Once you can deploy code-based agents that reach into your systems and talk to your data, you need to think about who can build them, what they're allowed to access, and how you keep an eye on them in production. This is the unglamorous part that gets skipped in the excitement of building, and it's the part that causes problems later. Agents that can act on your behalf need the same security discipline as any other application with that level of access.

Where this fits for an Australian business

If you're already in the Microsoft 365 world and you want agents that genuinely understand your business rather than generic assistants, this is the toolkit that gets you there for the more demanding cases. The realistic path for most organisations is a mix: low-code agents for the straightforward internal use cases, the SDK for the handful of things that need real engineering, and a clear governance line around both.

The trap is treating it as a purely technical decision. Which agents you build, where they live, and how much custom engineering you sink into them is a business and strategy question first. We usually start clients with that conversation rather than the code, working out where agents actually move the needle before anyone opens an editor. If you want to think through what's worth building, our AI strategy consultants do exactly that, or you can just get in touch and we'll talk through where you are.

Reference: Microsoft 365 Agents SDK overview, Microsoft 365 Copilot Extensibility documentation.