{"id":2135,"date":"2026-04-22T10:30:12","date_gmt":"2026-04-22T17:30:12","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/foundry\/?p=2135"},"modified":"2026-04-24T08:46:29","modified_gmt":"2026-04-24T15:46:29","slug":"from-local-to-production-the-complete-developer-journey-for-building-composing-and-deploying-ai-agents","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/foundry\/from-local-to-production-the-complete-developer-journey-for-building-composing-and-deploying-ai-agents\/","title":{"rendered":"From Local to Production: The Complete Developer Journey for Building, Composing, and Deploying AI Agents"},"content":{"rendered":"<p>When we launched <a href=\"https:\/\/devblogs.microsoft.com\/foundry\/introducing-microsoft-agent-framework-the-open-source-engine-for-agentic-ai-apps\/\">Microsoft Agent Framework<\/a> last October, we made a promise: building production-grade AI agents should feel as natural and structured as building any other software.<\/p>\n<p>Today, we\u2019re delivering on that promise \u2014 with the <strong>v1.0 release of Microsoft Agent Framework<\/strong> and the <strong>general availability of<\/strong> <strong>Foundry Toolkit<\/strong> <strong>for V<\/strong><strong>isual Studio Code<\/strong> (formerly AI Toolkit for VS Code), new capabilities in <strong>memory<\/strong> (preview) in Foundry Agent Service, <strong>Toolbox in Foundry<\/strong> (preview) to give your agents the right tools, a faster and more secure <strong>hosted <\/strong><strong>agents<\/strong> experience in Foundry Agent Service (preview), and <strong>Observability in Foundry Control Plane <\/strong>reaching full GA on core capabilities including end-to-end tracing now in place<strong>. <\/strong><\/p>\n<p><iframe src=\"\/\/www.youtube.com\/embed\/iR7_57lJOz8\" width=\"560\" height=\"314\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>Customers like <strong>Sitecore<\/strong> are already putting this stack to work. <span data-teams=\"true\">Their SitecoreAI platform powers Agentic Studio, a collaborative workspace where marketing teams and AI agents execute campaigns together. It&#8217;s built on Microsoft Agent Framework, with Foundry IQ ensuring each agent connects to the right brand knowledge at the right time with built-in governance.<\/span><\/p>\n<h2>Step 1: Build Locally with Microsoft Agent Framework + Foundry Toolkit for VS Code<\/h2>\n<p>Every agent starts on a developer\u2019s machine. <a href=\"https:\/\/github.com\/microsoft\/agent-framework\">Microsoft Agent Framework<\/a> has now reached its v1.0 release and is stable across Python and .NET. It\u2019s the open-source SDK and runtime that unifies the enterprise-grade foundations of Semantic Kernel with the multi-agent orchestration innovation of AutoGen, so developers no longer have to choose between them. We\u2019ve published detailed <a href=\"https:\/\/learn.microsoft.com\/en-us\/agent-framework\/migration-guide\/\">migration guides<\/a> for existing Semantic Kernel and AutoGen users to make the transition straightforward.<\/p>\n<p>v1.0 includes:<\/p>\n<ul>\n<li><strong>Multi-model <\/strong><strong>and agent platform support<\/strong> \u2014 Azure OpenAI, Anthropic, Google Gemini, Amazon Bedrock, Ollama, and more<\/li>\n<li><strong>Workflows<\/strong> \u2014 programmatic and declarative multi-step agent pipelines, including visual export in <a href=\"https:\/\/learn.microsoft.com\/en-us\/agent-framework\/devui\/?pivots=programming-language-python\">DevUI<\/a><\/li>\n<li><strong>Native Foundry integration<\/strong> \u2014 memory, hosted agents, Observability (Tracing, Monitoring, and Evaluations), and Foundry Tools as first-class building blocks<\/li>\n<li><strong>Open standards<\/strong> \u2014 MCP, A2A, and OpenAPI out of the box<\/li>\n<\/ul>\n<pre class=\"prettyprint language-py\"><code class=\"language-py\">import asyncio\r\nfrom agent_framework.azure import AzureOpenAIResponsesClient\r\nfrom azure.identity import AzureCliCredential\r\n\r\nasync def main():\r\n    agent = AzureOpenAIResponsesClient(\r\n        credential=AzureCliCredential(),\r\n    ).as_agent(\r\n        name=\"SupportTriageBot\",\r\n        instructions=\"You are an expert support triage agent.\",\r\n    )\r\n    \r\n    response = await agent.run(\"Analyze this ticket and classify its priority.\")\r\n    print(response.text)\r\n\r\nasyncio.run(main())\r\n<\/code><\/pre>\n<p><a href=\"https:\/\/aka.ms\/foundrytk\">Foundry Toolkit for VS Code<\/a>, now generally available, gives you a purpose-built VS Code experience alongside Microsoft Agent Framework: create agents from templates or with GitHub Copilot, test and debug runs locally with visualization and traces, and deploy to Foundry Agent Service directly \u2014 all without leaving the familiar VS Code environment. Read <a href=\"https:\/\/techcommunity.microsoft.com\/blog\/azuredevcommunityblog\/microsoft-foundry-toolkit-for-vs-code-is-now-generally-available\/4511831\">this blog<\/a> to learn more about what\u2019s new in Foundry Toolkit. Deploying to the newest hosted agents in Foundry Agent Service (public preview) is available via the Foundry Toolkit pre\u2011release.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/GABlog.gif\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2146\" src=\"https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/GABlog.gif\" alt=\"GABlog image\" width=\"1428\" height=\"952\" \/><\/a><\/p>\n<h2>Step 2: Build Agents That Actually Do Things \u2014 Agent Harness &amp; Multi-Agent Composition (Public Preview)<\/h2>\n<p>Microsoft Agent Framework handles multi-agent orchestration\u2014 but orchestrating agents is only half the picture. The other half is what happens when an individual agent needs to operate autonomously over extended periods: executing shell commands, reading and writing to the filesystem, and managing context across long-running sessions without losing coherence. Microsoft Agent Framework addresses this in two ways: a built-in <a href=\"https:\/\/devblogs.microsoft.com\/agent-framework\/agent-harness-in-agent-framework\/\">Agent Harness<\/a> (public preview) and integrations with coding agents (public preview).<\/p>\n<h3>Agent Harness<\/h3>\n<p>Three foundational patterns, available in Python and .NET:<\/p>\n<h4>1. Local Shell Harness with Approval Flows<\/h4>\n<p>Execute commands locally with explicit human-in-the-loop approval before anything runs:<\/p>\n<pre class=\"prettyprint language-py\"><code class=\"language-py\">@tool(approval_mode=\"always_require\")\r\ndef run_bash(command: str) -&gt; str:\r\n\u00a0\u00a0\u00a0 \"\"\"Execute a shell command and return the result.\"\"\"\r\n\u00a0\u00a0\u00a0 result = subprocess.run(command, shell=True, capture_output=True, text=True)\r\n\u00a0\u00a0\u00a0 return result.stdout\r\n\r\n# Wire the local function to the agent via get_shell_tool\r\nlocal_shell_tool = client.get_shell_tool(func=run_bash)\r\nagent = Agent(\r\n\u00a0\u00a0\u00a0 client=client,\r\n\u00a0\u00a0\u00a0 instructions=\"You are a helpful assistant that can run shell commands.\",\r\n\u00a0\u00a0\u00a0 tools=[local_shell_tool],\r\n)<\/code><\/pre>\n<p><em>\ud83d\udd12 Always run local shell execution in an isolated environment with approval enabled.<\/em><\/p>\n<h4>2. Hosted Shell Harness<\/h4>\n<p>Move execution into the provider-managed sandbox environment that powers hosted agents in Foundry Agent Service, with a single-line change:<\/p>\n<pre class=\"prettyprint language-py\"><code class=\"language-py\">shell_tool = client.get_shell_tool()\u00a0 # execution runs in provider-managed sandbox\r\nagent = Agent(client=client, instructions=\"...\", tools=shell_tool)<\/code><\/pre>\n<h4>3. Context Compaction<\/h4>\n<p>Automatically manage conversation history for long-running sessions, keeping agents within their token budget without losing critical context:<\/p>\n<pre class=\"prettyprint language-py\"><code class=\"language-py\">from agent_framework import (\r\n\u00a0\u00a0\u00a0 Agent, InMemoryHistoryProvider,\r\n\u00a0\u00a0\u00a0 CompactionProvider, SlidingWindowStrategy,\r\n)\r\n\r\nagent = Agent(\r\n\u00a0\u00a0\u00a0 client=client,\r\n\u00a0\u00a0\u00a0 instructions=\"You are a helpful assistant.\",\r\n\u00a0\u00a0\u00a0 tools=[get_weather],\r\n\u00a0\u00a0\u00a0 context_providers=[\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 InMemoryHistoryProvider(),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CompactionProvider(\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 before_strategy=SlidingWindowStrategy(keep_last_groups=3)\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ),\r\n\u00a0\u00a0\u00a0 ],\r\n\r\n)<\/code><\/pre>\n<h3>Multi-Agent Composition with GitHub Copilot SDK<\/h3>\n<p>Microsoft Agent Framework provides multi-agent orchestration across multiple agents \u2014 sequential, concurrent, hand-off, and coding agent composition\u2014 with checkpointing, middleware pipelines, and human-in-the-loop control built into the execution layer.<\/p>\n<p>With the new <a href=\"https:\/\/devblogs.microsoft.com\/agent-framework\/build-ai-agents-with-github-copilot-sdk-and-microsoft-agent-framework\/\">GitHub Copilot SDK integration<\/a>, Microsoft Agent Framework serves as the orchestration backbone while calling the GitHub Copilot SDK for the agent harness layer. Any agent in the workflow can delegate to a Copilot SDK-powered agent \u2014 leveraging its native Model Context Protocol (MCP) support, skills integration, shell\u00a0execution, and file operations \u2014 then pass results to the next agent in the pipeline.<\/p>\n<h2>Step 3: Make Agents Stateful with memory in Foundry Agent Service (Public Preview)<\/h2>\n<p>Production agents need to remember. <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/foundry\/agents\/concepts\/what-is-memory?view=foundry&amp;tabs=conversational-agent\">Foundry\u2019s memory<\/a> (preview) is a managed long-term memory capability built directly into Foundry Agent Service and now integrates natively with Microsoft Agent Framework and LangGraph\u2014 no external databases to provision, scale, or secure.<\/p>\n<pre class=\"prettyprint language-py\"><code class=\"language-py\">from agent_framework import InMemoryHistoryProvider\r\nfrom agent_framework.azure import AzureOpenAIResponsesClient, FoundryMemoryProvider\r\nfrom azure.ai.projects import AIProjectClient\r\nfrom azure.identity import AzureCliCredential\r\nimport os\r\n\r\nproject_client = AIProjectClient(\r\n\u00a0\u00a0 \u00a0endpoint=os.environ[\"AZURE_AI_PROJECT_ENDPOINT\"],\r\n\u00a0\u00a0 \u00a0credential=AzureCliCredential(),\r\n\r\n)\r\n\r\n\r\nagent = AzureOpenAIResponsesClient(\r\n\u00a0\u00a0\u00a0 credential=AzureCliCredential(),\r\n).as_agent(\r\n\u00a0\u00a0\u00a0 name=\"CustomerSuccessAgent\",\r\n\u00a0\u00a0\u00a0 instructions=\"You are a proactive customer success agent.\",\r\n\u00a0\u00a0\u00a0 context_providers=[\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 InMemoryHistoryProvider(),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 FoundryMemoryProvider(\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 project_client=project_client,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 memory_store_name=memory_store.name,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 scope=\"user_123\",\u00a0 # segments memory per user\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ),\r\n\u00a0\u00a0\u00a0 ],\r\n)<\/code><\/pre>\n<p>What\u2019s new:<\/p>\n<ul>\n<li><strong>Microsoft Agent Framework &amp; LangGraph integration<\/strong> \u2014 memory in Foundry Agent Service (preview) is now natively integrated with Microsoft Agent Framework and LangGraph, so developers using any of these frameworks get persistent, managed memory without additional wiring or custom middleware<\/li>\n<li><strong>Memory item CRUD API<\/strong> \u2014 inspect, edit, or delete specific facts and preferences the agent has stored programmatically, giving developers full transparency and control over what the agent remembers. Users can request that stored memories be corrected or removed at any time<\/li>\n<li><strong>Custom user scope header<\/strong> \u2014 as part of memory, developers can now pass a custom userId header to define memory scope based on their own identity and user management systems, rather than being tied to Entra ID. This gives teams the flexibility to segment memory per user in any IAM setup they already use<\/li>\n<\/ul>\n<p><div class=\"alert alert-info\">\ud83d\udca1 Pricing: Memory in Foundry Agent Service billing begins June 1, 2026, with consumption-based pricing. Memory is\nfree to use during preview before June 1. Short-term memory is $0.25 per 1K events stored, long-term memory is $0.25 per 1K memories per month, and\nmemory retrieval is $0.50 per 1K retrievals.<\/div><\/p>\n<h2>Step 4: Give Your Agents the Right Tools \u2013 Toolbox in Foundry (Public Preview)<\/h2>\n<p>Building a capable agent isn&#8217;t just about choosing the right model or framework \u2014 it&#8217;s about connecting that agent to the real-world tools it needs to get work done. The tools agents need in production go far beyond a single MCP server or API. They span web search, code interpreter, file search, SaaS connectors, internal services, and more \u2014 each with its own auth model, protocol, and owning team. Without a shared layer, every agent team re-implements the same integrations, duplicates credentials, and operates without governance.<\/p>\n<p><strong><a href=\"https:\/\/aka.ms\/foundry-toolbox-pupr\">Toolbox in Foundry<\/a><\/strong> solves this with a single, unified way to configure and use a curated, intent\u2011driven set of tools, with consistent capabilities, secure access, and enterprise\u2011grade guarantees built in. No matter which agent framework you use\u2014Microsoft Agent Framework, LangGraph, or others\u2014you can integrate tools cleanly, without custom glue code.<\/p>\n<p>&nbsp;<\/p>\n<p><u><a href=\"https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/ToolboxUX.gif\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2143\" src=\"https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/ToolboxUX.gif\" alt=\"ToolboxUX image\" width=\"2000\" height=\"1125\" \/><\/a><\/u><\/p>\n<p>With toolbox, you get:<\/p>\n<ul>\n<li><strong>Build\u00a0once in Foundry, consume anywhere:<\/strong>\u00a0create a toolbox, store your configuration in Foundry, and connect any MCP client to the same endpoint \u2014 no re-wiring required<\/li>\n<\/ul>\n<ul>\n<li><strong>Tools in Foundry accessible via one endpoint:\u00a0<\/strong>built-in tools such as web search, file search, code interpreter, and Azure AI Search, alongside protocols including MCP, OpenAPI, and Agent-to-Agent (A2A), all exposed through a single unified endpoint<\/li>\n<\/ul>\n<ul>\n<li><strong>Enterprise requirements handled for you:<\/strong>\u00a0built-in auth handling including OAuth identity passthrough and Microsoft Entra Agent Identity, plus built-in tracing and observability for all tool calls in Hosted Agents<\/li>\n<\/ul>\n<h2>Step 5: Host and Manage Agents at Scale \u2014 Hosted Agents in Foundry Agent Service (Public Preview)<\/h2>\n<p>Once your agent is ready, <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/foundry\/agents\/concepts\/hosted-agents?view=foundry\">hosted agents in Foundry Agent Service<\/a> provides a fully managed runtime to deploy and operate it at enterprise scale \u2014 with security, isolation, and performance that production workloads demand.<\/p>\n<p>At the core of hosted agents is an <strong>isolated execution <\/strong><strong>sandbox<\/strong> that runs each agent session in its own dedicated, secure runtime. Every session starts clean \u2014 no shared state between sessions, no cross-session data leakage, and strong compute boundaries between tenants. Read <a href=\"https:\/\/aka.ms\/HostedAgents-blog\">this blog<\/a> to learn more about the new hosted agents.<\/p>\n<p>What hosted agents gives you:<\/p>\n<ul>\n<li><strong>Session isolation<\/strong> \u2014 each agent run executes in its own isolated sandbox, providing compute isolation and a clean execution environment per session<\/li>\n<li><strong>VNET support<\/strong> \u2014 run hosted agents within your own virtual network for private connectivity to data sources, APIs, and internal services without exposing traffic to the public internet<\/li>\n<li><strong>Faster startup<\/strong> \u2014 agent sessions start near-instantly in under 100ms, eliminating cold-start latency without the cost of keeping instances warm<\/li>\n<li><strong>Zero idle cost<\/strong> \u2014 agents are suspended between conversation turns; you pay only for active execution<\/li>\n<li><strong>Framework agnostic<\/strong> \u2014 bring any SDK or framework; hosted agents in Foundry Agent Service is not limited to any specific invocation pattern<\/li>\n<li><strong>Built-in skills, memory, and observability<\/strong> \u2014 native integration with Foundry Tools, memory (preview), and Observability in Foundry Control Plane with no additional wiring<\/li>\n<li><strong>One-command deployment via Azure Developer CLI (AZD)<\/strong> with autoscaling, managed identity, and CI\/CD promotion gates included<\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/Convert-to-GIF-project.gif\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2148\" src=\"https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/Convert-to-GIF-project.gif\" alt=\"Convert to GIF project image\" width=\"1920\" height=\"1080\" \/><\/a><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\"># Deploy your agent to Hosted agents in Foundry Agent Service in one command\r\nazd deploy<\/code><\/pre>\n<p><div class=\"alert alert-info\">\ud83d\udca1 Pricing: Hosted agents billing begins April 22, 2026 during preview. You pay only for active execution: compute\nis $0.0994 per vCPU-hour and memory is $0.0118 per GiB-hour. Model inference and persistent memory are billed separately. See the Foundry Agent\nService <a href=\"https:\/\/azure.microsoft.com\/en-us\/pricing\/details\/foundry-agent-service\/\">pricing page<\/a>.<\/div><\/p>\n<h2>Step 6: Know What Your Agents Are Doing \u2014 Observability in Foundry Control Plane<\/h2>\n<p>Getting to production is an achievement. Staying there \u2014 reliably, safely, efficiently \u2014 is the real engineering challenge. Observability in Foundry Control Plane is now fully GA. <span data-teams=\"true\">Tracing and AI Red Teaming Agent complete a stack that includes built-in evaluators (coherence, relevance, groundedness, and safety) and continuous production traffic monitoring through Azure Monitor \u2014 all GA. Custom evaluators, both code-based and LLM-as-a-judge, are available in public preview, letting teams define domain-specific quality metrics beyond the built-in catalog.\u00a0 The full development lifecycle is now covered: from local debugging to production alerts.<\/span><\/p>\n<h3>Tracing \u00a0\u2014 From \u201cSomething Went Wrong\u201d to \u201cHere\u2019s Exactly Where\u201d<\/h3>\n<p>Tracing in Foundry is built on <strong>OpenTelemetry<\/strong> and provides automatic, end\u2011to\u2011end visibility into agent execution. The tracing foundation is <strong>generally available<\/strong>, with <strong>hosted agent tracing rolling out in public preview<\/strong>.<\/p>\n<pre class=\"prettyprint language-py\"><code class=\"language-py\">from azure.ai.projects import AIProjectClient\r\nfrom azure.identity import AzureCliCredential\r\nfrom azure.monitor.opentelemetry import configure_azure_monitor\r\n\r\nproject_client = AIProjectClient(\r\n\u00a0\u00a0\u00a0 endpoint=os.environ[\"FOUNDRY_PROJECT_ENDPOINT\"],\r\n\u00a0\u00a0\u00a0 credential=DefaultAzureCredential(),\r\n)\r\n\r\n# Connect Application Insights \u2014 configure once per application\r\nconfigure_azure_monitor(\r\n\u00a0\u00a0\u00a0 connection_string=\"&lt;your-application-insights-connection-string&gt;\"\r\n)\r\n# All downstream agent calls, tool invocations, and model requests are now traced.<\/code><\/pre>\n<p>This captures the full execution path \u2014 model calls, tool invocations, retrieval steps, and cross-agent handoffs \u2014 with evaluation-to-trace linkage that takes you directly from a low-quality score to the exact trace that produced it.<\/p>\n<h3>AI Red Teaming Agent \u2013 Know how your agents behave under attack<\/h3>\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/foundry\/concepts\/ai-red-teaming-agent\"><strong>AI Red Teaming Agent<\/strong><\/a><strong> is now generally available<\/strong> \u2014 giving every organization building generative AI agentic applications on Foundry access to Microsoft\u2019s automated adversarial testing capabilities<u>.<\/u> The AI Red Teaming Agent automates adversarial probing of your models and hosted agents, running systematic attack simulations and scoring results so you get a clear picture of your system&#8217;s risk posture before it ships. It builds on <a href=\"https:\/\/github.com\/Azure\/PyRIT\">Python Risk Identification Tool<\/a>, Microsoft&#8217;s open-source red teaming framework, and integrates natively with the Foundry Evaluation SDK.<\/p>\n<ul>\n<li><strong>Automated scanning<\/strong> \u2014 simulate adversarial attacks across content safety categories and agentic-specific risks including prohibited actions, sensitive data leakage, task adherence, and indirect prompt injection (XPIA)<\/li>\n<li><strong>No-code UI<\/strong> \u2014 launch red teaming runs directly from the Foundry portal without writing code<\/li>\n<li><strong>CI\/CD integration<\/strong> \u2014 run red teaming via the Foundry SDK and APIs as part of your development and deployment pipelines<\/li>\n<li><strong>Continuous risk tracking<\/strong> \u2014 findings are logged, monitored, and tracked over time directly in Foundry, so your risk posture improves alongside your agent as it evolves<\/li>\n<\/ul>\n<p>Red teaming is designed to run throughout the development lifecycle \u2014 pick the safest foundation model, test during development, gate pre-deployment, and run continuous scans in production.<\/p>\n<h3>From developer observability to IT governance<\/h3>\n<p>Foundry Control Plane gives developers deep visibility into every agent run. But as agent fleets grow, IT and security teams need organizational-level oversight too \u2014 not just per-agent traces, but a complete picture of every agent operating across the tenant.<\/p>\n<p>Every agent created in Foundry Agent Service is automatically <strong>visible in <a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoft-agent-365\/overview\">Microsoft Agent 365 (A365)<\/a><\/strong> \u2014 giving IT admins a single, unified control plane to observe, secure, and govern all agents across the organization, regardless of where they were built.<\/p>\n<p>Through Agent 365, admins can:<\/p>\n<ul>\n<li><strong>See every agent in the tenant<\/strong> \u2014 a complete registry of Foundry-managed agents alongside Copilot Studio and other sources<\/li>\n<li><strong>Govern agent access and lifecycle<\/strong> \u2014 enforce least-privilege access, automate lifecycle policies, and maintain audit readiness with built-in logging<\/li>\n<li><strong>Monitor agent behavior<\/strong> \u2014 track activity, performance, usage patterns, and risk signals in real time<\/li>\n<li><strong>Extend your existing security posture to agents<\/strong> \u2014 assign Entra agent identities, defend with Microsoft Defender, prevent data leaks with Microsoft Purview<\/li>\n<\/ul>\n<p>Together, Foundry Control Plane and Agent 365 give you developer-level observability and enterprise-level governance \u2014 built on infrastructure you already use.<\/p>\n<h2>Step 7: Put Agents in the Hands of Users \u2013 Publishing to Microsoft 365 (Public Preview)<\/h2>\n<p>Once your agent is built, stateful, deployed, observable, and governed, the final step is putting it in the hands of users \u2014 wherever they work. From the Foundry Agent Service portal today, agents can be <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/foundry\/agents\/how-to\/publish-copilot\">published directly to Microsoft Teams and Microsoft 365 Copilot<\/a> (preview) with a single click, appearing as a first-class participant in the tools your organization already uses.<a href=\"https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/One-click-publishing.webp\"><img decoding=\"async\" class=\"wp-image-2159 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/One-click-publishing-300x169.webp\" alt=\"One click publishing image\" width=\"909\" height=\"512\" srcset=\"https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/One-click-publishing-300x169.webp 300w, https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/One-click-publishing-1024x578.webp 1024w, https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/One-click-publishing-768x433.webp 768w, https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/One-click-publishing-1536x867.webp 1536w, https:\/\/devblogs.microsoft.com\/foundry\/wp-content\/uploads\/sites\/89\/2026\/04\/One-click-publishing.webp 1855w\" sizes=\"(max-width: 909px) 100vw, 909px\" \/><\/a><\/p>\n<p>Developers can choose between two distribution scopes. <strong>Shared scope<\/strong> makes the agent available to individual users under <em>&#8220;Your agents&#8221;<\/em> in the Agent Store in Microsoft 365 Copilot and Microsoft Teams \u2014 no admin approval required. <strong>Organization scope<\/strong> is designed for broad distribution across the tenant: when published with organization scope, the agent is submitted for admin approval in the Microsoft 365 admin center, where admins can review the agent&#8217;s description, connected data sources, and capabilities before approving it. Once approved, the agent appears under <em>&#8220;Built by your org&#8221;<\/em> in the Agent Store and is available to users across the organization in Microsoft 365 Copilot and Microsoft Teams.<\/p>\n<h1>Get Started<\/h1>\n<ul>\n<li><strong>Start building your own intelligent agents today with <\/strong><a href=\"https:\/\/ai.azure.com\/\">Foundry Agent Service<\/a><strong> and <\/strong><a href=\"https:\/\/aka.ms\/AgentFramework\"><strong>Microsoft Agent Framework<\/strong><\/a><\/li>\n<li><strong>See the end-to-end demo in action in the <\/strong><a href=\"https:\/\/www.youtube.com\/watch?v=iR7_57lJOz8\">Microsoft Mechanics episode<\/a><\/li>\n<li><strong>Watch the <\/strong><strong>Open at Microsoft<\/strong> <strong>episodes<\/strong><strong>:<\/strong>\n<ul>\n<li><a href=\"https:\/\/aka.ms\/AgentsVideo-MAF\">Microsoft Agent Framework version 1.0 release<\/a><\/li>\n<li><a href=\"https:\/\/aka.ms\/AgentsVideo-Memory\">Microsoft Agent Framework integration with Foundry managed memory<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Join our live <a href=\"https:\/\/developer.microsoft.com\/en-us\/reactor\/series\/S-1655\/?wt.mc_id=linkedin_S-1655_social_reactor\">\u201cHost your agents on Foundry\u201d series<\/a> to learn how to deploy production-ready AI agents using Microsoft Agent Framework or LangGraph and hosted agents.<\/li>\n<li>To continue your learning journey, visit\u00a0<a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/foundry\/what-is-foundry\"><strong>Microsoft Learn <\/strong><\/a>and explore resources including the\u00a0<a href=\"https:\/\/github.com\/microsoft\/ai-agents-for-beginners\"><strong>AI Agents for Beginners<\/strong><\/a> and course materials that help you build and operate agents responsibly<\/li>\n<li>Dive deeper with the <a href=\"https:\/\/aka.ms\/AgentBuildersGuide\"><strong>AI Builder\u2019s Guide to Agent Development and Management whitepaper<\/strong><\/a><\/li>\n<li>Keep the conversation going in\u00a0<a href=\"https:\/\/aka.ms\/foundry\/forum\"><strong>GitHub\u00a0<\/strong><\/a>and\u00a0<a href=\"https:\/\/aka.ms\/foundry\/discord\"><strong>Discord<\/strong><\/a><strong>!<\/strong><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>When we launched Microsoft Agent Framework last October, we made a promise: building production-grade AI agents should feel as natural and structured as building any other software. Today, we\u2019re delivering on that promise \u2014 with the v1.0 release of Microsoft Agent Framework and the general availability of Foundry Toolkit for Visual Studio Code (formerly AI [&hellip;]<\/p>\n","protected":false},"author":190969,"featured_media":2170,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[50,107,49,112,51,1],"tags":[122,121,128],"class_list":["post-2135","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-a2a","category-agent-framework","category-aiagent","category-foundry-agent-service","category-mcp","category-microsoft-foundry","tag-foundry-agent-service","tag-foundry-tools","tag-microsoft-agent-framework"],"acf":[],"blog_post_summary":"<p>When we launched Microsoft Agent Framework last October, we made a promise: building production-grade AI agents should feel as natural and structured as building any other software. Today, we\u2019re delivering on that promise \u2014 with the v1.0 release of Microsoft Agent Framework and the general availability of Foundry Toolkit for Visual Studio Code (formerly AI [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/posts\/2135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/users\/190969"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/comments?post=2135"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/posts\/2135\/revisions"}],"predecessor-version":[{"id":2181,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/posts\/2135\/revisions\/2181"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/media\/2170"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/media?parent=2135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/categories?post=2135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/foundry\/wp-json\/wp\/v2\/tags?post=2135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}