Building bots on Microsoft Teams
- Nathan
- 7 minutes ago
- 3 min read

I recently started down the rabbit hole of figuring out how to run bots and agents in Microsoft Teams. There are many tools, SDKs, and frameworks that can help you get the job done. But which ones should you use? And which ones are outdated or deprecated? That’s what I hope to clear up in this blog post.
Agent Framework, Semantic Kernel, AutoGen
First, you need to build your agent’s code. The Microsoft Agent Framework is the latest and greatest tool to help you with this task. Agent Framework is a "comprehensive multi-language framework for building, orchestrating, and deploying AI agents."
You might have also heard of some other tools from Microsoft which can help you build agents, namely AutoGen and Semantic Kernel. AutoGen was known for having simple abstractions for single and multi-agent patterns. Semantic Kernel was known for having many enterprise-grade features such as state management, telemetry, extensive model support, and more. While they are still useful tools, I would not recommend utilizing either of them at this time. Agent Framework has been designed to be the next generation of both AutoGen and Semantic Kernel. Agent Framework includes the best features from both AutoGen and Semantic Kernel, and it also adds new features as well.
Teams SDK, M365 Agents SDK, Bot Framework SDK
After you build your agent, the next step is to integrate it with Microsoft Teams. This is another subject where you will find multiple options for getting the job done. Microsoft currently has 2 entirely different and fully supported SDKs for this.
Teams SDK
Let’s talk about the first option: Teams SDK. This SDK started its life being known as the Teams AI Library. Then, Microsoft released a successor, which they initially called Teams AI Library v2. Not too long after v2 was released, Microsoft rebranded it as simply Teams SDK. In Microsoft’s words, the Teams SDK is “a Teams-centric interface for integrating GPT-based language models and user intent engines. It simplifies the development process by reducing the need to write and maintain complex conversational bot logic ... allows you to focus on business logic rather than learning the intricacies of Microsoft Teams conversational frameworks.”
When to use Teams SDK: In short, if you are building a bot strictly for Teams, then this is probably the best choice as of right now. It is more mature and more feature-rich than the next SDK that we’ll discuss below.
Microsoft 365 Agents SDK
Next, let’s discuss the second option: Microsoft 365 Agents SDK. In Microsoft’s words, “Microsoft 365 Agents SDK provides capabilities for modern agent development, bringing together the creation of conversational agents with conversation management and orchestration. Agents built with the SDK can connect to numerous AI services and clients, including agents created with non-Microsoft software or technology.”
When to use M365 Agents SDK: In short, if you need to support multiple different Bot channels, like Slack, Teams, web, and more, then you will need to choose Microsoft 365 Agents SDK.
Bot Framework SDK
Before we move on, I’d also like to discuss another option you might see out there in the wild, and that is the Microsoft Bot Framework SDK. It is important to note that the Bot Framework SDK is archived by Microsoft and is no longer being updated or maintained. For that reason, I cannot recommend using this SDK. Microsoft’s preferred replacement is the Microsoft 365 Agents SDK (discussed above) which Microsoft calls "the evolution of the Bot Framework SDK."
Microsoft 365 Agents Toolkit
The last thing I wanted to cover in this post was the Microsoft 365 Agents Toolkit. This was previously known as the Teams Toolkit.
This toolkit "makes it simple to get started with app development for Microsoft Teams, Outlook, and Microsoft 365 Copilot using Visual Studio Code." It is available as a free VS Code extension. It has many different features, including, but not limited to:
Create new apps from project templates for common app scenarios.
Save setup time with automated app registration and configuration.
Run and debug to Teams, Outlook, and Copilot directly from Visual Studio Code.
Smart defaults for hosting in Azure using infrastructure-as-code and Bicep.
Test with different configurations such as dev, test, and prod using the environment features.
More to come
There are still more topics to cover with regards to building bots on Microsoft Teams. You need to setup an Azure Bot Service along with a dedicated identity. You must also package up your Bot and add it to your Teams tenant. I plan on writing a part 2 to this post which will cover those topics. So, more to come!
