Node reference

Reference for every node available in Flovello.

Signal

Nodes for emitting and receiving named signals between pipelines, enabling asynchronous, decoupled communication across your project.

Triggers

Entry-point nodes that start pipeline execution in response to a schedule or inbound request.

Flow control

Nodes that direct which execution path runs next, including branching, switching, looping, error termination, and value selection.

Arithmetic

Pure functions for integer and decimal arithmetic operations.

Comparison

Pure functions that compare two values and return a boolean result.

Boolean logic

Pure functions for logical operations on boolean values.

Null handling

Pure functions for working with absent values — the nulls that optional model fields produce when a payload omits them or sends null.

Strings

Pure functions for inspecting and transforming text strings.

Concatenate strings Pure

Pure function returning text1 followed by text2 as a single string.

Uppercase Pure

Pure function returning the text converted to uppercase using the root locale.

Lowercase Pure

Pure function returning the text converted to lowercase using the root locale.

Trim Pure

Pure function returning the text with leading and trailing whitespace removed.

String length Pure

Pure function returning the number of characters in the text.

Substring Pure

Pure function returning the substring of text starting at the given index for the given length. Out-of-range indices are clamped to the bounds of the string.

String contains? Pure

Pure function returning true if text contains search.

Starts with? Pure

Pure function returning true if text starts with prefix.

Ends with? Pure

Pure function returning true if text ends with suffix.

Replace Pure

Pure function returning text with every occurrence of search replaced by replacement. The search is matched literally — no regular expressions.

Is empty? Pure

Pure function returning true if text has zero characters. Whitespace-only strings are not considered empty — pass through trim first if needed.

Split Pure

Pure function splitting text on a literal separator and returning the resulting parts as a string array. The separator is matched literally — no regular expressions. An empty separator returns the original text as a single-element array.

Join Pure

Pure function joining a string array into a single string with the given separator between each element. A null or empty array returns an empty string.

String to integer Pure

Pure function parsing text as an integer. Whitespace is trimmed before parsing; non-numeric input fails the pipeline.

Cryptography

Pure functions for encoding, hashing, and signing text — including keyed HMAC for verifying signed webhooks.

Type conversion

Pure functions that convert values between primitive types and between strings and streams.

Integer to string Pure

Pure function converting an integer to its string representation.

Boolean to string Pure

Pure function returning "true" or "false" for the given boolean.

String to boolean Pure

Pure function parsing text as a boolean. Returns true for "true" (case-insensitive, whitespace trimmed); false for everything else.

Boolean to integer Pure

Pure function returning 1 for true and 0 for false.

Integer to boolean Pure

Pure function returning true for any non-zero integer and false for zero.

Integer to decimal Pure

Pure function widening an integer to a decimal.

Decimal to integer Pure

Pure function converting a decimal to an integer, truncating toward zero.

Decimal to string Pure

Pure function converting a decimal to its plain string representation, without scientific notation (e.g. 0.0000001 becomes "0.0000001").

Enum to string Pure

Pure function returning the underlying string value of any enum. Accepts any enum source — built-in or user-defined — and emits the raw value. Useful for piping an enum field into log-message or any other string consumer.

Stream to string Pure

Pure function reading a stream fully and returning its contents as a string. Uses the charset from the stream's content-type hint when set; otherwise falls back to the selected charset.

String to stream Pure

Pure function wrapping a string as an output stream using the selected charset. Use to pipe a literal string into a node that expects an output stream (e.g. an HTTP request body).

Copy stream Pure

Pure function bridging an input stream into an output stream without buffering. When the downstream consumer (e.g. http-request) writes the body, the bytes are pulled from the input stream and piped straight through. Use this to forward an FTP-downloaded file or an HTTP response body into another HTTP request without materialising it as a string first.

Models

Nodes for building, splitting, parsing, and serialising structured model values. The pins on Make, Break, and Parse to model adapt to the model you pick in the inspector.

Date and time

Pure functions for reading the current time, formatting, parsing, and doing date arithmetic.

Arrays and ranges

Functions for building arrays, creating integer ranges, and working with array elements.

Maps

Functions for reading, adding and removing key-value entries in maps, and for grouping an array of items into a map of arrays.

Map put

Puts a key-value entry into a map in place and returns the updated map. Works on maps of scalars and maps of arrays alike — the value pin follows the map's value shape. Has execution pins (not pure).

Map get Pure

Pure function returning the value stored under a key, or null when the key is absent. The value pin follows the map's value shape, so reading a map of arrays yields an array. Pair with Is null? or Default if null to handle a missing key.

Map delete

Removes an entry by key from a map in place and returns the updated map. Has execution pins (not pure).

Map contains key? Pure

Pure function returning true when the map has an entry under the given key. A null map contains nothing and returns false.

Map size Pure

Pure function returning the number of entries in a map. A null map counts as empty and returns 0.

Map keys Pure

Pure function returning every key in the map as a string array, sorted so the order is stable between runs. Feed it into For each to walk the map. Keys are always strings at run time, whatever key type the map declares.

Map array append

Appends an element to the array stored under a key in a map of arrays, creating the array when the key is absent. The multimap primitive: wire it into a For each to group items by a shared value in one step. Mutates in place and returns the same map. Has execution pins (not pure).

Group by Pure

Pure function grouping an array of model values into a map of arrays, keyed by one field every element carries. Pick the field on the node; a dotted path (customer.id) groups by a field of a nested model. Keys are strings at run time whatever the field's declared type. Fails when the chosen field is null on an element — group with For each and Map array append instead when the key can be absent.

Random

Pure functions that generate random values — integers, UUIDs, and booleans.

I/O and network

Side-effecting nodes for logging, pausing, sending HTTP requests, sending email, and posting to Slack.

Log message

Writes a message to the execution log at INFO level. Use for debugging and auditing. Has execution pins (not pure).

Sleep

Pauses execution for the given number of milliseconds before emitting the execution pin.

HTTP request

Sends an HTTP request and returns the raw response object. Branches on success/error; pass the response into a Break node to inspect status, body, or headers. The body input is an output stream — the upstream node writes directly to the request socket on demand, so uploads aren't buffered into memory. Use string-to-stream to pipe in a literal string, or model-to-stream to serialise a model. Wire the headers input to send custom request headers (build them with make-http-headers and add-http-header).

OAuth2 client credentials Pure

Pure function: fetches an OAuth2 access token via the client credentials grant and returns a credentials object that can be wired into http-request.

Send email

Sends an email from the Flovello no-reply address. Branches on success/error and outputs the provider messageId on success. To prevent abuse, the recipient must be an active member of the pipeline's organization or a verified destination — sending to any other address fails on the error branch.

Send Slack message

Sends a message to a Slack channel using the organization's connected Slack workspace. Requires an active Slack integration. Branches on success/error so the pipeline can react to delivery failures.

Make HTTP headers

Creates an empty HTTP headers collection on the execution flow. Has execution pins so each fire yields a fresh instance — chain with add-http-header to attach values, then wire the result into http-request's headers input.

Add HTTP header

Appends a value to the named header on the execution flow and returns the same headers instance. Has execution pins so the append order is deterministic. Header names are matched case-insensitively; multiple values for the same name preserve insertion order. Fails the pipeline if the headers came from an inbound request or response (read-only) — use make-http-headers to build a fresh collection.

Get HTTP header Pure

Pure function returning the first value of the named header, or an empty string if the header is not set. Header names are matched case-insensitively.

Get HTTP header values Pure

Pure function returning every value of the named header as a string array, in insertion order. Returns an empty array if the header is not set. Header names are matched case-insensitively.

FTP username/password credentials Pure

Pure function: builds an FTP credentials object from a host, port, username, password, and protocol (FTP, FTPS_EXPLICIT, FTPS_IMPLICIT, or SFTP). Wire the credentials output into any FTP operation node. A port of 0 selects the protocol default (21 for FTP/FTPS_EXPLICIT, 990 for FTPS_IMPLICIT, 22 for SFTP).

Open FTP file

Downloads a file from an FTP/SFTP server and exposes its contents as a stream. Takes an FTP file object from Find/Get FTP files — the server connection comes from the file itself. Branches on success/error; the error branch is taken when the file does not exist. The downloaded bytes are buffered to a temporary file so the stream remains usable after the FTP session closes.

Find FTP files

Finds files and directories on an FTP/SFTP server and returns them as an array of FTP file objects carrying name, path, size, modified time, type, and an exists flag. Filter by entry type, match names against a glob pattern, and optionally recurse into subdirectories (symbolic links are treated as files and never followed). Wire a result into Open/Remove/Move FTP file, or into a Break node to read its fields. Branches on success/error.

Get FTP file

Looks up a single file or directory on an FTP/SFTP server by path and returns it as an FTP file object. A missing path is not an error: the returned object has exists = false so the flag can be branched on. The error branch is taken only for connection or protocol failures.

Remove FTP file

Removes a file from an FTP/SFTP server. Takes an FTP file object from Find/Get FTP files — the server connection comes from the file itself. Branches on success/error; the error branch is taken when the file does not exist.

Move FTP file

Moves (renames) a file on an FTP/SFTP server to a new path on the same server. Takes an FTP file object from Find/Get FTP files — the server connection comes from the file itself. Branches on success/error; the error branch is taken when the file does not exist.

AI

In-pipeline AI. The Flovello AI step produces a typed model value from your input using a natural-language instruction.

Function I/O

Special nodes used inside user-defined function graphs to declare inputs and outputs.