1. Home
  2. 6: Nodes Reference Guide

Node Syntax: JSON Key References and Dynamic Expressions

How to use JSON key references, UIDs, and dynamic expressions across nodes in Rayven workflows.

Overview

Some workflow nodes in Rayven support dynamic expressions—special syntax that allows you to reference JSON keys, UIDs, or system values directly within configuration fields. This article outlines the available syntax, shows which nodes support it, and explains how to use these references effectively.

⚠️ Note: Anywhere you see <<_deviceid_>> in syntax, it refers to the UID of the Primary Table record. The word “deviceid” remains in the syntax for backward compatibility, but functionally it means UID.

image-png-Aug-18-2025-06-27-13-9083-AM

image-png-Jul-25-2025-07-21-03-6633-AM


JSON Key References and Dynamic Expressions by Node

Most node fields (e.g. Input JSON key, Output JSON key, JSON key to display) accept plain JSON key names without special syntax. The syntax below applies only to specific fields in these nodes where dynamic values must be referenced.

Node How it Works Syntax Example
Advanced Function Reference JSON key dynamically with [[ ]]. [[jsonKey]]
API Use JSON key references or UID placeholder in requests. [[jsonKey]]
<<_deviceid_>> (UID)
Associate or Split Payload Access nested JSON keys or map sub-values. jsonKey.subjsonKey
Calculated Data Table Enter the JSON key directly in the JSON key field. If the Field type is Reference field, wrap the key with [[ ]] jsonKeyName (plain)
[[jsonKey]] (Reference field)
Conditional Filter - Reference JSON key directly, no symbols.
- Enter string values directly, no quotes.
jsonKey 
status (string)
Conditional Value - Main data field: JSON key only, no symbols.
- Min/Max/Range: must use [[ ]].
jsonKey (main field)
[[temperature]] (min/max/range)
Gauge - Main data field: JSON key only, no symbols.
- Min/Max/Range: must use [[ ]].
jsonKey (main field)
[[pressure]] (min/max/range)
Output to Email Insert UID, device name, or JSON key values into the email body. JSON key values use double round brackets (( )) <<_deviceid_>> (UID)
<<_devicename_>> (UID Name)
((jsonKey))
Output to SMS Insert UID, device name, or JSON key values into the SMS body. JSON key values use double round brackets (( )) <<_deviceid_>> (UID)
<<_devicename_>>
((jsonKey))
Query Table Replace parts of the SQL query with dynamic values from the payload. JSON keys must be wrapped with double hash symbols ##. ##columns##
##query##
Rule Builder Reference JSON key dynamically with [[ ]]. Enter string values in quotes. [[jsonKey]] (payload value)
"Status" (string)
SQL Reference JSON key dynamically with [[ ]]. [[jsonKey]]
Tank Level - Main data field: JSON key only, no symbols.
- Min/Max/Range: must use [[ ]].
jsonKey (main field)
[[jsonKey]] (min/max/range)
Trigger Define the payload that will be injected when the workflow runs. JSON keys must be in quotes. String values must be in quotes, numbers are entered directly, and UID placeholders can also be used.

Example payload:

{"triggered": "yes", "amount": 50}

<<_deviceid_>> (UID)

UI Code Node Insert JSON key dynamically in custom HTML/JS code. ##jsonKey##

 


Summary

Dynamic expressions let workflows adapt by referencing JSON keys, UIDs, and system values within node logic. While each node has its own rules, this page provides the authoritative syntax list for all nodes that support dynamic references. 


FAQs

Q: Can I mix different references?
A: Yes. For example, in Output to Email you can combine <<_deviceid_>> (UID) and ((jsonKey)) in the same message.

Q: What happens if I use the wrong syntax?
A: The value will be treated as plain text, or the workflow may fail. Always validate using the Inspect Data tab.

Q: Why does the syntax still say “deviceid” if it means UID?
A: The <<_deviceid_>> format is a legacy placeholder. For consistency, Rayven has retained this syntax, but it should always be understood as UID.