Skip to content

Custom Nodes

A Custom Node is logic you write once and use in many rules. Menu: Automation → Custom Nodes.

The custom node list with name, language, version, and tags.
The Custom Nodes list.

Fill in a Name, Description, Icon, Tags, Language (Lua by default, or Go when enabled by the server), and the Code (a Monaco editor). The code must implement logicFunction(), just like ordinary logic (Rule node reference).

The Test node button runs the node with a sample payload.

The custom node detail with the code editor and the Versions, Usage, and Journals tabs.
A custom node detail.
  • Every Save that changes the code or the language creates a new version (v1, v2, …). Changing only the name, icon, description, or tags does not raise the version.
  • The Versions tab shows the history and a diff between versions (per line).

In the rule editor, Add Logic → Custom Node, then pick the node and its version.

  • The Usage tab lists the rules that use this node with their versions (rules you may not read are hidden).
  • A node that is still in use cannot be deleted, except with the detach option: each rule that uses it is turned into an ordinary Lua node with the copied code kept.

It uses the workspace-level rule scope: rule.read views, rule.write creates, changes, and tests, and rule.delete deletes.