Skip to main content

Data Nodes Reference

Data nodes transform, process, and manipulate data as it flows through your workflow.


Transform Data Node

Execute JavaScript to transform data.

Configuration

FieldTypeRequiredDescription
CodeCode EditorYesJavaScript transformation code

Code Structure

// Access input from previous nodes
const data = input.webhooktrigger_1.payload;

// Process the data
const result = {
formatted_name: data.name.toUpperCase(),
email: data.email.toLowerCase()
};

// Return the output
return result;

Input Object

All upstream node outputs are available in input:

input.webhooktrigger_1.payload   // Webhook data
input.transformdata_1.result // Previous transform
input.contact // Contact lookup result

Output Variables

Whatever you return becomes available:

{{transformdata_1.formatted_name}}
{{transformdata_1.email}}

Set Variables Node

Store values for use later in the workflow.

Configuration

FieldTypeRequiredDescription
VariablesKey-ValueYesVariables to set

Example

Variable Name: customer_email
Value: {{contact.email}}

Variable Name: total_value
Value: {{order.total}}

Output Variables

{{setvariables_1.customer_email}}
{{setvariables_1.total_value}}

Database Query Node

Execute SQL queries against your database.

Configuration

FieldTypeRequiredDescription
Query TypeSelectYesSELECT, INSERT, UPDATE, DELETE
TableSelectYesTarget table
QuerySQL EditorYesSQL query
ParametersArrayNoQuery parameters

Example Queries

Select:

SELECT * FROM contacts WHERE email = $1
-- Parameters: [{{input.email}}]

Insert:

INSERT INTO contacts (name, email) VALUES ($1, $2) RETURNING *
-- Parameters: [{{input.name}}, {{input.email}}]

Output Variables

{{dbquery_1.rows}}        - Array of results
{{dbquery_1.row_count}} - Number of rows
{{dbquery_1.rows[0]}} - First row

API Request Node

Make HTTP requests to external APIs.

Configuration

FieldTypeRequiredDescription
URLTextYesAPI endpoint
MethodSelectYesGET, POST, PUT, PATCH, DELETE
HeadersKey-ValueNoHTTP headers
BodyJSON/TextNoRequest body
TimeoutNumberNoTimeout in seconds

Authentication

Add auth headers:

Authorization: Bearer {{integration.api_key}}
Content-Type: application/json

Output Variables

{{apirequest_1.data}}         - Response body
{{apirequest_1.status}} - HTTP status code
{{apirequest_1.headers}} - Response headers
{{apirequest_1.success}} - true if 2xx status

Code Node

Execute custom JavaScript with more flexibility than Transform.

Configuration

FieldTypeRequiredDescription
CodeCode EditorYesJavaScript code
TimeoutNumberNoExecution timeout

Features

  • Full JavaScript support
  • Async/await support
  • Error handling
  • Console logging

Example

async function run(input) {
try {
const items = input.data.items || [];

const processed = items.map(item => ({
...item,
processed_at: new Date().toISOString()
}));

return {
success: true,
items: processed,
count: processed.length
};
} catch (error) {
return {
success: false,
error: error.message
};
}
}

return await run(input);

JSON Parse Node

Parse JSON strings into objects.

Configuration

FieldTypeRequiredDescription
InputVariableYesJSON string to parse
Error HandlingSelectNofail, null, empty_object

Output Variables

{{jsonparse_1.data}}       - Parsed object
{{jsonparse_1.success}} - Whether parsing succeeded

JSON Stringify Node

Convert objects to JSON strings.

Configuration

FieldTypeRequiredDescription
InputVariableYesObject to stringify
Pretty PrintToggleNoFormat with indentation

Output Variables

{{jsonstringify_1.json}}   - JSON string

Array Operations Node

Perform common array operations.

Configuration

FieldTypeRequiredDescription
OperationSelectYesfilter, map, sort, slice, find
ArrayVariableYesInput array
ExpressionText/CodeVariesOperation-specific

Operations

Filter:

Array: {{data.contacts}}
Expression: item.is_active === true

Map:

Array: {{data.contacts}}
Expression: { name: item.name, email: item.email }

Sort:

Array: {{data.contacts}}
Sort By: name
Order: ascending

Output Variables

{{arrayops_1.result}}      - Resulting array
{{arrayops_1.count}} - Result count

Quick Reference

Node Selection Guide

NeedUse
Transform data with codeTransform Data
Store values for laterSet Variables
Query your databaseDatabase Query
Call external APIsAPI Request
Complex JavaScript logicCode
Parse JSON stringsJSON Parse
Convert to JSON stringJSON Stringify
Array operationsArray Operations

Common Patterns

API → Transform → Use:

[API Request] → [Transform Data] → [Next Node]

Query → Process Each:

[Database Query] → [Loop] → [Process Item]

Combine Data:

// In Transform
return {
contact: input.contact,
company: input.company,
combined_name: `${input.contact.name} at ${input.company.name}`
};