Skip to content

Microsoft Agent vs Flow: What Foundry's June 2026 Release Really Decides for You

Foundry's June 2026 drop makes agents cheap to ship. Here is the decision rule for choosing between a flow, a Foundry agent, and a custom Azure build.

Alex Pechenizkiy 8 min read
Microsoft Agent vs Flow: What Foundry's June 2026 Release Really Decides for You

The June 2026 Foundry release makes agents dramatically cheaper to ship. That is exactly the problem. The Microsoft agent vs flow question was already the most consequential architecture call a platform team makes, and this release raises the stakes by making the wrong answer easier to ship than ever.

Here is my position: most teams over-build agents for jobs a deterministic flow does better. The release lowers the cost of building an agent. It does not lower the cost of operating one, auditing one, or explaining one to a governance board. The release lowers the cost of shipping. That raises the cost of choosing wrong.

What actually shipped, and why Claude is not the headline

The Foundry June 2026 release covers a lot of ground: Claude reaching “general availability” in Foundry, agents publishing directly to Teams and Microsoft 365 Copilot, expanded Toolboxes and Routines, Memory updates, and Agent Optimizer in what Microsoft calls “private preview.”

Before anything else, know which product you are actually comparing. Foundry Agent Service is the pro-code agent platform on Azure. Copilot Studio agents live in the Power Platform governance boundary. Microsoft 365 Copilot agents are the distribution surface inside Teams and Office. Power Automate flows are deterministic workflow automation. These four things get conflated in every planning meeting, and the conflation is where bad architecture starts.

Most coverage led with Claude’s GA. I think that misses the point. Shipping a top competitor’s flagship model at GA signals that Foundry is not betting on any single model winning. My read, and this is my stance rather than anything Microsoft claims: Foundry is positioning itself as the substrate agents run on, where distribution and governance are the moat and models are interchangeable tenants. Plan as if that is true, because the feature list only makes sense through that lens.

The headline is not Claude. The headline is that Microsoft just made model choice boring and distribution decisive.

Microsoft agent vs flow: the honest decision rule

Microsoft’s positioning treats agents as the more capable option and flows as the simpler one. In production the relationship inverts. A Power Automate flow you can read line by line, with per-run history an auditor can replay, beats an agent nobody can fully explain. A Foundry agent earns its complexity only when the input is unstructured and the next step genuinely depends on reasoning.

Determinism is the first test, but not the only one. Ask about human approval gates, transactionality, failure tolerance, volume, connector coverage, and data residency. And ask about money. Power Automate bills on per-user or per-flow licensing, so cost is largely fixed against volume. Foundry agents bill on consumption, so cost moves with every run. Illustrative math with industry-standard inputs, calibrate against your own tenancy and rates, actuals vary: ten thousand invoice-routing runs on a per-flow license cost the same in January as in June. The same ten thousand runs through an agent, at a few thousand tokens per run, is tens of millions of tokens a month, priced against your model rates and swinging with prompt length, retries, and model choice. Neither number matters as much as the shape: one is flat, one is a curve nobody forecast.

Criterion
Determinism
Power Automate flow
Fixed path, every run
Foundry agent
Reasons over unstructured input
Custom Azure build
Whatever you code
Criterion
Auditability
Power Automate flow
Line-by-line run history
Foundry agent
Trace and explain
Custom Azure build
You build the logging
Criterion
Latency
Power Automate flow
Milliseconds to seconds
Foundry agent
Model round-trips
Custom Azure build
As fast as you engineer
Criterion
Governance surface
Power Automate flow
Power Platform DLP
Foundry agent
Foundry plus M365 admin
Custom Azure build
You own everything
Criterion
Maintained by
Power Automate flow
Citizen dev or fusion team
Foundry agent
AI team
Custom Azure build
Platform engineering
Criterion
Cost model
Power Automate flow
Per-user or per-flow license
Foundry agent
Consumption billing
Custom Azure build
Full run cost plus headcount
Criterion
Failure mode
Power Automate flow
Visible error, run stops
Foundry agent
Plausible wrong answer
Custom Azure build
Depends on your discipline

Read the failure-mode row twice. A flow that breaks throws an error and stops. An agent that breaks produces a confident, plausible, wrong answer and keeps going. That single difference should drive more architecture decisions than every capability slide from Build combined.

Three illustrative examples, not client work. Invoice approval routing: fixed path, mandatory audit trail, defined approvers. Flow wins, and putting an agent here adds probabilistic risk for zero benefit. Triaging unstructured support email into categorized tickets: free text in, judgment call out. Agent wins, wrapped in human review while you build confidence in its accuracy. A latency-sensitive fraud-scoring step inside an existing event pipeline: milliseconds matter and the data plane is bespoke. Custom Azure build wins, and no managed agent platform changes that.

Default to a flow. Escalate to an agent only when the flow’s branching logic becomes unmaintainable, which is the honest signal that you need reasoning rather than more switch cases.

AI copilots vs custom Azure build: what Teams publishing changes

For years, the strongest argument in the AI copilots vs custom Azure build debate was distribution. Getting an assistant in front of users inside Teams meant bot registrations, manifest packaging, and admin negotiations that pushed teams toward custom front ends instead. Agents publishing directly to Teams and Microsoft 365 Copilot removes much of that work, though admin approval gates and tenant catalog policies still stand between “published” and “in front of users.”

So when does a custom build still win? Three cases hold: bespoke data-plane requirements the platform will not accommodate, latency-sensitive paths where a model round-trip through managed infrastructure is unacceptable, and orchestration patterns the platform does not expose. If your custom-build rationale was distribution, it is now weaker. If it was control, it holds completely.

I wrote about the guardrail layer this requires in Power Platform governance guardrails, and everything there applies double once agents enter the tenant. Distribution just got easy. Governance did not, and the gap between the two is now your problem, not Microsoft’s.

Toolboxes, Routines, and Memory: the governance story hiding in the features

A sourcing caveat first: public documentation on Toolboxes and Routines is still thin as of this writing. Treat what follows as directional, and verify specifics against current Microsoft Learn docs before you commit an architecture to them.

Directionally, Toolboxes and Routines read like productivity features and are not. A Toolbox is a curated, scoped collection of capabilities an agent can reach, which means policy can live at the tool-grant level instead of being re-litigated per agent. A Routine is a declarative, reviewable definition of how an agent executes a task, which moves agent behavior toward something a change advisory board can actually reason about. Together they are Microsoft’s answer to the single biggest objection enterprise IT raises against agents: unpredictability. What remains unconfirmed publicly is the RBAC model, versioning guarantees, and whether approval workflows are built in. Ask those questions before you standardize.

Adopt Routines before you scale agents, not after. Retrofitting predictability onto fifty deployed agents is a rewrite. Building it into your first three is a template.

Memory is the unglamorous feature that matters most, and it cuts both ways. Persistent context across sessions is what separates a chatbot from an assistant, and users notice immediately. But persistent memory is persistent data retention, and it creates four specific liabilities. First, retention itself: confirm where memory is stored, what the default retention period is, and whether expiry is configurable, against Microsoft Learn’s data and privacy documentation rather than the release blog. Second, subject rights: a GDPR erasure request that touches agent memory needs a programmatic, auditable purge path, and you should prove that path exists before go-live. Third, reproducibility: explaining a past agent decision requires knowing what memory state existed at inference time, so confirm memory reads and writes land in your traces. Fourth, scope isolation: memory scoped wrong bleeds context between users, and that is a test case, not an assumption.

Treat everything an agent remembers as PII until proven otherwise. Marketing copy does not survive a Purview audit. Documentation does.

Agent Optimizer: watch list, not roadmap

Everyone ships agent builders. Almost nobody ships agent evaluators, which is why so many agents die between demo and production. Agent Optimizer, in private preview, looks like Microsoft acknowledging that gap: a harness for testing and tuning agent behavior rather than eyeballing it.

Private preview means unconfirmed. Do not plan Q3 around capabilities that can change or vanish before GA. For compliance evidence today, anchor on the GA evaluation tooling and tracing you can already run, which is exactly the discipline I argue for in evaluating agents before production. Put Optimizer on your watch list and revisit at GA.

The decision gate to run before you build

Do not end your next planning meeting with “let’s build an agent.” End it with this gate, in order, and stop at the first exit:

  1. Is the execution path fixed and known? Build a flow. Stop here.
  2. Does the input genuinely require reasoning over unstructured content? If no, it is a flow with more branches. If the branches have become unmaintainable, continue.
  3. Can you tolerate a plausible wrong answer, or wrap the agent in human review until you cannot find one? If neither, it is not an agent candidate yet.
  4. Do latency, data-plane, or orchestration requirements exceed what the platform exposes? If yes, it is a custom Azure build and you own everything that implies.
  5. Before any agent ships: DLP owner named, lifecycle owner named, memory retention verified against Learn docs, erasure path proven, evaluation harness running on GA tooling.

The best production pattern I know is a deterministic wrapper around a probabilistic core: the flow owns the trigger, the approvals, and the audit trail, and the agent owns only the judgment call in the middle. Microsoft just handed you a faster way to ship agents. Run the gate, and what you choose not to build will matter more than what you do.

Stay in the loop

Get new posts delivered to your inbox. No spam, unsubscribe anytime.

Related articles