plugins/microsoft-agents-expert/skills/m365-agents-sdk/SKILL.md
Build and host custom engine agents with the Microsoft 365 Agents SDK — AgentApplication, the Activity protocol, channel reach via Azure Bot Service, hosting Agent Framework or Semantic Kernel engines, and the Agents Toolkit/Playground workflow. Successor to the Bot Framework SDK.
npx skillsauth add markus41/claude plugins/microsoft-agents-expert/skills/m365-agents-sdkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The channel and hosting layer for custom engine agents: receives and sends messages across Microsoft 365 Copilot, Teams, web, and 10+ third-party channels (Slack, Facebook Messenger, Twilio, SMS, email) via Azure Bot Service, which translates channel traffic into Activities. It is the successor to the Bot Framework SDK (BF SDK and Emulator are archived; support ended 2025-12-31). AI-agnostic: host Microsoft Agent Framework, Semantic Kernel, LangChain, OpenAI Agents, or Foundry agents inside it. Docs: https://learn.microsoft.com/microsoft-365/agents-sdk/agents-sdk-overview
Status (mid-2026): GA — .NET v1.6.x (.NET 8+), JavaScript v1.6.x (Node 18+), Python v1.1.x.
| Language | Packages |
|---|---|
| .NET | Microsoft.Agents.Builder (AgentApplication, routing, middleware, turn context), Microsoft.Agents.Core (Activity models), Microsoft.Agents.Storage, Microsoft.Agents.Authentication, Microsoft.Agents.Connector, Microsoft.Agents.Storage.Transcript |
| JS/TS | @microsoft/agents-hosting, @microsoft/agents-hosting-express, @microsoft/agents-activity |
| Python | microsoft-agents-hosting-core, microsoft-agents-activity, microsoft-agents-hosting-aiohttp, microsoft-agents-authentication-msal, microsoft-agents-storage-blob / -cosmos, microsoft-agents-hosting-teams (imports from microsoft_agents) |
Microsoft.Agents.Core / @microsoft/agents-activity.AgentApplication — your entry point. Pipeline: Channel → hosting layer (HTTP auth)
→ AgentApplication routing → your handlers, with turn state loaded before and saved after
each handler. Route ranking (RouteRank.Last) orders catch-alls.CloudAdapter processes /api/messages; agents are stateless with pluggable storage
(memory, Blob, Cosmos).@microsoft/agents-a365-*) layers on enterprise observability
(OpenTelemetry), notifications, MCP tool-server management, and Entra-based agent identity.public class EchoAgent : AgentApplication
{
public EchoAgent(AgentApplicationOptions options) : base(options)
=> OnActivity(ActivityTypes.Message, OnMessageAsync, rank: RouteRank.Last);
private async Task OnMessageAsync(ITurnContext tc, ITurnState ts, CancellationToken ct)
=> await tc.SendActivityAsync($"You said: {tc.Activity.Text}", cancellationToken: ct);
}
import { AgentApplication, MemoryStorage, TurnContext, TurnState } from '@microsoft/agents-hosting'
import { startServer } from '@microsoft/agents-hosting-express'
const app = new AgentApplication<TurnState>({ storage: new MemoryStorage() })
app.onActivity('message', async (ctx: TurnContext) => ctx.sendActivity(`You said: ${ctx.activity.text}`))
startServer(app)
The SDK is plumbing; the intelligence is whatever you host. The documented pattern for Agent Framework / Semantic Kernel: instantiate the engine agent once, then call it from the message handler and relay the result as an activity. Guide: https://learn.microsoft.com/microsoft-365/agents-sdk/using-semantic-kernel-agent-framework
Keep the layers separate: channel/UX concerns (activities, cards, auth) in the
AgentApplication handler; reasoning/tools in the engine (see skills/agent-framework).
Coming from Bot Framework v4 (see /msagent-migrate):
ActivityHandler/adapter wiring becomes AgentApplication routing; middleware moves to
the new pipeline.Microsoft.Agents.Authentication / MSAL configuration.skills/teams-agents for the Teams-native layer./msagent-deploy.tools
Build Teams-native agents with the Teams SDK (formerly Teams AI Library v2) — App class, activity routing, adaptive cards, streaming, AI-generated labels, feedback, message extensions, Teams-as-MCP-server, and the bring-your-own-AI pattern with Agent Framework.
tools
Run agents on Microsoft Foundry (formerly Azure AI Foundry) Agent Service — prompt agents vs hosted agents, threads/runs and the Responses API, built-in tools (Bing grounding, code interpreter, file search, MCP, OpenAPI, A2A), connected agents, Entra agent identity, SDKs, and observability/evaluations.
tools
Design, govern, and extend Microsoft Copilot Studio agents — topics, generative orchestration, knowledge, tools and MCP, agent flows, autonomous triggers, publishing channels, Copilot Credits pricing, and solution-based ALM on Power Platform.
tools
Choose and combine Microsoft agent stacks — the Copilot Studio vs Teams SDK vs M365 Agents SDK vs Agent Framework vs Foundry decision matrix, plus interop patterns - MCP as the tool fabric, A2A as the agent protocol, hosting matrices, and Agent 365 identity/observability.