Stand-alone Flow
Prerequisite: Understand Data Flow concepts and Bridges.
Stand-alone flows provide raw Benthos access for custom data processing when bridges or stream processors aren't sufficient. They're the fallback mechanism for write flows, external integrations, and specialized transformations.
When to Use
Use stand-alone flows for:
Point-to-point data transformation
External system integration (databases, APIs, files)
Custom processing that doesn't fit bridge patterns
Use bridges instead for:
Industrial device connections
Data that needs UNS organization
Connections requiring health monitoring
UI Capabilities
Create flows
✅
Via UI with YAML editor
View flows
✅
Listed in Standalone tab
Edit configuration
✅
Direct YAML editing
Control state
✅
Active/Stopped toggle
Use example templates
✅
Pre-built samples available
Monitor status
✅
Throughput and state
View logs
✅
Real-time log streaming
View metrics
✅
Performance monitoring
Delete flows
✅
Via context menu
Creating a Stand-alone Flow (UI)
Step 1: Navigate to Data Flows
Go to Data Flows → Standalone tab and click Add Standalone Flow:

Step 2: Configure the Flow
The configuration interface has multiple sections:

Key sections:
General: Name, instance, and state control (Active/Stopped)
Input (YAML): Configure data source (see Benthos-UMH inputs)
Processing (YAML): Transform data with processors
Output (YAML): Send to any destination (generic, not auto-generated like bridges)
Examples: Pre-built templates including database bridges
Step 3: Use Example Templates
Click the Examples tab to access pre-built configurations:

Available examples include:
mqtt_to_kafka_historian_bridge: MQTT to Kafka with historian pattern
kafka_to_postgresql_historian_bridge: Write to TimescaleDB (like Classic)
opcua_to_umh_core: OPC UA integration
generate_to_stdout: Testing pattern
Step 4: Control Flow State
Use the state dropdown to control execution:

Active: Flow is running
Stopped: Temporarily disabled (useful for maintenance)
Managing Stand-alone Flows
Right-click any flow for quick actions:

Options include:
Standalone Flow: Edit configuration
Logs: View real-time logs
Metrics: Monitor performance
Delete: Remove the flow
Configuration (YAML)
Stand-alone flows use standard Benthos configuration:
dataFlow:
- name: custom-processor
desiredState: active
dataFlowComponentConfig:
benthos:
input:
# Any Benthos input
pipeline:
processors:
# Processing logic
output:
# Any Benthos output
Migrating from Benthos
Existing Benthos configurations work with minimal changes:
# Original Benthos config
input:
mqtt:
urls: ["tcp://broker:1883"]
output:
stdout: {}
# As UMH Core stand-alone flow
dataFlow:
- name: migrated-flow
desiredState: active
dataFlowComponentConfig:
benthos:
input:
mqtt:
urls: ["tcp://broker:1883"]
output:
stdout: {}
Next Steps
Learn about Bridges for device connectivity
Explore Stream Processors for data transformation
See Benthos-UMH Documentation for all processors
Last updated