Dynamic variables
Dynamic variables carry a scalar value from one successful webhook response into later Tool requests in the same conversation. They are useful when one call discovers an order ID, ticket ID, or customer tier that a later call needs.
Create assignments on a Tool#
Assignments belong to webhook Tools. Each assignment has a dynamic-variable name and a dotted response path, for example order_id from order.id. A Tool can define up to 10 assignments. After a successful response, Operade parses JSON and stores scalar values: strings, numbers, booleans, and null are supported. A missing path, a non-scalar object or array, a non-JSON response, or any failed HTTP result is ignored.
Workflow does not create assignments. A Workflow reads variables that earlier webhook Tool assignments produced, including values produced by Agent, Procedure, or Workflow Tool execution.
Reuse a value#
Insert a value in a Tool URL or saved request header with {{name}}. For example, https://api.example.com/orders/{{order_id}} reads the latest order_id. Unknown variable names remain as their literal template so configuration mistakes are visible.
Operade reconstructs assigned values from prior tool_call events, so they persist across user turns in one conversation. Runtime also supplies system__conversation_id, system__agent_id, and system__workspace_id. Treat these as identifiers, not credentials.
Use variables in expressions#
A Workflow expression can read the same variable by name. A missing variable evaluates to null; it is not coerced to an empty string, zero, or false. Build an explicit comparison when absence matters.
Check Activity in Conversation detail to see the safe assigned values recorded by each Tool call. Secret values are never assignments automatically. For request routing rules, see Tool parameters.
