Reusable subgraphs

Both reusable subgraphs and embedded subgraphs encapsulate logic and expose it as a node in a parent graph. The key difference is scope:

Use embedded subgraphs for logic specific to one graph. Use reusable subgraphs for logic you want to share and maintain in one place across multiple graphs.

Boundary nodes

Enable Boundary nodes in the Graph tab of the Details panel under Properties. When enabled, the graph exposes its input and output ports so a parent graph can wire values into and out of it. Internally, the graph is loaded as a graph reference (a pointer to the standalone file rather than a copy of its contents). See Details panel for details on the Boundary nodes property.

Example

Top: the Subgraph Square Root (Newton) graph from the Base package, with its full canvas visible and Boundary nodes enabled in the Details panel. The ports list in the Details panel shows a single required input named Value. Bottom: the Pythagorean Theorem graph from the Base package, with the Square Root graph reference highlighted as the node named √(A² + B²) on the parent canvas.

Base - Subgraph: Square Root (Newton) (top) and Pythagorean Theorem (bottom)

The Square Root graph has Boundary nodes enabled, which exposes its Value input to any parent graph that references it. In the Pythagorean Theorem graph, the entire Square Root logic is encapsulated in the single √(A² + B²) reference node.

A reusable subgraph can also be run as a standalone graph, even when Boundary nodes is enabled. Running it directly is useful for developing and testing in isolation before using it in a parent graph. When run standalone, no parent graph supplies values to the input ports, so those inputs receive null or zero. The graph must handle this case explicitly. Guard inputs with an Is Input Valid node and route to fallback values when no input is provided. See Design reusable subgraphs for patterns.