# Root ## **`$()`** **Description:** Returns the data of the specified node **Syntax:** $(nodeName) **Returns:** NodeData **Source:** Custom n8n functionality **Parameters:** * `nodeName` (String) - The name of the node to retrieve data for ## **`$binary`** **Description:** Returns any binary input data to the current node, for the current item. Shorthand for $input.item.binary. **Syntax:** **`$binary`** **Returns:** Array **Source:** Custom n8n functionality ## **`$execution`** **Description:** Retrieve or set metadata for the current execution **Syntax:** **`$execution`** **Returns:** ExecData **Source:** Custom n8n functionality ## **`$fromAI()`** **Description:** Use when a large language model should provide the value of a node parameter. Consider providing a description for better results. **Syntax:** $fromAI(key, description?, type?, defaultValue?) **Returns:** any **Source:** Custom n8n functionality **Parameters:** * `key` (String) - The name of the field to fetch. May only contain letters, numbers, underscores and hyphens. * `description` (String) - optional - Use to give the model more context on exactly what it should return * `type` (String) - optional - The type of the value to return. One of string, number, boolean, json, date, datetime. Defaults to string. * `defaultValue` (any) - optional - A value to use if the model doesn’t return the key **Examples:** ```javascript // Ask the model to provide a name, and use it here $fromAI('name') ``` ```javascript // Ask the model to provide the age of the person (as a number with a default value of 18), and use it here $fromAI('age', 'The age of the person', 'number', 18) ``` ```javascript // Ask the model to provide a boolean signifying whether the person is a student (with default value false), and use it here $fromAI('isStudent', 'Is the person a student', 'boolean', false) ``` ## **`$if()`** **Description:** Returns one of two values depending on the condition. Similar to the ? operator in JavaScript. **Syntax:** $if(condition, valueIfTrue, valueIfFalse) **Returns:** any **Source:** Custom n8n functionality **Parameters:** * `condition` (Boolean) - The check to make. Should evaluate to either true or false * `valueIfTrue` (any) - The value to return if the condition is true * `valueIfFalse` (any) - The value to return if the condition is false **Examples:** ```javascript // Return "Good day" if time is before 5pm, otherwise "Good evening" $if($now.hour < 17, "Good day", "Good evening") ``` ```javascript // $if() calls can be combined: // Return "Good morning" if time is before 10am, "Good day" it's before 5pm, otherwise "Good evening" $if($now.hour < 10, "Good morning", $if($now.hour < 17, "Good day", "Good evening")) ``` ## **`$ifEmpty()`** **Description:** Returns the first parameter if it isn’t empty, otherwise returns the second parameter. The following count as empty: ””, [], {}, null, undefined **Syntax:** $ifEmpty(value, valueIfEmpty) **Returns:** any **Source:** Custom n8n functionality **Parameters:** * `value` (any) - The value to return, provided it isn’t empty * `valueIfEmpty` (any) - What to return if value is empty **Examples:** ```javascript "Hi " + $ifEmpty(name, "there") // e.g. "Hi Nathan" or "Hi there" ``` ## **`$input`** **Description:** The input data of the current node **Syntax:** **`$input`** **Returns:** NodeData **Source:** Custom n8n functionality ## **`$itemIndex`** **Description:** The position of the item currently being processed in the list of input items **Syntax:** **`$itemIndex`** **Returns:** Number **Source:** Custom n8n functionality ## **`$jmespath()`** **Description:** Extracts data from an object (or array of objects) using a JMESPath expression. Useful for querying complex, nested objects. Returns undefined if the expression is invalid. **Syntax:** $jmespath(obj, expression) **Returns:** any **Source:** Custom n8n functionality **Parameters:** * `obj` (Object|Array) - The Object or array of Objects to retrieve data from * `expression` (String) - A JMESPath expression defining the data to retrieve from the object **Examples:** ```javascript data = { "people": [ { "age": 20, "other": "foo", "name": "Bob" }, { "age": 25, "other": "bar", "name": "Fred" }, { "age": 30, "other": "baz", "name": "George" } ] } // Get all names, in an array {{ $jmespath(data, '[*].name') }} //=> ["Bob", "Fred", "George"] // Get the names and ages of everyone under 20 $jmespath(data, '[?age > `20`].[name, age]') //=> [ ["Fred",25], ["George",30] ] // Get the name of the first person under 20 $jmespath($json.people, '[?age > `20`].name | [0]') //=> Fred ``` ```javascript data = { "reservations": [ { "id": 1, "guests": [ { "name": "Nathan", "requirements": { "room": "double", "meal": "vegetarian" } }, { "name": "Meg", "requirements": { "room": "single" } } ] }, { "id": 2, "guests": [ { "name": "Lex", "requirements": { "room": "double" } } ] } ] } // Get the names of all the guests in each reservation that require a double room $jmespath(data, 'reservations[].guests[?requirements.room==`double`].name') ``` ## **`$json`** **Description:** Returns the JSON input data to the current node, for the current item. Shorthand for $input.item.json. More info **Syntax:** **`$json`** **Returns:** Object **Source:** Custom n8n functionality ## **`$max()`** **Description:** Returns the highest of the given numbers **Syntax:** $max(num1, num2, …, numN) **Returns:** Number **Source:** Custom n8n functionality **Parameters:** * `num1` (Number) - The first number to compare * `num2` (Number) - The second number to compare ## **`$min()`** **Description:** Returns the lowest of the given numbers **Syntax:** $min(num1, num2, …, numN) **Returns:** Number **Source:** Custom n8n functionality **Parameters:** * `num1` (Number) - The first number to compare * `num2` (Number) - The second number to compare ## **`$nodeVersion`** **Description:** The version of the current node (as displayed at the bottom of the nodes’s settings pane) **Syntax:** **`$nodeVersion`** **Returns:** String **Source:** Custom n8n functionality ## **`$now`** **Description:** A DateTime representing the current moment. Uses the workflow’s time zone (which can be changed in the workflow settings). **Syntax:** **`$now`** **Returns:** DateTime **Source:** Custom n8n functionality ## **`$pageCount`** **Description:** The number of results pages the node has fetched. Only available in the ‘HTTP Request’ node. **Syntax:** **`$pageCount`** **Returns:** Number **Source:** Custom n8n functionality ## **`$parameter`** **Description:** The configuration settings of the current node. These are the parameters you fill out within the node’s UI (e.g. its operation). **Syntax:** **`$parameter`** **Returns:** NodeParams **Source:** Custom n8n functionality ## **`$prevNode`** **Description:** Information about the node that the current input came from. When in a ‘Merge’ node, always uses the first input connector. **Syntax:** **`$prevNode`** **Returns:** PrevNodeData **Source:** Custom n8n functionality ## **`$request`** **Description:** The request object sent during the last run of the node. Only available in the ‘HTTP Request’ node. **Syntax:** **`$request`** **Returns:** Object **Source:** Custom n8n functionality ## **`$response`** **Description:** The response returned by the last HTTP call. Only available in the ‘HTTP Request’ node. **Syntax:** **`$response`** **Returns:** HTTPResponse **Source:** Custom n8n functionality ## **`$runIndex`** **Description:** The index of the current run of the current node execution. Starts at 0. **Syntax:** **`$runIndex`** **Returns:** Number **Source:** Custom n8n functionality ## **`$secrets`** **Description:** The secrets from an external secrets vault, if configured. Secret values are never displayed to the user. Only available in credential fields. **Syntax:** **`$secrets`** **Returns:** Object **Source:** Custom n8n functionality ## **`$today`** **Description:** A DateTime representing midnight at the start of the current day. Uses the instance’s time zone (unless overridden in the workflow’s settings). **Syntax:** **`$today`** **Returns:** DateTime **Source:** Custom n8n functionality ## **`$vars`** **Description:** The variables available to the workflow **Syntax:** **`$vars`** **Returns:** Object **Source:** Custom n8n functionality ## **`$workflow`** **Description:** Information about the current workflow **Syntax:** **`$workflow`** **Returns:** WorkflowData **Source:** Custom n8n functionality