What it does
A custom engine agent brings your own model and orchestration into Copilot. You own the reasoning loop; Microsoft provides the surface, identity, and app packaging so it shows up inside Copilot Chat and Teams.
Key facts
- Built with Copilot Studio, the Microsoft 365 Agents SDK, or Teams AI Library.
- You choose the model — Azure OpenAI, Azure AI Foundry, or another endpoint you host.
- Surfaces in Copilot Chat, Teams, and other M365 channels via the same app package.
- You carry the cost and operational load of the model, plus evals, safety, and latency.
- Still subject to tenant admin approval to publish.
When to use / skip
Use when a declarative agent genuinely can't do the job: you need a specific model, bespoke orchestration, deterministic multi-step logic, or integration Copilot's orchestrator won't handle. Skip for anything a declarative agent covers — the maintenance delta is large.
Configuration decisions
- Model and hosting endpoint.
- Orchestration framework (Agents SDK vs Teams AI Library vs Copilot Studio).
- How you handle memory, state, and conversation context.
- Auth and data-access patterns for grounding.
Gotchas
- You own responsible-AI, content safety, and evals — none of that comes free from the platform.
- Model and token costs are yours, and they scale with usage in ways declarative agents don't.
- Debugging orchestration across the M365 surface is fiddlier than a standalone bot.
Consultant notes
- Treat this as a software project, not a config exercise. Budget for run costs, not just build.
- The declarative-vs-custom decision should be documented and defensible — most stakeholders underestimate the ongoing cost of custom.
- Governance is heavier: you're introducing an external model into the tenant, so Purview, DLP, and data-residency questions all land on you.
Review if the Agents SDK or supported model list changes.