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 orvalid: 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)