SOAT vs Dify
Dify is agent infrastructure (Dify Open Source License (Apache-2.0 with added conditions), self-hosted or managed). SOAT is agent infrastructure (Apache-2.0, self-hosted). Of the 15 capabilities the benchmark tracks, Dify covers 8 natively and SOAT 12.
At a glance
| Dify | SOAT | |
|---|---|---|
| Type | agent infrastructure | agent infrastructure |
| License | Dify Open Source License (Apache-2.0 with added conditions) | Apache-2.0 |
| Deployment | self-hosted or managed | self-hosted |
| Native capabilities | 8 of 15 | 12 of 15 |
| Last verified | 2026-08-14 | 2026-08-14 |
Where each one leads
- Dify is native where SOAT is not: code execution.
- SOAT is native where Dify is not: identity & governance, evaluation, multi-tenancy, declarative deployment, versioning & rollout.
What Dify is
Open-source LLM application platform providing a visual workflow canvas, RAG knowledge bases, agent nodes, and a plugin marketplace, served by a self-hostable Docker Compose stack with PostgreSQL, Redis, Celery workers, a pluggable vector database, and a sandbox service. Applications publish as web apps, REST APIs, MCP servers, or reusable tools. Dify documentation.
Capability by capability
Agent runtime
Agent loop, sessions, and generation lifecycle.
- Dify: Native. Runs chat, agent, and workflow applications server-side with function-calling and ReAct agent strategies, persisting conversations and run records. (source)
- SOAT: Native. Agents, sessions, chats, and generations with full lifecycle tracking. (source)
Orchestration
Multi-step pipelines, workflows, and triggers.
- Dify: Native. Visual workflow canvas with multi-node pipelines plus schedule, webhook, and plugin trigger nodes. (source)
- SOAT: Native. DAG orchestrations, workflow state machines, durable tasks, and triggers (manual, webhook, schedule). (source)
Knowledge & memory
Documents, embeddings, semantic search, and recall.
- Dify: Native. Built-in RAG pipeline covering document ingestion, embedding, and retrieval, backed by a configurable vector database such as Weaviate, Qdrant, Milvus, or pgvector. (source)
- SOAT: Native. Documents with per-chunk embeddings, named memories, unified semantic search, and ingestion rules for PDFs, images, and audio. (source)
Tools & integration
Tool calling, MCP, providers, and webhooks.
- Dify: Native. Ships 50+ built-in tools with hundreds of model providers, MCP server publishing, HTTP request nodes, and webhook triggers, extensible through the plugin marketplace. (source)
- SOAT: Native. HTTP, MCP, client, and agent-to-agent tools; model routes with failover; webhooks; any LLM provider. (source)
Identity & governance
IAM, guardrails, approvals, quotas, and audit.
- Dify: Partial. Workspaces have Owner/Admin/Editor/Normal roles with per-knowledge-base visibility, but audit log and enterprise governance are not in the Community Edition. (source)
- SOAT: Native. AWS-inspired IAM, actors, scoped API keys, guardrails, human approvals, quotas, and an append-only audit log. (source)
Observability
Traces, activity, usage, and failure queues.
- Dify: Native. Per-run logs with node-by-node traces, token totals, and status, plus integrations with external tools such as Langfuse, Opik, and Arize Phoenix. (source)
- SOAT: Native. Traces of every tool call and model response, activity feed, usage/cost tracking, and an exceptions queue. (source)
Data & secrets
File storage and encrypted secrets.
- Dify: Native. Managed file storage via OpenDAL, S3, Azure Blob, or GCS, with a server key encrypting session tokens and stored provider credentials. (source)
- SOAT: Native. File storage over local/S3/GCS backends and encrypted secrets storage. (source)
Evaluation
Datasets, scorers, and eval-gated improvement.
- Dify: Absent. No dataset, scorer, or eval-run subsystem; quality tooling is limited to logs and manual annotation.
- SOAT: Native. Datasets, scorers, and scored runs; eval-gated promotion of agent versions. (source)
Channels
Built-in gateways to messaging platforms and UIs.
- Dify: Partial. Applications publish as a hosted web app chat UI, while Slack, Telegram, and Discord bots require marketplace or custom plugins rather than a built-in gateway. (source)
- 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.
- Dify: Native. The Code node runs Python or JavaScript in the DifySandbox service, an isolated environment with a syscall whitelist blocking file, network, and shell access. (source)
- 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.
- Dify: Native. The Human Input node pauses a workflow and emits an event carrying a form token, delivers a form via web app or email, routes execution by the decision taken, and follows a timeout branch. (source)
- 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)
Multi-tenancy
Projects or workspaces scoping resources and permissions.
- Dify: Partial. Workspaces isolate apps, knowledge bases, members, and model configuration under four roles, but the self-hosted Community Edition gets one workspace and multiple workspaces require Enterprise. (source)
- SOAT: Native. Projects are multi-tenant namespaces scoping every resource, with IAM policies and quotas enforced per project. (source)
Declarative deployment
Templates that provision agent resources as one stack.
- Dify: Partial. Dify DSL exports one app's configuration to YAML and recreates it on import with a compatibility check, but there is no dependency graph, plan/apply, or multi-resource provisioning. (source)
- SOAT: Native. Formations provision providers, memories, tools, agents, orchestrations, and webhooks from one template, resolving refs into a dependency graph with tracked operations. (source)
Versioning & rollout
Agent versions, canary rollout, gated promotion.
- Dify: Partial. A version control panel publishes drafts as named versions and restores previous ones, but offers no aliases, canary rollout, traffic splitting, or eval-gated promotion. (source)
- 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)
Skill learning
Agents authoring reusable skills from their own experience.
- Dify: Absent. Apps, workflows, tools, and knowledge bases are authored by humans in the studio; no mechanism has the agent create or refine reusable skills from its own runs.
- 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. A rating that is out of date is a bug: open an issue.