Portal Community

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

FieldPurpose
typeCodeThe universal linking key — must match across DB, canvas, and executor registration
displayNameHuman-readable name in the palette and as the default node label on canvas
categoryGroups nodes in the palette sidebar and affects search ranking
iconFont Awesome class string; rendered in palette cards and node headers
colorHeader bar colour; used for visual differentiation (e.g., green for notification nodes)
shapeControls which React component renders the node: rectangle=CustomNode, circle=CircleNode, diamond=DiamondNode
portsArray of port definitions — see Port Model guide
defaultConfigPre-populated values for the Atlas Form when the node is first dropped
formIdAtlas Form ID rendered in the Right Panel when the node is selected; null for nodes with no config
tagsExtra 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.