Flow Studio
The NodeType Model
The NodeType TypeScript interface describes the complete definition of a node kind — everything the UI needs to render the palette card, instantiate the node, and link it to an Atlas Form for configuration.
NodeType Interface
// packages/flow-studio-types/src/node.types.ts
export interface NodeType {
typeCode: string; // unique key: 'http-request', 'send-email', etc.
displayName: string; // shown in palette and on canvas header
category: NodeCategory; // 'trigger' | 'logic' | 'data' | 'integration' | ...
description: string; // tooltip in palette
icon: string; // Font Awesome class, e.g. 'fa-solid fa-globe'
color: string; // hex color for the node header bar
shape: NodeShape; // 'rectangle' | 'circle' | 'diamond'
ports: ProcessElementPort[]; // input and output port definitions
defaultConfig: Record<string, unknown>; // pre-filled Atlas Form values on drop
formId: number | null; // Atlas Form ID for configuration panel
tags: string[]; // searchable tags in the palette
isDeprecated?: boolean; // if true, shows deprecation badge, hidden from search
version: number; // incremented on template changes
}
Field Descriptions
| Field | Purpose |
|---|---|
typeCode | The universal linking key — must match across DB, canvas, and executor registration |
displayName | Human-readable name in the palette and as the default node label on canvas |
category | Groups nodes in the palette sidebar and affects search ranking |
icon | Font Awesome class string; rendered in palette cards and node headers |
color | Header bar colour; used for visual differentiation (e.g., green for notification nodes) |
shape | Controls which React component renders the node: rectangle=CustomNode, circle=CircleNode, diamond=DiamondNode |
ports | Array of port definitions — see Port Model guide |
defaultConfig | Pre-populated values for the Atlas Form when the node is first dropped |
formId | Atlas Form ID rendered in the Right Panel when the node is selected; null for nodes with no config |
tags | Extra search terms (e.g., ["GET", "POST", "REST", "API"] for HTTP Request) |
Database Mapping
The NodeType interface maps to the Process_ProcessElementTypes SQL table. The API endpoint GET /api/v1/flow-studio/node-types returns all active (non-deprecated) node types for the tenant.