Error Ports
The error port is a special output port on most nodes that activates when the node throws an unhandled exception during execution. By connecting the error port to dedicated error-handling nodes, you build resilient workflows that recover gracefully from failures.
What Is an Error Port?
Every node that can fail (all nodes except pure logic gates like if-condition) has an error output port. It is rendered in red and is positioned separately from the main output port — typically at the bottom-right of the node.
The error port activates when:
- The backend executor throws an unhandled exception
- The node's retry policy is exhausted
- The node times out (request timeout or execution timeout exceeded)
- The node receives malformed input that fails validation
Error Port Data
When execution routes through the error port, downstream nodes receive:
{
errorMessage: "Connection timeout after 30s",
errorType: "TimeoutException",
nodeId: "httpRequest1",
nodeType: "http-request",
timestamp: "2026-05-25T09:14:22Z",
retryCount: 3,
stackTrace: "..." // truncated in production; full in development
}
Common Error Handling Patterns
Log and Continue
Connect the error port to a notification node (send-email or slack-message) that alerts an operator, then continue the workflow via the notification node's output.
Compensating Action
Connect the error port to a compensation node that undoes any partial work (e.g., deleting a partially created record) before terminating.
Retry with Delay
Connect the error port back to a variable-assignment node that increments a retry counter, then to a logic if-condition node that checks if retries remain, and back to the original node.
Unconnected Error Ports
If a node's error port is not connected, errors on that node will fail the entire workflow execution and route to the workflow-level error state. This is the default behaviour for nodes without explicit error handling.