Microsoft's Agent Framework for Python now includes new channel packages designed to facilitate agent and workflow interaction across diverse platforms. This update enables builders to manage how their agents are exposed and behave on different channels, without requiring the agent or workflow to be placed inside a new application runtime or maintained with multiple SDKs.
The new packages are structured around a shared hosting core and specific channel integrations. Each channel package focuses on its protocol boundary, while the application retains control over routing, authentication, authorization, storage, background processing, and deployment.
Key Points
- The agent-framework-hosting package provides a common foundation for channels, utilizing
AgentStatefor agents andWorkflowStatefor workflows. AgentStatemaps application-selected session IDs toAgentSessionvalues, with the application responsible for defining how a caller or user becomes a session ID.- This session ID mapping allows a single conversation to continue across multiple channels, such as OpenAI Responses and Telegram, if they resolve to the same canonical session ID.
- Responses helpers convert incoming requests into Agent Framework run values and transform results back into the Responses format.
- Telegram helpers translate native updates into Agent Framework input and convert streaming runs into Telegram operations, with the application executing these operations.
- For A2A,
AgentA2AAdapterandWorkflowA2AAdaptergenerate native agent cards and align input/output modes with conversion helpers. - For MCP,
AgentMCPToolandWorkflowMCPToolderive native tools from Agent Framework targets, supporting integration with servers like FastMCP.
Context
According to the Microsoft Semantic Kernel Blog, the utility of an agent or workflow depends on its accessibility through existing interfaces and channels. The introduction of channels in the Microsoft Agent Framework for Python addresses this need by providing builders with control over channel exposure and agent behavior.
Why It Matters
This update offers builders greater flexibility in deploying and managing agents and workflows. By separating the agent definition from its communication channels, it simplifies the process of integrating agents into diverse application environments and user touchpoints, potentially reducing development overhead and increasing reach.
What To Do
- Review the Microsoft Agent Framework for Python documentation for details on the new channel packages.
- Examine the provided samples for Responses, Telegram, A2A, and MCP to understand practical implementations.
- Note how
AgentStateandWorkflowStateare used to manage agent and workflow targets and sessions across different channels. - Consider how to implement application-owned identity linking, authorization, and concurrency controls for shared sessions.
