Skip to main content

JSON schema description

This page describes the structure of the JSON schema used by the Integrations module.

General structure​

The JSON schema is an array of objects. Each object is either a node or a tab:

[
{
"label": "Hello World!",
"id": "1f24387b252057fe",
"type": "tab",
"disabled": false
},
{
"name": "run",
"id": "b51ab819b83e1915",
"type": "inject",
"x": 46.96875,
"y": 99.51171875,
"z": "1f24387b252057fe",
"wires": [
[
"bd07e1ff0aedba0b"
]
]
},
{
"id": "2b524ca59e4ed633",
"type": "debug",
"name": "debug",
"x": 610.05078125,
"y": 98.59765625,
"z": "1f24387b252057fe",
"wires": []
},
{
"name": "function",
"func": "msg.payload = 'World'\n\nreturn msg;",
"id": "bd07e1ff0aedba0b",
"type": "function",
"x": 229.62890625,
"y": 98.8515625,
"z": "1f24387b252057fe",
"wires": [
[
"2e1172b330c69aeb"
]
]
},
{
"id": "2e1172b330c69aeb",
"type": "template",
"name": "template",
"x": 418.66796875,
"y": 98.19140625,
"z": "1f24387b252057fe",
"syntax": "mustache",
"template": "Hello {{payload}} !",
"output": "str",
"wires": [
[
"2b524ca59e4ed633"
]
]
}
]

Main node parameters​

Most nodes share these parameters:

  • id (string) - unique node ID
  • type (string) - node type (for example, "inject", "function", "template")
  • name (string) - node name shown in the interface
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of arrays with the IDs of the nodes the output is connected to

System nodes​

"tab" node​

A tab node is a container for a group of nodes and appears as a tab in the interface.

Parameters:

  • label (string) - tab name shown in the interface
  • id (string) - unique tab ID
  • type (string) - node type (tab)
  • disabled (boolean) - whether the tab is disabled

"debug" node​

A debug node outputs messages to the debug panel.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (debug)
  • name (string) - node name shown in the interface
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of output connections

Connections between nodes​

The wires parameter defines connections between nodes. Each array element corresponds to one node output and contains an array with the IDs of the nodes connected to that output.

Example:

"wires": [
[
"bd07e1ff0aedba0b"
]
]

Node parameters​

"inject" node​

Use the inject node to create messages and send them into the flow manually.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (inject)
  • name (string) - node name shown in the interface
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of output connections

"function" node​

A function node lets you run arbitrary JavaScript code.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (function)
  • name (string) - node name
  • func (string) - code to run
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of output connections

"template" node​

A template node transforms messages using templates.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (template)
  • name (string) - node name
  • syntax (string) - template syntax (mustache or plain)
  • template (string) - message template
  • output (string) - output type (str for plain text, json, or yaml)
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of output connections

"interval-node" node​

An interval-node node generates messages at specified time intervals.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (interval-node)
  • name (string) - node name
  • interval (number) - interval between messages, in minutes
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of output connections

"switch" node​

A switch node routes messages along different paths depending on conditions.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (switch)
  • name (string) - node name
  • property (string) - message property to check
  • rules (array) - array of routing rules
  • outputs (number) - number of output ports
  • checkall (string) - whether to check all rules (true or false)
  • repair (boolean) - whether to repair invalid messages
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of output connections

"split" node​

A split node splits messages into multiple parts.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (split)
  • name (string) - node name
  • property (string) - message property to split
  • propertyType (string) - property type (msg, flow, global)
  • splt (string) - delimiter for strings
  • spltType (string) - delimiter type (str, bin)
  • arraySplt (number) - part size for arrays
  • arraySpltType (string) - array split type (len, index)
  • stream (boolean) - streaming processing mode
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of output connections

"http in" node​

An http in node creates HTTP endpoints and receives incoming HTTP requests.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (http in)
  • name (string) - node name (optional)
  • url (string) - endpoint URL path
  • method (string) - HTTP method (get, post, put, delete, patch)
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of connections that process requests

"http request" node​

An http request node sends outgoing HTTP requests.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (http request)
  • name (string) - node name
  • url (string) - request URL
  • method (string) - HTTP method (GET, POST, PUT, DELETE, etc.)
  • ret (string) - response format (obj, txt, bin)
  • headers (array) - array of request headers
  • paytoqs (string) - where to put the payload (body, query)
  • useAuth (boolean) - whether to use authentication
  • authType (string) - authentication type (basic, bearer)
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of connections that process the response

"http response" node​

An http response node sends HTTP responses to the client.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (http response)
  • name (string) - node name
  • statusCode (number) - HTTP status code of the response
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of connections (usually empty)

"cms-events" node​

Use this node to track events from the Events module and inject them into the flow.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (cms-events)
  • name (string) - node name
  • eventMarker (string) - event ID
  • property (string) - message property to process
  • targetType (string) - processing target type (msg, flow, global)
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of connections for further processing

"admin-api" node​

Use this node to interact with various APIs.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (admin-api)
  • name (string) - node name
  • path (string) - API endpoint path
  • method (string) - HTTP method (post, get, put, delete)
  • operation (string) - operation ID
  • data (string) - request data in JSON format
  • wires (array) - array of connections that process the response

"telegram" node​

A telegram node sends messages through the Telegram Bot API. The fields are described in detail on the telegram node page.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (telegram)
  • name (string) - node name
  • botToken (string) - bot token
  • chatId (string) - chat ID
  • text (string) - message text
  • parseMode (string) - text format (none, Markdown, MarkdownV2, or HTML)
  • replyMarkup (array) - rows of Inline buttons; each button has text and callbackData
  • callbackQueryId (string) - callback query ID
  • showAlert (boolean) - whether to show the notification in a modal window
  • notificationText (string) - notification text (when showAlert: true)
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of output connections

"whatsapp" node​

A whatsapp node sends messages through the WhatsApp Business Cloud API. The fields are described in detail on the whatsapp node page.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (whatsapp)
  • name (string) - node name
  • phoneNumberId (string) - sender phone number ID
  • accessToken (string) - access token
  • apiVersion (string) - Graph API version (default: v20.0)
  • action (string) - message type (message or template)
  • to (string) - recipient phone number
  • text (string) - message text (when action: message)
  • templateName (string) - template name (when action: template)
  • locale (string) - template language (when action: template)
  • components (array) - template parameters; each has type (header or body), parameter_name, and text
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of output connections

"notification" node​

A notification node sends a notification using an event template from the Events module. The fields are described in detail on the notification node page.

Main parameters:

  • id (string) - unique node ID
  • type (string) - node type (notification)
  • name (string) - node name
  • eventId (number | null) - event template ID
  • variables (object) - template variable values, keyed by their markers
  • recipientsPath (string) - path to the array of recipients in the message
  • x, y (number) - node coordinates in the workspace
  • z (string) - ID of the tab the node belongs to
  • wires (array) - array of output connections