Skip to main content
What you’ll learnThe workflow data structure (nodes and edges), how to implement save callbacks, and how to handle workflow lifecycle events.
With a pre-built workflow loaded, clicking Save in the toolbar runs the save flow. Users can modify the workflow and save their changes.

The workflow data structure

When you save or export a workflow, FlowDrop produces a JSON object with two main arrays: nodes and edges.

Nodes

Each node on the canvas is represented as:
  • position — where the node sits on the canvas (x, y coordinates)
  • data.config — the user’s configuration values (from the config form)
  • data.metadata — the full node definition (type, ports, schema)

Edges

Each connection between nodes is an edge:
  • source / target — the node IDs being connected
  • sourceHandle / targetHandle — the specific port IDs (format: {nodeId}-{direction}-{portId})

Event handlers

FlowDrop provides lifecycle hooks to respond to workflow changes and saves:

Implementing a save endpoint

FlowDrop sends the workflow data to your API when the user clicks Save. Here’s a minimal backend example:
The API response should follow the pattern { success: boolean, data: Workflow, message: string }.

Complete setup

Here’s everything from the tutorial combined into a single setup:

What’s next

You’ve completed the tutorial! Here are some areas to explore next:
Tutorial — Step 5 of 5 · Complete! ← Nodes & categories