Skip to main content
FlowDrop automatically generates configuration forms from JSON Schema definitions. This guide covers static schemas, dynamic runtime forms, and layout control.

Overview

FlowDrop provides three ways to define configuration forms for nodes: All three approaches can be combined — FlowDrop tries the dynamic schema first, then falls back to the static schema if the fetch fails.

Quick Start

Define configSchema on your node metadata. FlowDrop auto-renders the form:
Config panel showing a form auto-generated from a JSON Schema: text input, number slider, toggle, dropdown select, and multiline textarea fields.

A configuration form auto-generated from JSON Schema.

Field Types and Formats

Basic Types

Format Overrides

Use format to change how a field renders:

Example

Select Fields

Simple Enum

Labeled Options with oneOf

Multi-Select (Checkboxes)

Autocomplete Fields

Fetch suggestions from a remote API as the user types:

Template Fields

Template fields provide CodeMirror editing with {{ variable }} syntax highlighting and autocomplete from connected node outputs:

UISchema Layout

By default, fields render in property order. Use uiSchema to control layout and grouping — inspired by JSON Forms:

Element Types

Special Config Properties

Certain property names trigger automatic behaviors:

Dynamic Schema (Runtime)

Use configEdit.dynamicSchema to fetch config schemas from your backend at runtime:
The dynamic schema endpoint should return a JSON Schema object. Multiple response shapes are accepted:
  • Direct schema: { type: "object", properties: {...} }
  • Wrapped: { data: {...} } or { schema: {...} }
  • With UISchema: { configSchema: {...}, uiSchema: {...} }
For configuration managed by a 3rd-party system:

Standalone ConfigForm

You can render the ConfigForm component independently in svelte projects: