--- title: "Glossary" description: "Definitions of key terms used throughout FlowDrop documentation." source: https://flowdrop.io/docs/concepts/glossary site: FlowDrop documentation --- # Glossary **Agent Spec** An open standard for defining AI agent workflows ([oracle/agent-spec](https://github.com/oracle/agent-spec)). FlowDrop can import and export this format via the `AgentSpecAdapter`. **Branch** A conditional output path on a [Gateway](#gateway) node. Each branch has a label and condition that determines which downstream path to follow. **Category** A grouping for node types in the sidebar (e.g., `inputs`, `models`, `processing`, `logic`). Categories have an icon, color, and display order. **ConfigSchema** A JSON Schema object (`{ type: 'object', properties: {...} }`) that defines what configuration fields a node has. FlowDrop renders this as an editable form. — see [Configuration Schema](/editor/config-schema) **ConfigValues** The actual key-value pairs set by a user for a node's configuration. Stored in `node.data.config`. **Data Type** A type identifier for a port (e.g., `string`, `json`, `trigger`, `file`). FlowDrop uses data types to enforce type-safe connections between ports. **Draft** An auto-saved copy of the current workflow stored in `localStorage`. Drafts prevent data loss when the browser closes unexpectedly. **Dynamic Port** A port created at runtime by the user (not defined in node metadata). Used for nodes that accept a variable number of inputs or outputs. **Dynamic Schema** A `configSchema` fetched from an API endpoint at runtime instead of being defined statically in node metadata. Allows config forms to change based on context. — see [Configuration Schema](/editor/config-schema) **Edge** A connection between two nodes. Edges have a source node/port and target node/port, and are categorized as `data`, `trigger`, `tool`, or `loopback`. **Edge Category** The semantic type of an edge: `data` (standard flow), `trigger` (control flow), `tool` (agent tool invocation), or `loopback` (feedback loop). **Endpoint Config** An object mapping FlowDrop's API operations to your backend URLs. Created with `createEndpointConfig('/api/flowdrop')`. — see [Mount API](/editor/reference/mount-api) **Gateway** A node type (`gateway`) used for conditional branching. It has multiple output ports (branches), each with a condition that routes execution. — see [Conditional Branching](/tutorials/recipes/conditional-branching) **Handle ID** The internal identifier for a port connection point, formatted as `{nodeId}-{direction}-{portId}` (e.g., `node-1-output-result`). **Interrupt** A human-in-the-loop event where workflow execution pauses to request user input. Types: `confirmation`, `choice`, `text_input`, `form`, `review`. — see [Human-in-the-Loop](/editor/interrupts) **Mount API** Functions (`mountFlowDropApp`, `mountWorkflowEditor`, `mountPlayground`) that embed FlowDrop into any HTML container element. — see [Mount API Reference](/editor/reference/mount-api) **Namespace** A prefix for custom node types to avoid naming collisions (e.g., `mycompany:special-node`). Created with `createNamespacedType()`. **Node** A single step in a workflow. Each node has a type, position, metadata, ports, and configuration. **NodeMetadata** The definition of a node type — its name, description, icon, category, ports, and config schema. Served by your backend at `GET /nodes`. **Node Type** The visual representation of a node: `workflowNode` (full-featured), `simple` (compact), `square` (icon only), `tool`, `gateway`, `terminal`, `idea`, or `note`. **Plugin** A package of custom node types registered together via `fd.nodes.registerPlugin()` (or `createPlugin().register(fd.nodes)`). Plugins have a namespace and can define multiple node components. — see [Custom Nodes](/editor/custom-nodes) **Playground** An interactive testing interface where users can execute workflows, send messages, and see results in a chat-like UI. **Port** A typed connection point on a node. Input ports receive data; output ports send data. Each port has a data type that determines compatibility. **Port Config** The global configuration of available data types and compatibility rules. Served by your backend at `GET /port-config`. **Registry** A per-instance store of custom node components (`fd.nodes`) or custom form fields (`fd.fields`), seeded with builtins in the instance constructor. — see [Custom Nodes](/editor/custom-nodes) **Session** A playground execution session. Each session has messages, status, and can be resumed. **Store** A Svelte 5 rune-based reactive state container. FlowDrop has stores for workflow, history, settings, playground, interrupts, and categories. **Template Variable** A placeholder in the form `{{ variable.path }}` that resolves to data from upstream nodes. Used in template editor fields. — see [Template Variables](/editor/advanced/template-variables) **UISchema** A layout definition (`VerticalLayout`, `Group`, `Control`) that controls how config schema fields are arranged in the form UI. — see [Configuration Schema](/editor/config-schema) **Workflow** A directed graph of nodes connected by edges. The top-level data structure containing `id`, `name`, `nodes`, `edges`, and `metadata`. **WorkflowAdapter** A programmatic API for creating and manipulating workflows in code, without the visual editor.