Choosing node forms
Use the short XML tag listed in the reference when available. Every available node kind can also use <node id="…" type="…"><config>…</config></node> with typed <value> entries, as shown in the values chapter.
Keep node IDs stable when editing a workflow. Display names can change independently. Set timeoutSeconds and maxRetries on a node when needed; settings inside its configuration may control different timeouts. The reference distinguishes XML names from configuration property names.
Use for-each for repeated work and name the current item with as. Its nested body performs the work for each item. Set concurrency according to the destination's limits. A run-report step starts a published report version and returns its run identifier; report generation completes separately.
Additional node kinds depend on the features enabled in your installation. Ask the editor for current suggestions before using an unfamiliar kind.
This loop copies each name into its result list. With Alice and Bob as the input rows, nodes.each.output.results contains those names in the same order and nodes.each.output.count is 2.
<workflow>
<nodes>
<for-each id="each" items="{{ input.rows }}" as="row" maxConcurrency="2">
<body>
<transform>
<value name="name" expression="variables.row.name"/>
</transform>
</body>
</for-each>
</nodes>
<edges/>
</workflow>Published platform manual · revision a00de671eb9d