Portal Community

The Execution Pipeline

1

Switch to Execution Mode

Click the Execution button in the mode selector. The canvas becomes read-only. The Observer Panel opens.

2

Click Run

POST /api/v1/process-engine/execute is called with the ProcessThread ID and optional trigger data. The backend responds with an ExecutionId.

3

Connect to SignalR

The client subscribes to execution events on the ExecutionHub using the received ExecutionId. Node status events start arriving.

4

Canvas Updates in Real Time

As each node executes, designerModeStore.nodeStatuses is updated. The canvas re-renders node border colours and icons to reflect current status.

5

Execution Completes

A WorkflowExecutionCompleted event arrives. The Observer Panel shows the final status. Execution history is recorded.

Execution Request

// POST /api/v1/process-engine/execute
{
  "processThreadId": "thread-abc123",
  "triggerData": {            // optional initial data
    "invoiceId": 1042,
    "requestedBy": "user-456"
  }
}

// Response:
{
  "executionId": "exec-xyz789",
  "status": "started",
  "startedAt": "2026-05-25T09:00:00Z"
}

What designerModeStore Tracks

// designerModeStore during execution
{
  mode: 'execution',
  activeExecutionId: 'exec-xyz789',
  nodeStatuses: {
    'node-trigger1': { status: 'completed', durationMs: 5 },
    'node-httpReq1': { status: 'running', startedAt: '...' },
    'node-dbInsert1': { status: 'pending' }
  }
}