Data Structure
Each block returns a specific output structure. Use the actual source block name and exact field path; connecting blocks does not flatten their output wrappers.
Standard outputs
| Block | Output references |
|---|---|
| Agent | <agent.content>, <agent.model>, <agent.tokens>, <agent.toolCalls>, <agent.toolResults> |
| API | <api.data>, <api.status>, <api.headers> |
| Function | <function.result>, <function.stdout> |
| Evaluator | <evaluator.content>, <evaluator.model>, <evaluator.tokens>, <evaluator.cost>, and lowercase metric names |
| Condition | <condition.conditionResult>, <condition.selectedPath>, <condition.selectedOption> |
| Router | <router.prompt>, <router.selectedPath>, <router.model>, <router.tokens>, <router.cost> |
Token usage commonly contains prompt, completion, and total. Cost metadata, when provided, is an object with input, output, and total, not an array of tool-call costs.
Routing outputs
Condition preserves available upstream output fields and adds its routing fields. conditionResult indicates that a connected path was selected, including an Else path; it is not the raw result of the first expression. selectedOption is the selected condition ID. When no connected path is selected, the routing fields are false/null.
Router returns its original prompt and a selectedPath; it does not expose a selected_path field or generated content.
A selected path has this shape:
{
"blockId": "destination-block-id",
"blockType": "agent",
"blockTitle": "Follow-up Agent"
}Structured and nested values
With a valid Agent Response Format, schema fields are exposed at the output root, such as <agent.sentiment>, alongside execution metadata. Without that configuration, do not assume arbitrary fields exist on the Agent output.
Evaluator metrics are exposed as lowercase root-level names. Its content contains the model's evaluation response; do not rely on a prose explanation being generated.
API response bodies remain under data, and Function return values remain under result:
<api.data.results[0].id>
<function.result.calculations.total>
<agent.tokens.total>Inspect an actual run before wiring custom nested fields. For blocks that support error paths, connect recovery logic to the error output; failure output differs from the successful output contract. Condition blocks do not support this recovery path.