Data flows between nodes through edges. When you connect two nodes, you configure data mappings to specify exactly which output fields from the source node feed into which input fields of the target node.
How Data Flows
When a node executes, it produces an output object according to its outputSchema. This object is stored in the execution context under the node's ID. Downstream nodes can access this data via:
- Data Mappings — explicit field-to-field wiring configured on the edge
- Template Strings — dynamic references in config fields (e.g.,
{{outputs.trigger.message.content}})
Configuring a Mapping
- Click on an edge between two nodes.
- The Mapping Config Panel appears.
- On the left, you see available output fields from the source node.
- On the right, you see required input fields of the target node.
- Drag or select a source field and map it to a target field.
- Optionally, apply a Transform (e.g., convert a string to uppercase).
Example: Discord → AI → Reply
[Discord Message Create]
│
│ content → message
▼
[OpenRouter AI]
│
│ response → content
▼
[Discord Send Message]
In this flow:
- The
contentfield from the Discord trigger is mapped to themessageinput of the AI node. - The
responsefield from the AI node is mapped to thecontentinput of the Send Message action.
Field Types
The mapping panel enforces type compatibility:
| Source Type | Compatible Target Types |
|---|---|
string | string, any |
number | number, string (auto-coerced), any |
boolean | boolean, string, any |
object | object, any |
array | array, any |
Incompatible type mappings will be flagged during graph validation.
Data Transforms
You can apply transforms directly in the mapping panel to reshape data before it reaches the target:
- JSONPath — Extract a nested field:
$.author.username - JavaScript Expression — Custom logic:
value.toUpperCase() - String Template — Mix static text with values:
Hello, ${value}!
Using Upstream Data in Config Fields
Beyond edge mappings, any configuration field that supports Template Input mode lets you reference upstream data directly using template strings. See Template Strings for the full syntax reference.
