Skip to main content

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​

DifySOAT
Typeagent infrastructureagent infrastructure
LicenseDify Open Source License (Apache-2.0 with added conditions)Apache-2.0
Deploymentself-hosted or managedself-hosted
Native capabilities8 of 1512 of 15
Last verified2026-08-142026-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.