Connections determine when blocks run. Connection tags read values from blocks that have already run. This page covers tag syntax and common output shapes; data flow explains how those values become available.
Tag syntax
<blockName.path.to.data>blockNameis the source block's name. Matching ignores case, whitespace, and periods: a block named My Agent resolves through<myagent.content>.- The field path is case-sensitive.
variable,loop, andparallelare reserved prefixes for workflow variables and container context.
Type < in a supported field to open the reference picker, or drag an available output into the field:
Nested and array fields
Use dots for object fields and brackets for array indices:
<agent.tokens.total>
<api.data.results[0].id>
<api.data.users[0].name>Multiple array indices, such as items[0][1], are supported. Check the output panel for the actual structure; a path depends on what the source block produced.
Using tags in text and code
Text fields can combine a reference with static text:
Customer <start.customerId> requested: <start.message>In a Function block, use referenced values in code:
const name = <start.name>
const total = <api.data.total>
return { greeting: `Hello, ${name}!`, totalWithTax: total * 1.1 }Function references preserve value types for JavaScript or Python: strings remain strings, objects remain objects, and null remains null. In ordinary text fields, objects are JSON-stringified and primitives become text. Confirm a value is numeric before calculating with it; convert numeric text explicitly when needed.
When a known source block did not run on the selected path, its reference resolves empty: usually "", or null in Function code. An unknown block name can remain unsubstituted, while an invalid field can fail resolution. These are different problems; inspect the source output and the run's active path.
Common block outputs
These abbreviated examples use blocks named Agent, API, Function, Condition, Router, and Evaluator. Replace that name with your source block's normalized name. Additional and optional fields depend on the block and runtime.