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}`
};