Skip to content

What is a Workflow?

FlowDrop is a visual workflow editor — a UI component that lets users build directed graphs of processing steps by dragging, connecting, and configuring nodes on a canvas.

Before diving into code, it’s important to understand the mental model.

Every workflow in FlowDrop is built from four core concepts:

A node is a single step in the workflow. It represents an action, decision, or data transformation — for example, “Send an HTTP request”, “Run an LLM prompt”, or “Route based on condition”.

Each node has:

  • A type that determines its visual appearance (default, simple, square, tool, gateway, terminal, idea, note)
  • Metadata describing its name, icon, category, and capabilities
  • Configuration — user-editable settings defined by a JSON Schema

An edge is a connection between two nodes. It defines the flow of data or control from one step to the next.

Edges have categories that determine their visual style and semantic meaning:

  • data — standard data flow (default)
  • trigger — event-based activation
  • tool — tool invocation from an agent
  • loopback — feedback loops

A port is a typed connection point on a node. Nodes have input ports (receiving data) and output ports (sending data). Ports represent the runtime data that flows between nodes during execution — the actual payloads that one node passes to the next.

Each port has a data type (e.g., string, json, file, trigger). FlowDrop enforces type-safe connections — you can only connect ports with compatible data types.

For example, an LLM node might have:

  • An input port of type string that receives the user’s prompt
  • An output port of type json that emits the model’s response

Ports are unique to each connection — every edge carries its own data between a specific pair of nodes.

Configuration is different from ports. While ports carry runtime data that varies with each execution, config holds shared settings that apply consistently across all runs of the workflow.

Config values are defined by a JSON Schema and edited through a form UI when users click on a node. They control how a node behaves rather than what data it processes.

For example, the same LLM node might have config fields for:

  • Model name — which LLM to use (e.g., claude-sonnet-4-20250514)
  • Temperature — how creative the responses should be
  • Max tokens — the response length limit

These values don’t change from request to request — they’re decisions the workflow author makes once, and every execution of the workflow uses them.

Workflow diagram showing Node A connected to Node B via an edge, with labeled input/output ports and configuration fields

A workflow is a graph: nodes are the vertices, edges are the connections, ports define where connections attach, and config controls what each node does.

FlowDrop is a frontend editor. It handles:

  • Visual canvas with drag-and-drop, zoom, pan
  • Node palette and sidebar for discovery
  • Connection drawing with type-safe port validation
  • Configuration forms generated from JSON Schema
  • Workflow serialization to JSON
  • Undo/redo, auto-save drafts, import/export

FlowDrop does not handle:

  • Execution — It doesn’t run your workflows. You need your own backend execution engine.
  • Storage — It calls your REST API to persist workflows. You provide the database.
  • Business logic — Node behavior is defined by your backend, not by FlowDrop.

Think of it this way:

FlowDrop owns the UI. You own the logic.

FlowDrop gives users a beautiful way to design workflows. Your backend gives those workflows meaning.

FlowDrop communicates with your backend through a REST API. The contract is simple:

  1. Your backend tells FlowDrop what nodes exist — by serving node metadata (name, ports, config schema)
  2. Users build workflows visually — FlowDrop handles all the UI
  3. FlowDrop sends the workflow JSON to your backend — for storage and execution

REST API

GET /nodes

GET /workflows

POST /workflows

POST /execute

Your Backend

Node

definitions

Storage

Execution

Logic

FlowDrop (Browser)

Visual Editor

For a detailed breakdown of this architecture, see Architecture Overview.

FlowDrop is a good fit when you need:

  • A visual, no-code interface for building multi-step processes
  • AI agent workflows with branching, tool use, and human-in-the-loop
  • Data pipelines with configurable transformations
  • Automation builders where non-technical users define business logic
  • Any application where users need to compose processing steps visually