Skip to content

Control

Five boxes drive a scenario’s execution flow.

A reminder: every box also has the implicit in, error and done ports — see Ports and links.

Declares the scenario’s parameters.

Inputsnone
Outputsvalue — a single object { name: value, … }
Configurationname (the parameter’s name), valueType (its type and default value)

The values are supplied at launch, by --param name=value on the command line, or asked for interactively if the run reaches the box with no value available.

Input "baseUrl" (string) ──► env port of the request

Exposes a result to the scenario’s caller.

Inputsvalue
Outputsnone — it is a sink: neither error nor done
Configurationname

A scenario called by a Run scenario action makes each of its outputs available on the caller’s output:<name> port.

Two-way branch.

Inputsleft, right
Outputsthen, else
Configurationoperator: lt, lte, eq, gte, gt, ne, contains — plus left and right as literal values

A tip: if neither operand is wired nor filled in, the box simply tests the truthiness of the signal received on in. That is the “if we got this far” with no explicit condition.

Branch with N ways out.

Inputson
Outputsone case-<id> port per declared case, plus default
Configurationcases: a list of { id, value }

Preferable to a cascade of If boxes as soon as there are more than two outcomes: each case is its own wire, visually legible.

Error-recovery boundary.

InputsmaxAttempts, delay
Outputsattempt (each attempt), exhausted (attempts used up)
Configurationsee below
FieldDefaultRole
maxAttempts3Maximum number of attempts
backofffixedfixed, linear or exponential
delay + delayUnitBase delay (ms, s, min)
factor2Growth factor in exponential mode
maxDelay + maxDelayUnitCeiling on the delay
retryOnErrortrueRetry on an error
retryOnFailurefalseRetry on a business failure
retryOnStatusA list of HTTP statuses, for example [429, 503]

The subgraph wired onto attempt makes up the retried scope. On success, the way out is via done. This box has no error port: it is the boundary.

Réessayer (3, exponentiel, [429,503])
├─ attempt ──► Requête HTTP ──► Assert
└─ exhausted ──► Throw « service indisponible »