Workflow Node Schema — Inputs, Outputs & Connection System

🧩 Workflow Node javascript v1

How to define workflow nodes in Flowork: input/output ports, field definitions, execute functions, and the connection system that links nodes into a DAG.

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