articles

Microsoft Teams development SDK Guidance - Fall 2025

Microsoft's Teams development tools have evolved from Teams JS and Teams FX to multiple competing SDKs. Here's what you need to know about which one to use.

Microsoft Teams development SDK Guidance - Fall 2025
by Andrew Connell

Last updated October 14, 2025
10 minutes read

Share this

Focus Mode

  • TL;DR
  • The original Teams developer experience
  • Enter the Teams AI Library v1
  • The current landscape: multiple competing SDKs
  • Developer tools make it even more confusing
  • What this means for developers
  • What should you use?
  • What I think should happen
  • Looking ahead
  • Feedback & Comments

If you’re building Microsoft Teams apps today, you’ve probably noticed something frustrating: it’s genuinely confusing to figure out which SDK you’re supposed to use. Between the Teams AI v2, the Microsoft 365 Agents SDK, and the Azure AI Foundry Agent SDK, the guidance is unclear at best.

TL;DR

  • TeamsFX is being replaced by the Teams AI v2, which handles tabs, bots, message extensions, AI-powered agents, and other Microsoft Teams solutions
  • The Bot Framework is being replaced by the Microsoft 365 Agents SDK that is designed for multi-channel agents beyond Teams using Azure AI Bot Service
  • The current guidance on when to use Teams AI v2 versus M365 Agents SDK, and the developer tooling, is confusing and not helpful in guiding developers down the right path
  • Azure AI Foundry Agent SDK adds another option to the mix, making the decision matrix even more complex

Microsoft Teams development now has three competing SDKs: Teams AI v2, M365 Agents SDK, and Azure AI Foundry Agent SDK. If building Teams-only apps (tabs, bots, message extensions), use Teams AI v2. For multi-channel agents, use M365 Agents SDK.

In this article, I explain how we got here and what the current story is (or at least what I understand it to be) for developers who want to build custom solutions for Microsoft Teams (personal apps, tabs, chatbots with/without AI, message extensions, meeting extensions, and more).

The original Teams developer experience

Initially, Microsoft Teams development was straightforward. We had the Teams JS library, a client-side JavaScript library that tabs used to communicate with the Teams client. Simple enough.

Then came TeamsFX, a collection of packages (some Node.js, some .NET) that handled various server-side tasks. We used TeamsFX for things like Azure Function extensions that automatically handled authentication, ensuring calls from Teams apps were properly authenticated. It also included a React package (@microsoft/teamsfx-react) that included some useful React hooks for working with Microsoft Graph and other SDK-related functionality.

For chat bots and message extensions, we relied on the Bot Framework v4. This became the infrastructure for message extensions and bot interactions.

Enter the Teams AI Library v1

When large language models became a big deal, Microsoft released the Teams AI Library v1 (released November 2023). This library was built on top of the Bot Framework and was designed to leverage language models (LLMs) to deduce user intent and generate more intelligent responses. It represented a change in Microsoft’s push toward AI-powered conversational experiences in Teams as previously, any natural language processing was handed with LUIS (which will be fully retired in March 2026).

Then things got complicated.

The current landscape: multiple competing SDKs

Microsoft appears to have launched what looks like simultaneous projects: the Microsoft 365 Agents SDK and the Teams AI v2.

Teams AI v2: the new successor SDK to the TeamsFX

The Teams AI v2, released in September 2025, is the successor to what we used to call TeamsFX. It’s an isomorphic JavaScript library that also comes in .NET and Python flavors. This SDK handles everything we used to do with TeamsFX - including tabs, bots, message extensions, and dialogs - and it includes the AI capabilities from the Teams AI Library v1.

Some things weren’t carried forward from TeamsFX, like the React hooks and the Azure Function extension (which we don’t really need anymore anyway).

The Teams AI v2 also provides a CLI that you can use to spin up a brand-new project. It implements everything you need for hosting a web server using Node.js Express for your web app, bots, message extensions, and other services. You can use it to create a bare-bones project without all the additional scaffolding, or you can opt to include support for the full lifecycle management and deployment tools if you choose to use the Microsoft 365 Agents Toolkit (ATK) for VS Code.

The SDK also includes a concept of plugins. For example, there’s a plugin for an Model Context Protocol (MCP) client, MCP server, Agent-2-Agent (A2A) support and other extensibility options.

You’ll find this SDK in a GitHub repo https://www.github.com/microsoft/teams-ai and referred to as Teams AI V2. It also has submodules for other repositories containing the JavaScript, Python, and .NET SDKs, along with example implementations.

I’d argue (and I did… a LOT) this is really TeamsFX v3 — a complete reset and reimagining of the Teams development experience. It’s a significant change that integrates with everything you need to build modern Teams apps.

Microsoft 365 Agents SDK: the multi-channel option

Here’s where things get confusing. The Microsoft 365 Agents SDK, announced at Ignite in November 2024 and released at Build in May 2025, also exists as JavaScript, Python, and .NET SDKs. The current guidance suggests you should use the M365 Agents SDK when you want to build a Custom Engine Agent (CEA) that works in more than just Teams.

The M365 Agents SDK leverages the Azure AI Bot Service, which allows you to publish to multiple channels, such as Twilio, websites, Facebook Messenger, Slack, and yes, Teams too.

But here’s the problem: if that’s the case, shouldn’t that capability be something the Teams AI v2 handles? It seems like the Teams AI v2 SDK could outsource that multi-channel functionality to the M365 Agents SDK when needed, rather than forcing developers to choose between two similar SDKs.

The relationship between these two SDKs is unclear.

They’re supposed to work better together, but today they don’t really do that. The story between these different libraries…which one you’re supposed to use and when?

Both teams say they’re working on bringing the two SDKs together, or at least making them easier to combine, but it’s currently in a state of flux.

Adding to the confusion: Azure AI Foundry Agent SDK

As if two competing SDKs weren’t enough, there’s also the Azure AI Foundry Agent SDK. Now the question becomes: when would I use that compared to the other two?

Between the Teams AI v2, the Microsoft 365 Agents SDK, and the Azure AI Foundry Agent SDK, the landscape of options is so confusing.

Developer tools make it even more confusing

The confusion deepens when you look at the tooling.

To create solutions for Microsoft Teams, Microsoft provides developers with an extension for VS Code: the Microsoft 365 Agents Toolkit (ATK). This extension was relaunched in May 2025 at the Build conference as the next iteration of the Teams Toolkit (TTK)… but in reality, it’s just a rebranding with some new templates.

Microsoft 365 Agents Toolkit (ATK) for VS Code

Microsoft 365 Agents Toolkit (ATK) for VS Code

Using the M365 Agents SDK in the ATK for VS Code

When you use the Agents Toolkit (ATK) to create a Custom Engine Agent, it pushes you toward using the M365 Agents SDK:

M365 Agents Toolkit (ATK) for VS Code - New Project Experience

M365 Agents Toolkit (ATK) for VS Code - New Project Experience

Creating a custom agent (aka: chatbot that utilizes an LLM)? Use the M365 Agents SDK.

To use the M365 Agents SDK, start by selecting the Custom Engine Agent option. CEA’s are commonly referred to as something you’d create for Microsoft 365 Copilot.

But what if I want to create a chatbot? I guess CEA isn’t the right option because it doesn’t mention Teams. But that’s not correct!

Picking the CEA option will send you down the M365 Agents SDK option which means your agent can be used in Teams, as well as other channels supported by the Azure AI Bot Service, including SMS (via Twilio, web chat, Slack, Facebook Messenger, and more). But that’s not at all clear from these options.

What if I know I want to use the M365 Agents SDK? Without clicking through the menu, I don’t know which one I want to create. I have to select Custom Engine Agent before I see the SDK mentioned in the next set of options.

Using the Teams AI SDK v2 in the ATK for VS Code

So… you go with the other option… you pick Teams Agents and Apps. If you select this option to build a Teams solution, it pushes you toward the Teams AI v2.

Well, not really… it’s called the Teams AI Library in the menus. That’s the old name… remember, the new version of the Teams AI Library v1 is now Teams AI v2, and this new version is an SDK, not a library.

M365 Agents Toolkit (ATK) for VS Code - New Project Experience

M365 Agents Toolkit (ATK) for VS Code - New Project Experience

Creating a solution for Teams? Use the Teams AI v2 SDK, even if you don’t plan to use AI!

My issue with this option is not only does it imply that I’m using the Teams AI Library Teams AI v2 SDK to create an agent, it’s not clear what I’ll use when I create a tab, regular chatbot, or message extension. Why? Because when it says what’s used for one option (Build Teams Agent), that implies the other options won’t use that same SDK which isn’t correct. All these options use the Teams AI SDK.

The way these options are presented back up my issue with the name Microsoft chose for the Teams AI v2 SDK. What if I wanted to create a personal app, tab, or message extension? None of those use (or need) AI in their implementation but the fact they put ‘AI’ in the name implies this isn’t the right tool for the job.

But it is. Think of the Teams AI v2 SDK as THE Teams SDK… call it TeamsFx v3, the Teams SDK, or whatever. That explicitly tells me what it is. Sure, it may have AI capabilities in it, but that’s not what you need to put in the name. The name should clearly communicate what you’d use it for: creating apps, extensions, and solutions for Microsoft Teams.

What this means for developers

If you’re building a Teams-only solution, one with tabs, bots, message extensions, or AI-powered chatbots that live exclusively in Teams, then the Teams AI v2 is your best bet. It’s the complete replacement for TeamsFX and the Teams AI Library v1.

If you’re building an agent that needs to work across multiple channels beyond Teams, you’ll likely want to use the Microsoft 365 Agents SDK.

But the reality is that Microsoft is still figuring this out. The guidance is evolving, the SDKs are being developed to work better together, and the boundaries between when to use which SDK aren’t entirely clear.

What should you use?

If you need…Use this SDK
Teams-only: tabs, bots, msg extensionsTeams AI [SDK] v2
Multi-channel agents (Slack, web, etc.)Microsoft 365 Agents SDK
??? (unclear guidance from Microsoft)Azure AI Foundry Agent SDK

What I think should happen

In my opinion, first and foremost, Microsoft needs to rename the Teams AI SDK v2. The name itself implies it’s only for creating solutions that leverage AI. The fact they borrowed the Teams AI Library v1 and bumped the version number is so confusing to developers.

In addition, Microsoft should better clarify the relationship between these SDKs and provide specific dates to set expectations when the story of leveraging using the M365 Agents SDK with the Teams AI SDK v2 will be ready.

The Teams AI v2 should be the primary SDK for all Teams development, and it should be able to leverage the M365 Agents SDK’s multi-channel capabilities when needed. Developers shouldn’t have to choose between two similar SDKs based on unclear criteria.

The addition of the Azure AI Foundry Agent SDK only adds more confusion to an already complex landscape. Microsoft needs to provide clearer guidance on the decision matrix: when should you use Teams AI v2, when should you use M365 Agents SDK, and when should you use Azure AI Foundry Agent SDK?

Looking ahead

If you’re starting a new Teams project today, I recommend starting with the Teams AI v2 unless you have a specific requirement for multi-channel agent deployment and not creating tabs, meeting extensions, or message extensions. Keep an eye on Microsoft’s evolving guidance, and be prepared to adapt as the story continues to develop.

What’s been your experience navigating Microsoft’s Teams SDK options? Have you run into similar confusion? Let me know in the comments below!

Andrew Connell, Microsoft MVP, Full-Stack Developer & Chief Course Artisan - Voitanos LLC.
author
Andrew Connell

Microsoft MVP, Full-Stack Developer & Chief Course Artisan - Voitanos LLC.

Andrew Connell is a full stack developer who focuses on Microsoft Azure & Microsoft 365. He’s a 21-year recipient of Microsoft’s MVP award and has helped thousands of developers through the various courses he’s authored & taught. Whether it’s an introduction to the entire ecosystem, or a deep dive into a specific software, his resources, tools, and support help web developers become experts in the Microsoft 365 ecosystem, so they can become irreplaceable in their organization.

Feedback & Questions

newsletter

Join 12,000+ developers for news & insights

No clickbait · 100% free · Unsubscribe anytime.

    Subscribe to Andrew's newsletter for insights & stay on top of the latest news in the Microsoft 365 Space!
    blurry dot in brand primary color
    found this article helpful?

    You'll love these!

    Microsoft quietly changed (broke?) Teams tab development (and how to fix it)

    Microsoft quietly changed (broke?) Teams tab development (and how to fix it)

    August 30, 2025

    Read now

    Why I switched from NVM to Fast Node Manager (you should too)

    Why I switched from NVM to Fast Node Manager (you should too)

    August 26, 2025

    Read now

    Live Microsoft 365 Learning for SPFx, Copilot, and MS Teams

    Live Microsoft 365 Learning for SPFx, Copilot, and MS Teams

    August 8, 2025

    Read now

    bi-weekly newsletter

    Join 12,000+ Microsoft 365 full-stack web developers for news, insights & resources. 100% free.

    Subscribe to Andrew's newsletter for insights & stay on top of the latest news in the Microsoft 365 ecosystem!

    No clickbait · 100% free · Unsubscribe anytime.

      Subscribe to Andrew's newsletter for insights & stay on top of the latest news in the Microsoft 365 Space!