Tags
Connection tags reference values from upstream blocks. Connect the source to the workflow path, then type a single < in a supported input field to open the available-reference dropdown. Select an output to insert the complete tag. Typing the closing > closes the unfinished reference; do not type <> to open the dropdown.
Syntax
<blockName.path.to.data>Use the actual block name shown in the dropdown or its block ID. Names are normalized for references; selecting a dropdown entry avoids guessing the spelling.
<agent.content>: text from an Agent named Agent.<api.data.users[0].name>: a field in an API response body.<function.result.total>: a field in a Function return value.
System references
| Reference | Meaning |
|---|---|
<start.input> | The selected runtime trigger's input, when that field exists |
<start.fieldName> | A field exposed by the selected trigger |
<variable.myVar> | Current workflow variable value |
<loop.currentItem> | Current ForEach item inside the loop |
<loop.index> | Zero-based loop iteration index |
<loop.items> | Full ForEach collection |
<parallel.currentItem> | Current collection item inside a parallel instance |
<parallel.index> | Zero-based parallel instance index |
<parallel.items> | Full parallel collection |
The system prefixes are start, variable, loop, and parallel. Names such as api, chat, and manual are not universal trigger aliases: they must identify an actual block. A Manual trigger has no input fields.
After a For or For Each loop or a parallel container finishes, select its results output from the reference dropdown. Use the actual container ID: for example, <loop-id.results> or <parallel-id.results>, replacing loop-id or parallel-id with that container's ID. The reserved loop and parallel prefixes refer to the current iteration context, not a completed container. While and Do While completion outputs do not include results. Use currentItem, not item, within collection processing.
Examples
Processing item <loop.index>: <loop.currentItem.name>
User message: <start.input>Tags are resolved at execution time. They support nested properties and array indexes. Arithmetic belongs in a Function or a condition expression; ordinary text fields do not become JavaScript evaluators just because they contain a tag.
Check Data Structure and the actual block output before choosing a path. API bodies live under data; Function return values live under result.