Full-Code · Conversational Botsactive

Microsoft 365 Agents SDK

Type: full-code · Vendor: Microsoft · Language: C#, JavaScript, Python · License: MIT · Status: active · Status in practice: emerging · First released: 2024-11-19

Links: homepage docs repo

The Microsoft 365 Agents SDK is a development framework for building conversational agents that receive messages across channels such as Teams, Copilot, web, and Slack, route each activity to a handler, and respond with conversation state intact.

Description. The Microsoft 365 Agents SDK is a framework for building conversational agents in C#, JavaScript, or Python. It provides a channel abstraction layer so agent logic written once works across Microsoft Teams, Microsoft 365 Copilot, a company website, Slack, and other surfaces, normalizing each incoming message into a common Activity and translating responses back to each channel's format. It is AI-agnostic by design, handling message receipt, state, and event routing while leaving response generation to whatever AI service or orchestration library the developer wires in. It is the successor to the Bot Framework SDK.

Agent loop shape. When a message arrives the SDK receives it from whatever channel sent it and normalizes it into a common Activity, routes that activity to the appropriate handler in the agent code based on activity type, then sends the response back through the same channel in that channel's format. Developers write handlers for the activity types they care about while the SDK handles authentication, format translation, channel connectivity, and turn-by-turn conversation state.

Primary use cases

  • multi-channel conversational agents and bots
  • Microsoft Teams and Microsoft 365 Copilot agents
  • channel-agnostic message handling across Slack, web chat, and Teams
  • conversation state management across turns

Key concepts

  • Activity translation-layer (docs)The common normalized message format the SDK produces from any channel's incoming message, so a developer's handler reasons over one shape regardless of whether the message came from Teams, Slack, or web chat.
  • Turn short-term-memory (docs)A single unit of work in a conversation; the SDK tracks state across turns through built-in state and storage so context survives between messages.
  • Channel abstraction layer translation-layer (docs)The layer that connects to each surface (Teams, Copilot, Slack, web) and handles its authentication and protocol, so the agent's core behaviour is written once and reused across channels.
  • AI-agnostic scaffolding (docs)The design stance that the SDK provides message receipt, state, and event routing but makes no assumption about what generates the reply, so the developer plugs in any AI service or orchestration library.

Patterns this full-code implements —

Neighbourhood

Click any neighbour to follow the lineage. Scroll to zoom, drag to pan.