Selegic CRM Docs
ServerFlows

Node System

Extensible node architecture and implementations.

Node System

Every node in a flow is an instance of a specific Node Type.

Standard Node Types

TypeHandler Responsibility
StartEntry point, validates input event.
DecisionEvaluates a JS expression against vars and event.
CreateRecordCalls RecordService.create with mapped fields.
UpdateRecordCalls RecordService.update for a specific ID.
SetFieldsMutates the current vars context.
DelayPauses execution using Effect.sleep.
WebhookSends an HTTP request via WebhookClient.
ParallelSplits execution into multiple concurrent branches.
JoinSynchronizes multiple branches before proceeding.

Resilience Patterns

Retries

Nodes that perform I/O (Webhook, Record operations) are automatically retried using an exponential backoff schedule:

  • Attempts: 2 (Configurable per node)
  • Base Delay: 250ms

Timeouts

Every node has a mandatory timeout (default 10s). If a node exceeds this, the engine fails the step and records a TimeoutError.

Dead Letter

If a node fails after all retries, the engine creates a record in the FlowDeadLetter table. This preserves the exact state and error for human intervention.


On this page