--- title: "Concepts" description: "What a workflow is, how a graph is wired, and the JSON the editor and your backend exchange." source: https://flowdrop.io/docs/concepts site: FlowDrop documentation --- # Concepts The vocabulary the rest of this documentation assumes, and the data model both halves of FlowDrop agree on. None of it is specific to a backend. The mental model, and the contract between the editor and your backend. Grow a familiar shell command into a workflow graph. How the modules, components, stores and services fit together. Ports, data types, compatibility rules and gateway branches. ## The data model A workflow is JSON. These pages are the format, field by field. - [Workflow structure](/concepts/workflow-json) — the top-level document - [Node structure](/concepts/node-json) — nodes, metadata and config values - [Edge structure](/concepts/edge-json) — connections and handle IDs - [Workflow interface](/concepts/workflow-interface) — a workflow's public inputs and outputs - [Glossary](/concepts/glossary) — every term, defined once The normative rules live in the [FlowDrop Workflow Specification](https://flowdrop.io/spec/), which is a sibling of this site rather than a section of it.