Portal Community

The Six Prefixes

PrefixWhat It ReferencesAlways Available?Mutable?
$jsonThe raw trigger payload — the data that started this workflow executionYesNo — read-only
$inputOutput of the immediately preceding node (primary input port)No — null for the first nodeNo — read-only
$output.{nodeId}Output of any specific node by its IDNo — null until that node has runNo — read-only
$var.{name}A mutable execution variable set by a SetVariable nodeNo — null until SetVariable has runYes — can be updated by SetVariable nodes
$globalTenant-wide read-only constants configured in the platformYesNo — tenant admin sets these outside of workflows
$contextExecution metadata: executionId, tenantId, actorId, timestampYesNo — read-only

Prefix Quick Reference

// $json — trigger payload
$json.body.customerId
$json.headers["x-correlation-id"]

// $input — output of the immediately preceding node
$input.invoiceTotal
$input.items[0].sku

// $output.{nodeId} — output of a named node
$output.fetch-customer.tierLevel
$output.validate-order.isValid

// $var.{name} — mutable execution variable (set by SetVariable node)
$var.retryCount
$var.selectedRegion

// $global — tenant-wide constants (admin-configured)
$global.defaultCurrency
$global.maxApprovalAmountUsd

// $context — execution metadata
$context.executionId
$context.actorId
$context.tenantId
$context.startedAt

Scope Boundaries

All six variable prefixes are scoped to a single execution run. None of them carry values from a previous execution. If you need cross-execution data, use pinned data (ctx.ExecutionMemory.GetPinnedData) or tenant globals ($global).

Guide Contents

PageWhat You Will Learn
$jsonThe trigger payload — HTTP body, event payload, scheduled data
$inputImmediate upstream output — null for first-node expressions
$output.{nodeId}Named node output — how to reference any node in the graph
$var.{name}Mutable workflow variables set by SetVariable nodes
$globalTenant-wide constants — configured by tenant admins
$contextExecution metadata fields always available in any expression
Availability TableMatrix of which prefixes are available at each node position
Common MistakesUsing $output before a node has run, initializing $var too late, and other frequent errors
$global is NOT the same as SetGlobal in executors. The $global expression prefix refers to tenant-wide constants configured by administrators in the platform settings. The SetGlobal/GetGlobal executor API is for within-execution state. The names are similar but they serve different purposes.