Node Template Language
The Node Template Language — NTL — is how data moves between nodes. A small syntax lets one node read another's output, build response bodies, and inject credentials, without hardcoding anything.
The syntax
An expression is a keyword and an operand inside double curly braces:
{{POUT response.articles[0].publisher}}
Reading that left to right:
{{ }}— the start and end of the expression.POUT— the keyword. Here, "previous node output".response.articles[0].publisher— the operand: the path to the value you want.
So this node will use the publisher field of the first item in the
articles array the previous node returned.
A node form with the Input section open, showing Response JSON Keys from the connected node on one side and a field containing a dropped template expression on the other
Screenshot to be addedThe six keywords
1. IN
{{IN operand}}
Injects a value from the current node's own input. Use it when designing a response template — the body of an API Action node's reply, for instance — where you need to echo something that was handed to this node.
2. POUT
{{POUT operand}}
Injects a value from the previous node's output. This is the workhorse — it is how data travels down the chain. An API node's result into a GPT node's prompt, a model's answer into a chat response.
3. RESPONSE
{{RESPONSE operand}}
References the current node's own final response, after it has executed. Used to shape what a node passes on — for example, taking a GPT node's execution result and placing it into that same node's output.
4. RANDOM
{{RANDOM SESSION | STRING | NUMBER}}
| Operand | Produces |
|---|---|
SESSION | A random session identifier |
STRING | A random alphanumeric string |
NUMBER | A random numeric value |
Useful for correlation IDs, idempotency keys, and generating a session identifier when one is not supplied by the trigger.
5. DESC
{{DESC 'The topic to search news for'}}
Used in tool nodes to describe a parameter. This is not a value — it is an instruction to the model about what to put here. When a GPT or Gemini node decides to call the tool, it reads these descriptions and fills the fields in itself.
DESC is the single biggest lever on whether an agent uses its tools well. A
vague description — 'the input' — produces vague tool calls. Say what the value
is, what format it takes, and what it is for.
6. CREDENTIAL
{{CREDENTIAL operand}}
| Operand | Means |
|---|---|
DEFAULT |
Flux's own built-in API key for that provider. Applied automatically when you use the built-in keys, and the usage is billed to your project |
| an id | One of your own credentials from the credential store, referenced by its id |
CREDENTIAL by hand. It is filled in for you
when you pick a credential from the dropdown on a supported node. Typing it manually
causes a compilation exception, which you will see in the workflow logs.
Putting it together
A news agent's API tool might carry a URL built from all three of the common keywords:
https://api.example.com/news
?q={{DESC 'The topic the user asked about'}}
&key={{CREDENTIAL DEFAULT}}
&ref={{RANDOM STRING}}
The model supplies q, Flux injects the key, and each call carries a unique
reference.
When an expression does not resolve
It becomes empty rather than erroring, and the node runs anyway. That is why an AI node can return a confident answer to nothing at all. Check the compiled log, which shows each expression as it actually resolved on that run — the mismatch is usually a key path that changed shape.