Microsoft 365 Agents SDK
The Microsoft 365 Agents SDK is a pro-code framework for building conversational agents that receive and answer messages across Microsoft Copilot, Teams, websites, Slack and other channels. It handles channel plumbing, state and authentication, and leaves the choice of AI model and orchestrator to the developer.1
Also known as Agents SDK, M365 Agents SDK, Evolution of the Azure Bot Framework SDK
- Intended for
- Professional developers in C#, JavaScript or Python, ISVs building agents for Microsoft 365 customers, Teams migrating Azure Bot Framework bots
- Runs on
- Your own hosting (the SDK is a library), Azure, with Azure Bot Service for channel connectivity where used, Microsoft 365 Copilot and Teams as custom engine agents, Third-party channels such as Slack and web chat
At a glance
- What is it?
- The Agents SDK is Microsoft's development framework for multi-channel conversational agents, available for C# (.NET 8.0), JavaScript (Node.js 18 and later) and Python (3.9 to 3.11), with open-source repositories on GitHub under the MIT license. Microsoft calls it the plumbing layer between a user's message and the logic that answers it, and the evolution of the Azure Bot Framework SDK. It is the SDK Microsoft points to for custom engine agents, agents that bring their own orchestration and models into Microsoft 365 Copilot and Teams. It is AI-agnostic: developers plug in Microsoft Foundry, OpenAI, Semantic Kernel, LangChain or other services.1234
- What does it do?
- When a message arrives from a channel, the SDK normalizes it into a common Activity format, routes it to the handler the developer wrote for that activity type, and sends the reply back in the format the channel expects. It manages conversation state across turns with built-in storage, handles authentication and channel connectivity, and supports streaming responses into Teams and Copilot. With the Microsoft 365 Agents Toolkit for Visual Studio and Visual Studio Code, developers get templates, debugging and deployment, and can publish agents to their organization or to the Microsoft Commercial Store.14
- Who needs it?
- Developers and ISVs who need one agent to work in several places, such as Microsoft Copilot, Teams, a company website and Slack, and who want full control over the model and orchestration. Microsoft recommends it for highly tailored agents with advanced capabilities across multiple channels. Teams running bots on the Azure Bot Framework SDK should look at it as the migration target.4
- What does it need?4
- C# with .NET 8.0, JavaScript with Node.js 18 or later, or Python 3.9 to 3.11
- Visual Studio or Visual Studio Code with the Microsoft 365 Agents Toolkit for templates, debugging and deployment
- An AI service or orchestrator of your choice, for example Microsoft Foundry models with Agent Framework, OpenAI, or LangChain
- An app manifest at version 1.21 or later to run as a custom engine agent in Microsoft 365 Copilot and Teams
- Hosting for the agent code, which the SDK does not provide
- What it is not
- Microsoft states plainly that the Agents SDK is not an AI model, an orchestration engine or a no-code builder, and does not decide what an agent says. Reasoning, planning and tool use come from whatever you plug in, such as Microsoft Agent Framework or LangChain. It is not Copilot Studio, the low-code option, and not the Teams SDK, which Microsoft recommends for collaborative agents inside Teams channels and meetings. Some Bot Framework features, such as Adaptive Dialogs and Bot Framework Composer artifacts, are not carried over.124
Availability and licensing. Open-source SDK under the MIT license on GitHub, with language repositories for .NET, JavaScript and Python (checked 26 Oct 2026). No separate SDK fee; hosting, AI services and Microsoft 365 licensing for end users apply. Microsoft's overview page is dated 28 April 2026 and does not label the SDK as preview. It is positioned as the evolution of the Azure Bot Framework SDK.3
The problem it solves
Every chat surface has its own message format, authentication and connection protocol. Building an agent for Teams, Copilot, a website and Slack separately means writing and maintaining several integrations, plus your own conversation state handling.
The Agents SDK provides a channel abstraction so agent logic is written once, built-in turn-based state management, and no lock-in to one AI provider. It replaces the older Bot Framework approach of scripted dialogs with a design meant for generative AI orchestrators.
How it works
Microsoft describes three steps for each incoming message:
- The SDK receives the message from the channel (Teams, web chat, Slack and others) and turns it into an
Activity. - It routes the activity to the matching handler in your code, for example one for messages and another for a user joining a conversation.
- It sends your response back through the same channel in that channel's format.
A turn is one unit of work in a conversation, and the SDK tracks state across turns. Your handlers call whatever AI service or orchestrator you choose. For Microsoft 365, the agent is packaged with an app manifest (version 1.21 or later for custom engine agents) and can read Microsoft 365 data through Microsoft Graph and the Retrieval API. Foundry agents published to Microsoft 365 connect through a bot or proxy layer that uses Azure Bot Service.14
Diagram as a list
Copilot & business apps
- Channels (Microsoft Copilot, Teams, web chat, Slack, Facebook Messenger and others)Where users send messages to the agentConnects to Channel abstraction and Activity normalization
Agents & automation
- Orchestrator of your choice (Agent Framework, Semantic Kernel, LangChain, custom)Plans, calls tools and decides the response
AI models & platform
- AI service of your choice (Microsoft Foundry, OpenAI and others)Generates responses
Data & analytics
- Turn state and storageKeeps conversation context across turns
- Microsoft Graph and Retrieval APIGrounds answers in Microsoft 365 data for custom engine agents
Developer tools
- Channel abstraction and Activity normalizationReceives messages, converts them to Activities and handles authentication and channel connectivityConnects to Activity handlers (your agent code)
- Activity handlers (your agent code)Logic for each activity type, such as messages or members joining
- Microsoft 365 Agents Toolkit (Visual Studio, VS Code)Templates, local debugging, deployment and store publishingConnects to Activity handlers (your agent code)
Capabilities
Channel abstraction14
Agent logic is written once and the SDK translates messages to and from each channel, including Microsoft Copilot, Teams, websites, Slack and Facebook Messenger.
Why it matters: Adding a channel does not mean rewriting the agent.
Limits: Channel behaviors differ, and message ordering in Teams and Copilot needs care when mixing streaming text, attachments and final messages.
AI-agnostic design12
The SDK makes no assumption about what generates the response; developers plug in Foundry, OpenAI, Semantic Kernel, LangChain or a custom orchestrator, and can combine agents built with different technologies.
Why it matters: Model and orchestrator choices can change without rewriting channel code.
Limits: You must build or choose the orchestration, safety and grounding yourself.
Turn-based state and storage1
Built-in state and storage management tracks context across turns, so follow-ups and resumed conversations work without a custom persistence layer.
Why it matters: Removes boilerplate and common conversation bugs.
Limits: You still pick and operate the storage backend for production.
Custom engine agents in Microsoft 3654
Agents built with the SDK run as custom engine agents in Microsoft 365 Copilot and Teams and can use Microsoft Graph and the Retrieval API to ground answers in Microsoft 365 data.
Why it matters: Brings a specialized agent into the tools employees already use.
Limits: Requires manifest version 1.21 or later; Copilot Studio has native access to Microsoft 365 knowledge, while SDK agents must call the APIs.
Agents Toolkit and store publishing4
The Microsoft 365 Agents Toolkit extension for Visual Studio and Visual Studio Code provides templates, debugging and deployment; SDK agents can be published to an organization or to the Microsoft Commercial Store.
Why it matters: ISVs can distribute agents to other organizations.
Limits: Store publishing goes through the Agents Toolkit and its requirements.
Bot Framework migration path2
Microsoft provides migration guides for .NET, Node.js and Python from the Azure Bot Framework SDK.
Why it matters: Existing bots can move to a supported framework.
Limits: Adaptive Dialogs, Composer artifacts, legacy generators and LUIS or QnA Maker dependencies are not supported and need replacement.
Practical use cases
A software vendor wants to sell an AI assistant that works inside customers' Microsoft Copilot and Teams as well as on its own website.
- Approach
- Build the agent with the Agents SDK, bring the vendor's own orchestrator and model, and publish through the Agents Toolkit to the Microsoft Commercial Store.
- Role of Microsoft 365 Agents SDK
- The SDK provides multi-channel plumbing and store-ready packaging.
- Data, infrastructure and skills
- Developers in C#, JavaScript or Python, hosting, and an orchestrator and model.
- Type of benefit
- Wider distribution
- Caveats
- Copilot Studio agents cannot be published to the store this way; store requirements apply.
- First step
- Scaffold a project from an Agents Toolkit template and run it locally in Teams.
A company has an Azure Bot Framework bot that relied on LUIS and QnA Maker, whose online services are already disabled.
- Approach
- Migrate the bot to the Agents SDK using the language-specific migration guide and replace LUIS and QnA Maker with an LLM-based orchestrator.
- Role of Microsoft 365 Agents SDK
- The SDK replaces the Bot Framework SDK as the supported framework.
- Data, infrastructure and skills
- The existing bot code and a chosen AI service.
- Type of benefit
- Supportability
- Caveats
- Adaptive Dialogs and Composer artifacts are not carried over and need redesign.
- First step
- Check the bot against the list of unsupported Bot Framework features.
A retailer wants one customer support agent across its website and a messaging channel, plus an internal version in Teams.
- Approach
- Write the agent logic once with the Agents SDK and connect the web, messaging and Teams channels.
- Role of Microsoft 365 Agents SDK
- The SDK translates messages for each channel and keeps conversation state.
- Data, infrastructure and skills
- Channel registrations and a backend that answers support questions.
- Type of benefit
- Lower integration effort
- Caveats
- Channel features differ, so test cards and formatting per channel.
- First step
- Start with web chat and Teams, then add the next channel.
Works with
Optional integration
- Microsoft TeamsTeams is a primary channel for SDK agents.
- Microsoft 365 CopilotSDK agents run as custom engine agents in Microsoft 365 Copilot.
- Visual Studio Code and Visual Studio 2026The Microsoft 365 Agents Toolkit runs in Visual Studio and Visual Studio Code.
Complementary tools
- Microsoft Agent FrameworkThe Agents SDK lets developers bring their own orchestrator for Microsoft 365 channels.
- Microsoft FoundryDevelopers can use models and orchestrators from Foundry behind an SDK agent.
Alternative approaches
- Microsoft Copilot StudioMicrosoft compares the pro-code SDK with low-code Copilot Studio for custom engine agents.
Optional integration for
- Microsoft TeamsTeams is a channel for agents built with the Agents SDK.
Relationship labels follow Microsoft's documentation. "Alternative approaches" does not mean one is better: each profile says when it fits.
Compared with
Getting started
Install the toolkit
Add the Microsoft 365 Agents Toolkit to Visual Studio or Visual Studio Code.
Check: The toolkit shows agent templates when creating a new project.
Create from a template
Start from a QuickStart template in C#, JavaScript or Python, or a sample from the microsoft/Agents repository.
Check: The sample agent runs locally and echoes or answers a message.
Plug in your AI
Call your chosen model or orchestrator, for example Agent Framework with a Foundry model, from the message handler.
Check: The agent returns AI-generated answers in the local test client.
Add channels and publish
Configure Teams and Microsoft Copilot, set manifest version 1.21 or later, and publish to your organization or the store.
Check: The agent appears and responds in Teams and Microsoft Copilot for test users.
Official resources
Deciding whether you need it?
Three free tools apply Microsoft's own published guidance to your situation, and say when Microsoft 365 Agents SDK or any new technology is not needed.
Sources
Each statement above links to the source it comes from. Labels say who reported it.
- What is the Microsoft 365 Agents SDK (opens in a new tab)
- Azure Bot Framework SDK to Microsoft 365 Agents SDK migration guidance (Microsoft Learn) (opens in a new tab)
- microsoft/Agents: Microsoft 365 Agents SDK (GitHub) (opens in a new tab)
- Custom engine agents for Microsoft 365 (opens in a new tab)
Thank you. Your correction was sent.
The editors check it against the sources. If you left an email address, they may reply about it.