Skip to content

FlowDrop Node Type

Configurable node type definitions for workflow nodes — enabling site builders to create custom node types without coding.

Overview

The flowdrop_node_type module provides a config entity for defining workflow node types. Each node type maps to a NodeProcessor plugin and can be configured with custom labels, icons, colors, categories, and default configuration values.

Site builders can create and manage node types entirely through the admin UI, while developers can ship node types as config install files. The module also exposes REST API endpoints for the visual editor to discover available nodes, fetch metadata, and validate configuration.

Dependencies

Configuration

Admin Pages

Path Description
/admin/flowdrop/config/node-types List all node types
/admin/flowdrop/config/node-types/add Create a new node type
/admin/flowdrop/config/node-types/{id} Edit a node type
/admin/flowdrop/config/node-types/{id}/delete Delete a node type
/admin/flowdrop/config/node-types/visual-types Visual types settings

Dynamic Configuration Forms

Node type edit forms are schema-driven — they are automatically generated based on the associated NodeProcessor plugin's configuration schema. This includes real-time validation and AJAX-powered dynamic updates when configuration values change.

Permissions

Permission Description
administer flowdrop_node_type Full CRUD access to node type definitions

Tips and Tricks

Choosing Icons

FlowDrop uses Material Design Icons (MDI) for node type icons, specified with the mdi: prefix.

Format: mdi:<icon-name> (e.g., mdi:cog, mdi:robot, mdi:database)

Finding icons:

  1. Browse pictogrammers.com/library/mdi
  2. Search by keyword
  3. Copy the icon name and prefix with mdi:

Recommended icons by category:

Category Recommended Icons
Input/Output mdi:import, mdi:export, mdi:keyboard, mdi:file-document
AI/Models mdi:robot, mdi:brain, mdi:head-cog, mdi:chat
Data Processing mdi:cog, mdi:filter, mdi:swap-horizontal, mdi:merge
Storage mdi:database, mdi:folder, mdi:content-save
Network/API mdi:web, mdi:api, mdi:cloud, mdi:webhook
Logic/Flow mdi:call-split, mdi:source-fork, mdi:repeat

Icon tips: Choose icons that are descriptive, consistent within related types, and recognizable at small sizes (16-24px).

Shipping Node Types via Config

To include node types with a contrib module, add config install files:

# config/install/flowdrop_node_type.flowdrop_node_type.my_node.yml
id: my_node
label: 'My Custom Node'
description: 'Does something custom'
enabled: true
category: processing
icon: 'mdi:cog'
color: '#007cba'
executor_plugin: my_node_processor
config: {}
tags: ['custom']

Developer API

All PHP classes in this module are @internal and not part of the stable public API. They may change without notice in any release. See the BC Policy for details.

Services

Service ID Class Description
flowdrop_node_type.manager FlowDropNodeTypeManager Manages node types with access to the NodeProcessor plugin manager, entity storage, and category loading

Entities

FlowDropNodeType (Config Entity)

Core Properties:

Property Type Description
id string Unique machine name
label string Human-readable name
description string Description of the node type
enabled boolean Whether the node type is active
category string Category ID for organization
icon string MDI icon identifier
color string Hex color code
version string Version string
config array Configuration schema and defaults
tags array Tags for search and filtering
executor_plugin string NodeProcessor plugin ID

API Endpoints

Method Path Description
GET /api/flowdrop/nodes List all available nodes
GET /api/flowdrop/nodes/{category} List nodes in a category
GET /api/flowdrop/nodes/{plugin_id}/metadata Get node metadata and schema
GET /api/flowdrop/port-config Get port configuration
POST /api/flowdrop/nodes/{plugin_id}/validate Validate node configuration

References