Portal Community

Node Configuration

{
  "nodeType": "ExecutionStatus",
  "name": "checkPayrollStatus",
  "config": {
    "executionId": "$output.startPayrollRun.executionId",
    "includeOutput": true
  }
}

Node Output

{
  "executionId": "exec-payroll-abc123",
  "processId": "monthly-payroll-run",
  "status": "completed",
  "startedAt": "2026-05-25T10:00:00Z",
  "completedAt": "2026-05-25T10:47:00Z",
  "durationSeconds": 2820,
  "output": {
    "processedEmployees": 342,
    "totalGrossPay": 1842400.00,
    "payslipsGenerated": 342
  }
}

Status Values

StatusMeaning
runningActively executing nodes
suspendedPaused or waiting on HIL/timer
completedFinished successfully
failedTerminated due to unhandled error
cancelledTerminated by cancellation signal

Polling Pattern


ExecutionStatusNode (checkPayrollStatus)
    │
    ├── Condition: status === 'running' OR status === 'suspended'
    │       └──→ WaitNode (30 seconds) → checkPayrollStatus (loop back)
    │
    ├── Condition: status === 'completed'
    │       └──→ Process output
    │
    └── Condition: status === 'failed' OR status === 'cancelled'
            └──→ Error handler / compensation
  
Prefer WaitForWorkflowNode: For simple "wait until done" patterns, use WaitForWorkflowNode instead of polling with ExecutionStatusNode. Polling consumes execution resources; event-driven waiting is more efficient. Use ExecutionStatusNode when you need to take action on intermediate status transitions.