Node Anatomy
Every workflow node is a JavaScript module with this structure:
export default {
id: "unique-id", // Unique identifier
name: "Display Name", // Shown in UI
icon: "mdi-icon-name", // Material Design Icon
category: "Basic", // Grouping in palette
inputs: [...], // Input ports
outputs: [...], // Output ports
fields: [...], // User-configurable parameters
async execute(inputs, fields, context) {
// Node logic here
return { outputName: value };
}
};
Port Types
- trigger — Execution flow (connects to trigger ports)
- data — Value passing (any JSON-serializable data)
- error — Error output for catch handling
Connection Rules
- Trigger → Trigger: Controls execution order
- Data → Data: Passes values between nodes
- One output can connect to multiple inputs
- Connections form a DAG — no cycles allowed