Overview of the change
The new agent object model collapses Agent Applications and Agent Deployments into the Agent object itself. Previously, publishing created a separate Agent Application resource with its own identity, endpoint, and deployment. Now, every agent has these capabilities from the moment it’s created.Before (legacy model)
- Resource model: An Agent (data plane), Agent Application (control plane), and Deployment (control plane) are separate objects.
- Agent object properties:
id(unique identifier for the agent),name, andversions(the latest agent version). - Identity: Unpublished agents in a Foundry project share an Entra agent identity and an Entra agent blueprint. Upon publishing, an agent receives a unique identity and blueprint scoped to the Agent Application resource.
- Publishing: Two gestures. First, publishing an agent creates an Agent Application resource and a Deployment, where the Deployment references the published agent version. The Agent Application exposes a stable endpoint routing 100% of traffic to that version. A Deployment supports start/stop lifecycle management. The second gesture is that the Agent Application can then be published to Microsoft 365 and Teams.

After (new model)
- Resource model: Only Agent objects exist (data plane and control plane). They absorb the responsibilities previously owned by Agent Application and Deployment.
- Agent object properties:
id,name,versions,agent_endpoint(stable endpoint),protocol_configuration,authorization_schemes,version_selector,blueprint,instance_identity, andagent_card(surfaces agent details and capabilities to consumers and A2A). - Identity: Newly created agents receive a unique Entra Agent Blueprint and Entra Agent Identity by default. Bring-your-own Entra Agent Blueprint is supported but not the default.
- Publishing: Two equivalent gestures. First, select an agent version to expose via the stable endpoint. Second, publish the agent’s stable endpoint to M365/Teams.

Agent types during the transition
During the transition period, you may encounter three types of agents:
The
agent.identity value distinguishes new agents from legacy agents: null means legacy, non-null means new.
What continues to work
- Existing Agent Applications continue to serve traffic through their endpoints.
- Agents published to M365/Teams via Agent Applications continue to work.
- The project endpoint remains available for backward compatibility (though it’s no longer the recommended path).
- Legacy agents remain fully functional for development and testing in the Foundry project.
Migration paths
Path 1: New agents (no action needed)
If you create agents after the object model update, they automatically get the new model with unique identity, stable endpoint, and all new features. No migration is required.Path 2: Upgrade a legacy agent
Legacy agents (created before the update) use the shared project identity and can’t be published via the new model. To upgrade:-
Check if your agent is a legacy agent:
If
instance_identityis null in the response, it’s a legacy agent. - Create a new agent using the same definition:
There’s currently no way to upgrade a legacy agent to a unique identity in place. To get a unique identity, create a new agent using the same definition (instructions, tools, model configuration). The new agent automatically receives a unique identity and stable endpoint. An in-place upgrade path is planned for a future update.
- Once the new agent is created, it has a unique identity and you can use all new features including the new publishing experience that uses the agent endpoint.
Path 3: Migrate an existing Agent Application
If you have an Agent Application published to M365/Teams and want to migrate to the new model, follow these steps:- Create a new agent using the same definition as the agent behind your Agent Application (instructions, tools, model configuration). The new agent automatically receives a unique identity and stable endpoint. See Path 2 for details.
- Publish the new agent to Microsoft 365 and Teams from the Foundry portal. Publishing is only available through the Foundry portal—there’s no public publish API. For steps, see Publish agents to Microsoft 365 Copilot and Microsoft Teams.
- Verify the new agent works in M365/Teams with the new stable endpoint.
-
Decommission the old Agent Application after you confirm the new agent works:
- Delete the Agent Application Azure resource. Deleting the resource doesn’t delete your agent versions.
- To keep existing integrations working, update any code that references the old Application endpoint URL to use the new agent stable endpoint URL.
Endpoint URL changes
When migrating, update any code or integrations that reference the old endpoint format:Publishing UX during the transition
During the transition, you may see different publishing experiences depending on the agent type:- New agents (
agent.identity!= null): You see the new publishing UX with stable endpoint selection, version routing, and direct publish to M365/Teams. - Legacy agents (
agent.identity== null): You see the legacy Agent Application publishing UX. A banner may indicate the new experience is available with a link to upgrade.