Skip to content

Item linking for node creators#

Programmatic-style nodes only

This guidance applies to programmatic-style nodes. If you're using declarative style, Ensemble handles paired items for you automatically.

Ensemble's item linking allows users to access data from items that precede the current item. Ensemble needs to know which input item a given output item comes from. If this information is missing, expressions in other nodes may break. As a node developer, you must ensure any items returned by your node support this.

Start by reading Item linking concepts, which provides a conceptual overview of item linking, and details of the scenarios where Ensemble can handle the linking automatically.

If you need to handle item linking manually, do this by setting pairedItem on each item your node returns:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
// Use the pairedItem information of the incoming item
newItem = {
	"json": { . . . },
	"pairedItem": {
		"item": item.pairedItem,
		// Optional: choose the input to use
		// Set this if your node combines multiple inputs
		"input": 0
};

// Or set the index manually
newItem = {
		"json": { . . . }
		"pairedItem": {
			"item": i,
			// Optional: choose the input to use
			// Set this if your node combines multiple inputs
			"input": 0
		},
};