Flow Studio
Node Templates Overview
A node template (called a NodeType) is the definition of a type of node — its identity, visual appearance, port configuration, and default settings. Every node dragged onto the canvas is an instance created from a template. Templates live in the database and can be extended or replaced.
Template vs Instance
| NodeType (Template) | WorkflowNode (Instance) | |
|---|---|---|
| What it is | The definition of a node kind | A specific node placed on a canvas |
| Stored in | Process_ProcessElementTypes table | Process_ProcessElements table (via workflowStore) |
| Multiplicity | One per node kind (e.g., one HTTP Request template) | Many per workflow (many HTTP Request nodes) |
| Contains | typeCode, shape, icon, ports, defaultConfig, formId | nodeId, type, position, label, config (overrides) |
| Editable by | Platform admins only (admin mode) | Workflow designers (any user with edit permission) |
The TypeCode Linking Contract
typeCode is the unique string that links all layers of the system together:
1
Database
Process_ProcessElementTypes.TypeCode = "http-request"
2
Node Palette
Palette card uses typeCode as its lookup key
3
Canvas Renderer
WorkflowCanvas.nodeTypes['http-request'] → React component
4
Backend Executor
IProcessElementExecution registered for "http-request"