Setyenv · Docs
  • English
  • Spanish
  • Chinese
  • Japanese
  • Arabic
  • German
  • French
  • Hindi
  • Indonesian
  • Italian
  • Dutch
  • Portuguese
  • Russian
  • Turkish

Workflow validation

Every workflow is validated before it can be activated. The validator catches structural problems that would cause runtime errors.

What gets validated

Structural checks

  • Trigger requirement: Exactly one trigger node must be present
  • Node key validity: Every node's key must exist in the installed catalog
  • Connection validity: Every connection must reference real node IDs
  • Type compatibility: Connected pins must have compatible types
  • Cycle detection: The graph must not contain infinite loops (unless intentional via Loop node)

Configuration checks

  • Required fields: Nodes with required configuration must have values
  • Token validity: Referenced tokens must exist in the current graph context
  • Connection required: Nodes that require inputs must have incoming connections

Running validation

  • REST: POST /pfw/v1/workflows/{id}/validate — returns a list of errors or valid: true
  • Editor: Click "Validate" in the top bar before activating
  • Auto-validate: Every create/update REST call validates automatically

Error format

{
  "valid": false,
  "errors": [
    {
      "node_id": "node_3",
      "type": "missing_required_config",
      "field": "to_email",
      "message": "Email node requires a recipient address"
    }
  ]
}

Graph mutation validation

When you connect or disconnect nodes in the editor, each mutation is individually validated:

  • Pin compatibility: Output type must be assignable to input type
  • Orphan detection: Disconnecting a node shouldn't leave downstream nodes unreachable
  • Required inputs: Nodes that need specific data must have connections providing that data (detected from token analysis, not runtime)