Skip to main content
FlowDrop ships with 9 built-in node types, each designed for specific workflow patterns.

Built-in types

Catalog of FlowDrop's nine built-in node types: default, simple, square, tool, gateway, terminal, idea, note, and atom.

The nine built-in node types, side by side.

For the complete JSON structure, see Node Structure. For port definitions and data types, see Port System & Data Types.

default

Full-featured node with input/output port lists, icon, label, and description. Suitable for most workflow steps.

simple

Compact layout with header icon and description. Space-efficient for nodes that don’t need visible ports.

square

Icon-only minimal design. Ideal for simple operations where the icon alone conveys the purpose.

tool

Designed for AI agent tools. Displays tool metadata including version, badge label, and description.

gateway

Branching logic node with conditional output paths. Supports multiple branches for routing workflow execution.

terminal

Circular start/end point nodes. Used to mark workflow entry and exit points.

idea

Conceptual idea node for BPMN-like flow diagrams. Lightweight node with a colored top border accent.

note

Markdown-enabled sticky notes for documentation. These are non-executing nodes meant for annotations.

atom

A minimalist, label-only node that renders as a compact pill hugging its content — designed for “supplies a value” nodes such as a Constant (and Cast in the future). The atom owns no domain semantics of its own; what it shows and the data type it emits are driven entirely by configuration, so a single node type can back many small value-providing nodes. The body text resolves in order:
  1. The value of the config key named by valueKey (using the field’s oneOf titles when present)
  2. The node’s label
  3. The placeholder, rendered dimmed
The bound output port’s data type can be driven dynamically from config, and a server- or definition-provided color accents the pill border. Display and behavior are configured through extensions.ui.atom (AtomUIConfig):
Ports are resolved from the node’s definition like any other node, so atoms participate in connection validation and proximity connect normally. The pill is a fixed 40px tall; when it has a single port, the handle centers vertically, and multiple ports distribute evenly.

Connection validation

FlowDrop validates connections automatically:
  • Type compatibility — only compatible port data types can connect
  • Cycle detection — prevents circular dependencies (O(V+E) algorithm)
  • Loopback prevention — nodes cannot connect to themselves

Proximity connect

When dragging a node near compatible ports, FlowDrop can auto-connect them. This is configurable via editor settings:

Dynamic ports

Nodes can define user-configurable ports through special config properties:

Custom node types

Beyond the built-in types, you can register custom Svelte components as node types. See the Custom Nodes guide for details.