All nodes/Data/Operators
String Op
A string operation: concatenation, substring search, upper/lower case, trim, length, split by separator. The main string is the data leg of the «Input» port (ED), the second argument comes via the «B» port.
Type in the graph: string_op
Exec
An error branch can be enabled (expose_error_output) to handle failures on their own path.
Ports can be split into separate execution and data handles.
Try it
Minimal working workflow
- Execute + Data
Runs as pasted
When to use it
One string operation as a step of its own: trim whitespace, lowercase, split by a separator, test for a substring, measure length.
When the job is to assemble text out of several values, use Template: the substitutions live in one field there and read far better than a chain of three concatenations. This node wins when the result is needed as a value — for a comparison, for writing into a variable, for branching with If / Else.
How it works
The primary string is whatever arrived on the “Input” port, which also triggers the step. The second argument — what to append, what to look for, what to split on — arrives on the “B” port.
Both sides are converted to text, so a number or an object becomes its textual form. What comes back depends on the operation: concat, case changes and strip return a string; “Contains”, “Starts with” and “Ends with” return true or false; “Length” returns a number; “Split by separator” returns a list you can feed into For each. With the “B” port unconnected, splitting falls back to whitespace.
Common mistakes
- Argument order in “Contains”. The check is whether b occurs inside a, so the needle goes into “B”, not the other way round.
- Case matters. Lowercase both sides in separate steps before searching.
- An empty input is not an error. The node happily works on an empty string: concat
returns just “B”, length returns zero. And a value that arrived empty over the wire becomes
the text
None— enough to make the comparison below answer in a way you did not expect. - “Length” measures text, not items. A list is turned into a string first, and you get the length of that string.
- Something has to trigger the node. A constant or a variable wired only into “B” triggers nothing: with no incoming edge on “Input” the step stays un-run, with the reason “Nothing could trigger it: no incoming link”.
Inputs
| Port | Wire | Payload | Notes |
|---|---|---|---|
Inputinput | Execute + Dataexecute_data | — | Run trigger and primary string |
Bb | Datadata | — | Second argument (concat/contains/split etc.) |
Outputs
| Port | Wire | Payload | Notes |
|---|---|---|---|
Resultoutput | Execute + Dataexecute_data | object |
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
Operationoperation | string | concat | Options: |
Shared fields
Every node has these three — the platform adds them, not the node author.
expose_error_output— When enabled, show an execution output to connect nodes that run if this step fails.split_ports_in— Show separate execution and data input handles instead of one combined port.split_ports_out— Show separate execution and data output handles instead of one combined port.