Skip to content

Logic operators

Public

The Logic family contains 7 operators. Control flow: if/else, switch, loops, joins, waits.

Routes data based on a CEL condition.

Version 1.0.0 · Semantics passthrough · Idempotent

FieldTypeRequiredDefaultDescription
conditionstringyesCEL expression that evaluates to boolean.
PortTypeRequiredDescription
inputanyyesInput
PortTypeRequiredDescription
falseanynoFalse
trueanynoTrue

Fans out: executes downstream once per item in input array.

Version 1.0.0 · Semantics fan_out

FieldTypeRequiredDefaultDescription
concurrencyintegerno1
PortTypeRequiredDescription
inputarrayyesInput
PortTypeRequiredDescription
itemanynoItem
resultsarraynoResults

Waits for all upstream branches before continuing.

Version 1.0.0 · Semantics fan_in · Idempotent

FieldTypeRequiredDefaultDescription
nintegerno
strategy”all” | “any” | “n_of”no"all"
PortTypeRequiredDescription
aanyyesBranch A
banyyesBranch B
PortTypeRequiredDescription
outputanynoOutput

Repeats a subgraph until a condition is met or max iterations reached.

Version 1.0.0 · Semantics passthrough · Visibility advanced

FieldTypeRequiredDefaultDescription
conditionstringyesCEL expression; loop continues while true.
max_iterationsintegerno100
PortTypeRequiredDescription
inputanyyesInput
PortTypeRequiredDescription
iterationintegernoIteration
outputanynoOutput

Routes data to one of N branches based on a CEL expression.

Version 1.0.0 · Semantics passthrough · Idempotent · Visibility advanced

FieldTypeRequiredDefaultDescription
casesobject[]no
expressionstringyesCEL expression to match.
PortTypeRequiredDescription
inputanyyesInput
PortTypeRequiredDescription
defaultanynoDefault

Pauses execution for a specified duration.

Version 1.0.0 · Semantics suspend

FieldTypeRequiredDefaultDescription
duration_secondsintegeryes30
timeout_action”continue” | “fail”no"continue"
PortTypeRequiredDescription
inputanyyesInput
PortTypeRequiredDescription
outputanynoOutput

Suspends until a matching external event or timeout.

Version 1.0.0 · Semantics suspend · Visibility advanced

FieldTypeRequiredDefaultDescription
correlation_tokenstringno
event_typestringyes
timeout_action”continue” | “fail”no"fail"
timeout_secondsintegerno3600
PortTypeRequiredDescription
inputanyyesInput
PortTypeRequiredDescription
outputanynoEvent Payload
timed_outbooleannoTimed Out

Every operator above is rendered from its JSON schema in /opt/glyph/schemas/operators/:

  • schemas/operators/logic.if.json
  • schemas/operators/logic.iterate.json
  • schemas/operators/logic.join.json
  • schemas/operators/logic.loop.json
  • schemas/operators/logic.switch.json
  • schemas/operators/logic.wait.json
  • schemas/operators/logic.wait_for_event.json