# Microsoft Foundry Agent Service vs SOAT

> Microsoft Foundry Agent Service and SOAT compared on 15 agent capabilities, 12 vs 12 native, each rating linked to its source.

# SOAT vs Microsoft Foundry Agent Service

Microsoft Foundry Agent Service is a managed agent platform (Proprietary (Microsoft Azure commercial service), managed). SOAT is agent infrastructure (Apache-2.0, self-hosted). Of the 15 capabilities the [benchmark](/benchmark) tracks, Microsoft Foundry Agent Service covers 12 natively and SOAT 12.

## At a glance

| | Microsoft Foundry Agent Service | SOAT |
| --- | --- | --- |
| Type | a managed agent platform | agent infrastructure |
| License | Proprietary (Microsoft Azure commercial service) | Apache-2.0 |
| Deployment | managed | self-hosted |
| Native capabilities | 12 of 15 | 12 of 15 |
| Last verified | 2026-08-14 | 2026-08-14 |

## Where each one leads

- **Microsoft Foundry Agent Service** is native where SOAT is not: channels, code execution.
- **SOAT** is native where Microsoft Foundry Agent Service is not: data & secrets, multi-tenancy.

## What Microsoft Foundry Agent Service is

Managed Azure service for building and scaling agents as either configuration-defined prompt agents or container-based hosted agents, with the Responses API as the single model and tool entry point. Runtime, tools, Entra identity, tracing, and evaluation live inside a Foundry project; there is no self-hosted distribution. [Microsoft Foundry Agent Service documentation](https://azure.microsoft.com/en-us/products/ai-foundry).

## Capability by capability

### Agent runtime

_Agent loop, sessions, and generation lifecycle._

- **Microsoft Foundry Agent Service: Native.** The Agent Runtime hosts prompt and hosted agents, managing conversations, tool calls, and session state behind a managed autoscaled endpoint. ([source](https://learn.microsoft.com/en-us/azure/foundry/agents/overview))
- **SOAT: Native.** Agents, sessions, chats, and generations with full lifecycle tracking. ([source](https://soat.ttoss.dev/docs/modules/agents))

### Orchestration

_Multi-step pipelines, workflows, and triggers._

- **Microsoft Foundry Agent Service: Native.** Workflows provide a declarative visual builder for multi-agent sequences with branching, variables, and human-in-the-loop approval steps, plus A2A connections. ([source](https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/workflow))
- **SOAT: Native.** DAG orchestrations, workflow state machines, durable tasks, and triggers (manual, webhook, schedule). ([source](https://soat.ttoss.dev/docs/modules/orchestrations))

### Knowledge & memory

_Documents, embeddings, semantic search, and recall._

- **Microsoft Foundry Agent Service: Native.** The File Search tool indexes uploaded documents into managed vector stores, with an additional memory tool and Azure AI Search grounding available. ([source](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/file-search))
- **SOAT: Native.** Documents with per-chunk embeddings, named memories, unified semantic search, and ingestion rules for PDFs, images, and audio. ([source](https://soat.ttoss.dev/docs/modules/knowledge))

### Tools & integration

_Tool calling, MCP, providers, and webhooks._

- **Microsoft Foundry Agent Service: Native.** The tool catalog offers built-in tools, OpenAPI tools, function calling, remote MCP servers, and Toolbox bundling curated tools behind one managed MCP endpoint. ([source](https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/tool-catalog))
- **SOAT: Native.** HTTP, MCP, client, and agent-to-agent tools; model routes with failover; webhooks; any LLM provider. ([source](https://soat.ttoss.dev/docs/modules/tools))

### Identity & governance

_IAM, guardrails, approvals, quotas, and audit._

- **Microsoft Foundry Agent Service: Native.** Agents can hold a dedicated Microsoft Entra identity with Azure RBAC, integrated guardrails and content filters, per-tool approval requirements, and documented quotas. ([source](https://learn.microsoft.com/en-us/azure/foundry/guardrails/guardrails-overview))
- **SOAT: Native.** AWS-inspired IAM, actors, scoped API keys, guardrails, human approvals, quotas, and an append-only audit log. ([source](https://soat.ttoss.dev/docs/modules/iam))

### Observability

_Traces, activity, usage, and failure queues._

- **Microsoft Foundry Agent Service: Native.** Agent tracing records every model call and tool invocation with Application Insights integration, service dashboards, and continuous production evaluation. ([source](https://learn.microsoft.com/en-us/azure/foundry/observability/concepts/trace-agent-concept))
- **SOAT: Native.** Traces of every tool call and model response, activity feed, usage/cost tracking, and an exceptions queue. ([source](https://soat.ttoss.dev/docs/modules/traces))

### Data & secrets

_File storage and encrypted secrets._

- **Microsoft Foundry Agent Service: Partial.** Files and vector stores are service-managed and tool credentials sit in project connections, but durable storage and secrets rely on Azure Storage and Key Vault. ([source](https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/tool-catalog))
- **SOAT: Native.** File storage over local/S3/GCS backends and encrypted secrets storage. ([source](https://soat.ttoss.dev/docs/modules/files))

### Evaluation

_Datasets, scorers, and eval-gated improvement._

- **Microsoft Foundry Agent Service: Native.** Evaluations run uploaded JSONL datasets against an agent using rubric, quality, safety, and custom evaluators, returning per-run and per-row scores. ([source](https://learn.microsoft.com/en-us/azure/foundry/observability/how-to/evaluate-agent))
- **SOAT: Native.** Datasets, scorers, and scored runs; eval-gated promotion of agent versions. ([source](https://soat.ttoss.dev/docs/modules/evaluations))

### Channels

_Built-in gateways to messaging platforms and UIs._

- **Microsoft Foundry Agent Service: Native.** Agents publish from the Foundry portal into Microsoft Teams and Microsoft 365 Copilot via a generated Teams manifest and Azure Bot Service channel. ([source](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/publish-copilot))
- **SOAT: Absent.** Surfaces are REST, MCP, CLI, and SDK — no built-in gateways to messaging platforms like Slack, WhatsApp, or Telegram.

### Code execution

_Sandboxed code or terminal runtimes for agents._

- **Microsoft Foundry Agent Service: Native.** The Code Interpreter tool executes agent-written Python in a sandbox, with a custom variant allowing configured packages and Container Apps resources. ([source](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/code-interpreter))
- **SOAT: Absent.** Tool types are HTTP, MCP, client, and agent-to-agent — no built-in sandboxed code or terminal runtime.

### Human-in-the-loop

_Pausing a run for human approval, then resuming it._

- **Microsoft Foundry Agent Service: Native.** An MCP tool configured to always require approval emits an approval request item that suspends the tool call until the caller submits a matching approval response. ([source](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/model-context-protocol))
- **SOAT: Native.** Approvals are a first-class human-decision queue with frozen evidence, and guardrails classify each tool call so risky actions pause for a decision. ([source](https://soat.ttoss.dev/docs/modules/approvals))

### Multi-tenancy

_Projects or workspaces scoping resources and permissions._

- **Microsoft Foundry Agent Service: Partial.** A Foundry project scopes agents and Azure RBAC roles with optional per-agent role scopes, but tenancy is plain Azure RBAC on ARM resources rather than an agent-service tenant model. ([source](https://learn.microsoft.com/en-us/azure/foundry/concepts/rbac-foundry))
- **SOAT: Native.** Projects are multi-tenant namespaces scoping every resource, with IAM policies and quotas enforced per project. ([source](https://soat.ttoss.dev/docs/modules/projects))

### Declarative deployment

_Templates that provision agent resources as one stack._

- **Microsoft Foundry Agent Service: Native.** Agents and their deployments are first-class ARM resource types authorable in Bicep, ARM JSON, or Terraform, with parent-child dependency resolution and pinned version references. ([source](https://learn.microsoft.com/en-us/azure/templates/microsoft.cognitiveservices/accounts/projects/applications/agentdeployments))
- **SOAT: Native.** Formations provision providers, memories, tools, agents, orchestrations, and webhooks from one template, resolving refs into a dependency graph with tracked operations. ([source](https://soat.ttoss.dev/docs/modules/formations))

### Versioning & rollout

_Agent versions, canary rollout, gated promotion._

- **Microsoft Foundry Agent Service: Native.** Saved agent versions are immutable and referenced by name and version, with version history, per-version diffing, request routing to a specific version, and rollback. ([source](https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/development-lifecycle))
- **SOAT: Native.** Every config change is archived as an append-only agent version, with canary rollout to a slice of traffic and eval-gated promotion. ([source](https://soat.ttoss.dev/docs/tutorials/agent-versioning-and-canary-rollout))

### Skill learning

_Agents authoring reusable skills from their own experience._

- **Microsoft Foundry Agent Service: Partial.** The preview agent optimizer discovers and refines reusable skills for a hosted agent using datasets generated from its own traces, but a human applies and redeploys the winning candidate. ([source](https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/agent-optimizer-overview))
- **SOAT: Absent.** Memories and knowledge store retrievable context, but agents do not author or refine reusable skills from their own experience.

## How this is rated

Each rating comes from the public documentation linked beside it: **Native** is built in, **Via plugin** needs an add-on, **Partial** covers part of the capability, **Absent** is not offered. Every solution side by side is on the [benchmark](/benchmark). A rating that is out of date is a bug: [open an issue](https://github.com/ttoss/soat/issues).
