Control utilities give you interesting flow controls that allow you to adjust your business logic to your needs.

Changelog

39 versions
v1.14.0 Latest
  • Each: added the 'Sequential' option. The next item is sent only after the previous one has been confirmed by the new 'Continue Each' component, so the items keep their order even when the steps in the loop take a varying amount of time. An item that is not confirmed within 'Item Timeout' is skipped over, so the loop cannot hang.
  • Each: the 'done' port has a new 'Result' output - one entry per item of a sequential loop, in item order: the named fields that 'Continue Each' added for that item, or null for an item skipped after 'Item Timeout'.
  • Added component Continue Each: ends one pass of a sequential Each loop and can add named values ('Add to Result' rows of Name + Value) from the loop body to the 'Result' of Each.
v1.13.0
  • Added test() (Flow Test Mode) to triggers (OnError, OnStart).
v1.12.6
  • Each: make the delayed loop resumable so the engine's automatic message re-delivery (on a transient error such as a dropped keep-alive connection surfacing as EPROTO) continues from the persisted index instead of restarting from item 0; use the retry-stable, per-execution context id as the Each<->JoinEach correlation ID instead of a generated UUID, so it stays identical across a re-delivery (keeps pairing intact) without depending on persisted state; skip the plugin store entirely when all items fit the first batch; reject a non-numeric or negative delay (a transform could otherwise feed a value that yields a NaN batch size) and always clamp the batch size to a finite value of at least 1 to prevent a stuck loop when the configured timeout interval is smaller than the delay.
v1.12.5
  • Each: add output examples for 'Items Count' and 'Correlation ID', and mark the item dropdown source as not requiring auth.
v1.12.4
  • Each: reject negative delay (prevented an infinite timeout loop), persist the absolute index on resume to avoid duplicate items, and minor cleanups.
v1.12.3
  • Fix missing properties in the schema for `Testing` component.
v1.12.2
  • Fix an issue with missing dependencies for `Condition` and `Switch` components that caused them to not work in some environments.
v1.12.1
  • Set Variable: do not provide 'undefined' variable to the output.
v1.12.0
  • Each: Added delay option to control timing between items.
v1.11.0
  • Added component CodeBlock: Allows you to write JavaScript code to transform data.
v1.10.0
  • Implemented multiselect input normalization for Testing component multiselect fields.
v1.9.5
  • Digest: fixing 'Cannot read properties of undefined (reading 'zone')'.
v1.9.4
  • OnError: fixing 'TypeError: Cannot read properties of undefined (reading 'split')'.
v1.9.3
  • Digest: Tuned to handle higher number of concurrent entries.
v1.9.2
  • Digest: Set quotas to handle concurrent entries in a more robust way.
v1.9.1
  • Digest: set * as a default for hour, dayMonth, dayWeek and 0 for minute.
v1.9.0
  • Added Digest utility to "pile up" entries until either a threshold is reached or a time interval is timed out at which point the Digest outputs all the entries as a batch.
v1.8.3
  • Enhance OnError to handle large number of errors and added limit.
v1.8.2
  • Fix SetVariable: Handles all types of variables.
v1.8.1
  • Fix Each component to handle transforms properly.
v1.8.0
  • Update Switch component to support same conditions as Condition component.
v1.7.2
  • Update the icon in 'SetVariable'.
v1.7.1
  • Update the inspector in 'SetVariable'.
v1.7.0
  • Add new component SetVariable.
v1.6.0
  • Add new component Condition.
v1.5.0
  • Add new component Switch.
v1.4.4
  • Fix Each connector causing an issue that would make the engine unresponsive in certain flow designs.
  • Each connector now can output properties from a nested property used as input.
v1.4.3
  • Fix variables output for Each component when the used field has no schema.
v1.4.2
  • Restore Index and Value variables to Each component along with property variables.
v1.4.1
  • Fix Each output variables generation.
v1.4.0
  • Change default label for variable properties.
  • Fix schema recursive iteration.
v1.3.0
  • Each generates output variables based on the input variables schema.
v1.2.0
  • Each stores index into state while sending an array to the output port. Prevents duplicates in case of crash.
v1.1.2
  • JoinEach works with 0 count, tooltips changed.
v1.1.1
  • JoinEach does not attempt to read originalMessage.correlationId.
v1.1.0
  • JoinEach has optional Correlation ID properties.
  • Each has additional output port options - Correlation ID and Items Count
v1.0.3
  • Fix in JoinEach.
v1.0.2
  • Each and JoinEach use new UUID to pair messages.
v1.0.0
  • Initial version

Authentication

TypeDetails
Other —

Triggers

2
On Error icon

On Error

This trigger fires when there is an error in the flow.
On Start icon

On Start

This trigger fires once and only once the flow starts.

Actions

11
Code Block icon

Code Block

Allows you to write JavaScript code to transform data. Executes the provided code when the component receives input.
Condition icon

Condition

Evaluates expression(s) and sends data to true or false port.
Continue Each icon

Continue Each

Ends one pass of a sequential Each loop. Place it after the last step that has to finish before the next item starts: it tells the Each component (with 'Sequential' turned on) that the current item is done, so Each sends the next one. This keeps the items in order even when the steps in the loop take a varying amount of time. Optionally add named values to the result - Each emits one entry per item as 'Result' on its 'done' port once the loop is over.
Counter icon

Counter

Increments an internal counter every time a new message arrives and sends the new number to its output port.
Digest icon

Digest

Compile data in a single batch and send it at regular intervals or when a certain number of entries is reached.
Each icon

Each

Loops over the incoming list and outputs a new message for each item. Turn on 'Sequential' and end the loop with the 'Continue Each' component to process the items strictly one at a time, in order, and to collect a 'Result' from every item for the 'done' branch.
Join icon

Join

Join multiple connections. Component resends every input message to its output port.
Join Each icon

Join Each

This JoinEach can be used in combination with Each component. The 'count' port has to receive the total number of messages that the component will wait for on the 'in' port. When that number of messages arrives, it will send an object with an array containing all the input messages to it's output port.
Set Variable icon

Set Variable

Component to set a variable based on input type and value.
Stop Flow icon

Stop Flow

Stops this flow.
Switch icon

Switch

Switch component with 5 configurable outputs (out1 - out5) and one default output (else). The default output else is used when the conditions for ports out1 - out5 are not met or are not defined.