Skip to content

Langflow vs flowMAS feature parity

This document maps Langflow (v1.10.x) capabilities to flowMAS (web studio + gMAS runtime). Use it to track what we already match and what to build next.

Legend

Status Meaning
โœ… Supported with comparable UX
โš ๏ธ Partial / different model / workaround
๐Ÿ”œ Planned or stub only
โŒ Not in scope or not applicable to gMAS

Build & canvas

Langflow flowMAS Status Notes
Visual flow editor Workflow canvas โœ… Agents, Start/Finish, edges
Component library (Core + Bundles) Agent + Tool registry โš ๏ธ Langflow has LLM, vector, parser, etc. components
Flow templates Graph templates API โœ…
Import Langflow JSON POST /api/graphs/import โš ๏ธ Structure preserved; semantics differ
Rename / describe nodes Agent inspector โœ…
Group components โ€” โŒ Multi-select group not implemented
Freeze component (skip re-run) โ€” โŒ gMAS re-executes agents each run
Run single component โ€” โŒ Whole graph run only
Inspect component output Inspector + Console โœ… Per-agent I/O and tool calls
Typed ports / color coding Agent edges only โš ๏ธ No Message/Tool port types on canvas
Dynamic ports โ€” โŒ
Component code editor Agent Python in registry โš ๏ธ Agents are code-first, not in-canvas
Component version updates โ€” โŒ
Keyboard shortcuts Partial hotkeys โš ๏ธ
Start / Finish nodes Start / Finish โœ… Replaces Langflow Chat Input / Output

Control flow & routing

Langflow flowMAS Status Notes
If-Else / conditional routing Edge conditions โœ… success / fail / keyword / loop
Keyword branches (If-Else style) Conditional + keyword edges โœ… Cyan edges; Run Settings hints
Loop (list iteration component) โ€” โŒ Langflow Loop over lists; use graph loops
Review / cycle loops Loop edges (โ†บ) โœ… Max Loop Iterations in Run Settings
Parallel branches Run Settings โ†’ Parallel mode โœ…
Multi-input fan-in (AND join) Multiple incoming edges โœ… Skipped branches unblock join (runtime fix)
Router / dynamic path Adaptive scheduler + edges โœ… Requires Adaptive Scheduler
Timer / delay inside flow โ€” โŒ Not edge delay โ€” use Schedules
Notify / Listen (delayed events) โ€” โŒ Langflow still evolving

Execution & triggers

Langflow flowMAS Status Notes
Run once (Playground / API) Run button + POST /api/execution/run โœ…
Token streaming WebSocket events โœ…
Run history Runs page โœ…
Cancel run API + UI stop โœ…
Follow-up / continue run Follow-up API โœ…
Background Agents (cron / interval / date) Schedules /schedules โœ… pause, resume, run now; APScheduler
Workflow API v2 background: true Schedules + async runs โš ๏ธ No generic job queue; scheduled + WS
Webhook trigger (POST /webhook) โ€” ๐Ÿ”œ Event-driven external trigger
Event triggers (Background Agents) โ€” ๐Ÿ”œ
Tweaks at runtime Run Settings + per-run config โš ๏ธ No per-component tweak map
Session ID / chat memory Task memory in Run Settings โš ๏ธ Different model than Langflow sessions
Global variables in request โ€” ๐Ÿ”œ Langflow v2 globals in JSON body
Sync workflow with timeout โ€” โš ๏ธ gMAS runs async; poll Runs / WS
Stop workflow by job_id Cancel by run_id โœ…

Schedules API (Background Agents analogue)

Action Endpoint
List GET /api/schedules
Create POST /api/schedules
Update PUT /api/schedules/{id}
Delete DELETE /api/schedules/{id}
Run now POST /api/schedules/{id}/run
Pause / Resume POST .../pause / .../resume

Schedule types: cron (5-field), interval (seconds โ‰ฅ 30), once (ISO datetime).

Run metadata: scheduled runs set trigger_source: "schedule", schedule_id, schedule_name on persisted runs.


Agents, tools & MCP

Langflow flowMAS Status Notes
Agent component Agent nodes โœ…
Tool Mode (component as tool) Tool registry + agent tools โš ๏ธ
MCP server (expose flows) โ€” โŒ
MCP client (external servers) โ€” โŒ
Composio / bundle integrations Custom tools โš ๏ธ web_search etc. via tool config

Observability & debugging

Langflow flowMAS Status Notes
Playground (test flow) Run + Console โœ…
Component logs Console + Inspector โœ… Click log row for details
Run metrics Runs detail โœ… Tokens, timing
Export flow / run JSON export โœ…
Validate before run Validate button โœ… Inline graph validation

API & deployment

Langflow flowMAS Status Notes
/v1/run/{flow_id} /api/execution/run โœ…
Flow CRUD API /api/graphs โœ…
Agent CRUD API /api/agents โœ…
API key auth on webhooks โ€” ๐Ÿ”œ
Docker deploy docker-compose.yml โœ…
Multi-replica scheduler Single API process โš ๏ธ APScheduler in-process; no distributed lock

Settings & LLM

Langflow flowMAS Status Notes
Multiple LLM providers Settings โ†’ LLM Providers โœ…
Per-flow provider override Run Settings โœ…
Early stop rules Run Settings โœ… keyword / metadata / custom
Adaptive scheduler / pruning Run Settings โœ… Required for conditional edges
Parallel execution limits Run Settings โœ…

Priority backlog (Langflow gaps)

  1. Webhook triggers โ€” POST /api/webhooks/{graph_id} to start a run from external systems (Langflow Webhook component).
  2. Background job queue โ€” optional background: true on run API with job polling (Langflow Workflow API v2).
  3. Global run variables โ€” typed globals on execution request.
  4. Distributed schedules โ€” Redis/DB-backed scheduler for multi-replica API.
  5. Component groups / freeze โ€” lower priority; different execution model.

References