Microsoft 365 Agents SDK
Build one multichannel, trusted agent that ships to Microsoft 365 Copilot, Teams, web, and custom apps.
- Source repo
- microsoft/Agents
- Stars
- ★ 1.1k
- Last updated
- 2d ago
- License
- MIT
- Primary language
- TypeScript
- FA score
- 62/100 · Some gaps
At a glance
- How it runs
- Works with
- Portable with changes
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- An enterprise developer who already has agent logic and wants it reachable inside Microsoft Teams or Microsoft 365 Copilot, letting the SDK own channel communication and event dispatch.
- Not a fit if
- Developers wanting one language repo: source lives in three separate language repos you must track
- Teams expecting turnkey install docs: no install commands, runtime version, or dependency list in the README
- Source review
- 62/100 · Some gaps
What does this agent do, and when should you use it?
The Microsoft 365 Agents SDK from Microsoft is a framework for building full stack, multichannel, trusted agents that deploy to channels such as Microsoft 365 Copilot, Microsoft Teams, Web & Custom Apps, and more, while the SDK handles the required channel communication scaffolding. This repository is deliberately a jumping-off point rather than a monolithic codebase: the client libraries live mostly in Agents-for-net (C#/.NET), Agents-for-js (JavaScript), and Agents-for-python (Python), and cross-cutting issues can be filed here while language-specific issues belong in those repos. The SDK gives you an agent 'container' with state, storage, and the ability to manage activities and events, and it stays agnostic about which AI you choose, so you can pick one or more services, models, or agents. The repo also hosts agent-plugins that give AI coding assistants deeper knowledge of the SDK's APIs, patterns, and common mistakes. Microsoft 365 Copilot is just one supported channel, and a subscription is not required to get started unless you target that or another subscription-gated channel.
The SDK lets you build an agent container that carries state and storage and manages activities and events, then deploy that container across channels including Microsoft 365 Copilot, Microsoft Teams, Web & Custom Apps and more, with the SDK providing the communication scaffolding each channel requires. Channel management capabilities are what publish the agent outward, and orchestration is left to the AI services, models, or agents you plug in yourself. At the repository level, this repo points to the language-specific implementations rather than containing them: Agents-for-net for C#/.NET, Agents-for-js for JavaScript, and Agents-for-python for Python, with cross-cutting issues accepted here. The repo also ships agent-plugins in four variants: agents-sdk-common covers Azure provisioning, identity credentials, and OAuth setup through the az CLI; agents-for-js covers building agents, debugging authentication and startup issues, and configuring OpenTelemetry observability; agents-for-net adds Bot Framework migration and ActivityHandler-to-AgentApplication migration; agents-for-python covers configuring and troubleshooting OpenTelemetry observability.
- An enterprise developer who already has agent logic and wants it reachable inside Microsoft Teams or Microsoft 365 Copilot, letting the SDK own channel communication and event dispatch.
- A team that refuses to lock into a single model vendor and wants one SDK whose orchestration layer accepts whichever AI services or models they pick.
- C#/.NET, JavaScript, or Python developers who want to start from the QuickStart and samples in their language's repository before committing to a framework.
- A builder on Copilot Studio who needs to embed an agent into an application or compose multi-agent patterns, starting from the Copilot Studio Client sample in the samples folder.
- A .NET team migrating off Bot Framework that wants the agents-for-net plugin's Bot Framework and ActivityHandler-to-AgentApplication migration skills to scope the rewrite.
- A developer working in GitHub Copilot CLI or Claude Code who wants SDK-specific guidance auto-activated by language and task.
How do you install or deploy this agent?
The README does not document installing the SDK itself; package installation must be looked up in the language-specific repositories. The only installation steps it does give are for the AI coding assistant plugins, explicitly for GitHub Copilot CLI or Claude Code:
- Add the plugin marketplace:
/plugin marketplace add microsoft/Agents- Install the common plugin:
/plugin install agents-sdk-common@microsoft-agents-sdk- Install the plugins for the SDKs you use:
/plugin install agents-for-js@microsoft-agents-sdk
/plugin install agents-for-net@microsoft-agents-sdk
/plugin install agents-for-python@microsoft-agents-sdk- Run /plugin to verify installation; skills activate automatically, and no manual loading is needed.
Be aware that beyond plugin installation the README gives no dependency list, runtime version requirements, or credential setup for the SDK itself. The agents-sdk-common plugin does cover Azure provisioning, identity credentials, and OAuth setup via the az CLI, but the README does not spell out those parameters.
How do you use this agent?
The README's recommended entry point is the samples folder in this repository: pick your language, review the samples list, and start with QuickStart, which is recommended for fundamentals. From there move to the repository for your language — Agents-for-net for C#/.NET, Agents-for-js for JavaScript, Agents-for-python for Python. To work with Copilot Studio, pick the Copilot Studio Client sample in your chosen language. One practical boundary: a Microsoft 365 Copilot subscription is not required to get started with or use this SDK unless you are working specifically with that channel or others that gate their client behind a subscription or service. The README also states that the SDK is agnostic about the AI you choose, so you select one or more services, models, or agents to meet your requirements. Official docs live at aka.ms/M365-Agents-SDK-Docs, with separate .NET, JavaScript, and Python API references.
What are this agent's strengths and limitations?
- Explicit channel coverage: Microsoft 365 Copilot, Microsoft Teams, Web & Custom Apps are named supported targets, and the SDK handles the required communication scaffolding, cutting down on per-channel plumbing.
- AI-agnostic by design: the README states the SDK does not restrict you to a technology stack and lets you select one or more services, models, or agents.
- Multi-language with clean separation: C#/.NET, JavaScript, and Python each live in their own repository, so teams pick their existing stack while cross-cutting issues stay centralized here.
- First-class tooling for coding assistants: four agent-plugins, with agents-sdk-common covering Azure provisioning and az CLI OAuth setup and the .NET plugin covering Bot Framework and ActivityHandler-to-AgentApplication migration.
- Low entry barrier on licensing: no Microsoft 365 Copilot subscription is needed to start unless you target that channel or another subscription-gated client.
- The SDK source is not in this repository: implementations sit in Agents-for-net, Agents-for-js, and Agents-for-python, so you must identify your language repo first and then track two places.
- Thin installation documentation: no package install commands, runtime version, or dependency list appear in the README, so onboarding requires the language repos and official docs.
- Deep ecosystem coupling: the primary channels are Microsoft products such as M365 Copilot, Teams, and Copilot Studio, so targeting other conversational platforms means evaluating migration or adaptation work.
- Some capability depends on external tooling: agents-sdk-common relies on the az CLI for identity credentials and OAuth setup, and plugin installation is only documented for GitHub Copilot CLI or Claude Code.
- Concept-level descriptions: the README speaks of state, storage, activities, and events without naming concrete APIs or failure handling, so a real evaluation has to go through the samples and official docs.
How does this agent compare with similar options?
The README names several related but distinct options. Semantic Kernel is an SDK that integrates LLMs such as OpenAI, Azure OpenAI, and Hugging Face with conventional languages like C#, Python, and Java by letting you define plugins that chain together in a few lines of code. Azure AI Foundry supplies the core backend agent functionality — reasoning, retrieval augmentation, observability, among other core functions — and developers can use the Azure AI Agent Service or assemble their own agent functionality from individual components. Copilot Studio is an agent building platform that can be combined with the Microsoft 365 Agents SDK to integrate your agent into applications and create multi-agent patterns. The README frames these as complementary: the Agents SDK gathers core components so developers can create, manage, and use AI Services and third-party SDKs for orchestration and custom agent logic.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Microsoft 365 Agents SDK This agent | 62 · Some gaps | FrameworkFree + model costs | ★ 1.1k | 2d ago | TypeScript | — |
| Microsoft Agent Framework | 70 · Some gaps | Library / SDKFree + model costs | ★ 15k | today | Python | OpenAI API |
| Rig | 70 · Some gaps | Library / SDKFree + model costs | ★ 9.1k | today | Rust | OpenAI API |
| tRPC-Agent-Go | 56 · Major gaps | Library / SDKFree + model costs | ★ 1.9k | today | Go | OpenAI API |
How does FollowAgents rate this agent?
Why each dimension lost points
The README describes support for multiple AI providers and channels and notes that other connected services have their own terms. The OTel skill explicitly says not to put tokens, prompts, or similar sensitive content in telemetry. Scores are limited because the supplied framework evidence does not establish complete controls for permission scope, confirmation of external actions, or rollback. The debugging skill recommends broad DEBUG logging and names authentication, token, state, and attachment log categories without pairing that advice with redaction or access controls. The security reporting path is clear, but concrete data-handling controls are incomplete.
The README positions this repository as an entry point to language-specific SDK repositories, and the sample-sync workflows show build and contract-check steps. The CLI sample emits a consistent failure message and nonzero status, supporting diagnosis. Scores are reduced because the packet does not include core implementations for each language or evidence about locked dependency availability; the README also contains spelling and grammar errors. Static evidence cannot establish runtime reliability.
The materials identify .NET, JavaScript, and Python developers as audiences and cover Teams, Microsoft 365 Copilot, Web, and custom apps, with skills for production readiness, debugging, and telemetry. Scores are reduced because the skill sample is limited and some trigger descriptions are broad; although the production skill bounds its reference profile, this packet does not fully define all framework capability boundaries or supported environments.
The README, language-repository links, sample navigation, plugin marketplace manifest, and installation commands provide a usable structure. The MIT license text is complete, and security reporting and contribution guidance are clear. Scores are reduced because the packet provides no changelog or SDK versioning policy; plugin versions alone do not explain SDK evolution. The README has wording errors, and example and FAQ coverage is incomplete.
The SDK's multichannel communication scaffolding, state and activity management, and provider-flexible design offer practical building blocks for agents. The skills include concrete configuration examples and procedures. Scores are not full because the sampled skills cover only some tasks, some debugging instructions require many steps and can produce extensive logs, and static materials cannot establish actual output quality, cost, or benefit.
The README clearly states the repository's purpose and points to language repositories and documentation. Workflows show specific build, dependency-installation, and sample-contract-check configurations, while skills distinguish guidance from examples. Scores are reduced because several product claims are not corroborated by the supplied core implementation, the packet is only a sample, and static review cannot verify claimed build or behavioral results.
- The debugging skill recommends DEBUG=agents:* and lists authentication, token, state, and attachment log categories; verify log contents, redaction, and access controls before deployment.
- This assessment uses a limited file sample. Unseen implementations, dependencies, and skills are unknown and should not be treated as either present or absent.
FAQ
Do I need a Microsoft 365 Copilot subscription to use this SDK?
Where should I file an issue?
Does the SDK decide which model or AI service I use?
What is the fastest path to a first working agent?
Which channels does the SDK support natively?
Thanks — we use this to improve the page.