Skip to main content
Version: 2.0
Convert to File node

Convert to File node

Convert to File Node

Overview

  • Type: transform.data.serializer
  • Display Name: Convert to File
  • Category: transform
  • Execution: supportsExecution: true
  • I/O Handles:
    • Input: defaultIn (left)
    • Outputs: result (Success), error (Error)

Purpose: Convert structured data (arrays of objects or arrays) into CSV or Excel file format. Supports header management, data formatting options, append mode for streaming scenarios, and base64 encoding for safe transport to file writers or connectors.


Format Configuration

ParameterTypeDefaultRequiredDescription
Formatselect"csv"YesOutput format: csv or excel.

CSV-Specific

ParameterTypeDefaultRequiredDescription
Delimiterstring","Yes (CSV)Field separator character. Common values: , ; \t `
Line Endingselect"LF"NoLine ending style: LF (Unix/Linux) or CRLF (Windows).

Excel-Specific

ParameterTypeDefaultRequiredDescription
Sheet Namestring"Sheet1"Yes (Excel)Worksheet name. Max 31 characters. Cannot contain: / \ ? * [ ].
Auto FilterbooleantrueNoAdd dropdown filter to header row.
Freeze HeaderbooleantrueNoFreeze the header row for scrolling (freeze panes).

Header Configuration

ParameterTypeDefaultRequiredDescription
Header Modeselect"auto"YesHow headers are determined (see below).
Headersstring[][]If providedCustom column header names.
Include HeadersbooleantrueNoWrite header row to output file.
Always Include HeadersbooleanfalseNoForce headers on every execution (ignores state).
Strict HeadersbooleanfalseNoValidate data structure matches established headers.

Header Mode Options

ModeDescription
autoAutomatically detect headers from input data structure (object keys).
providedUse the custom headers array configured in the node.
fromFirstRowTreat first row/element of input as headers (for array of arrays).
noneNo headers — output data rows only.

Input / Output Configuration

ParameterTypeDefaultRequiredDescription
Input Formatselect"auto"NoExpected input structure: auto, arrayOfArrays, or arrayOfObjects.
First Row Is HeaderbooleanfalseNoTreat first array element as headers (for array of arrays input).
Input Fieldstring"data"YesDot-notation path to data in input packet (e.g., data.items.records).
Output Fieldstring"data"YesField name for encoded binary output in result packet.
Encodingselect"base64"NoOutput encoding: base64 or utf8. Excel always uses base64.
Append ModebooleantrueNoAccumulate data across multiple executions.

Data Processing

ParameterTypeDefaultDescription
Null Valuestring""String representation for null/undefined values.
Bool Formatselect"true/false"Boolean formatting: true/false, TRUE/FALSE, or 1/0.

Settings

SettingOptionsDefaultDescription
Timeout (seconds)numberPipeline defaultMaximum execution time for this node (1–600).
Retry on TimeoutPipeline Default / Enabled / DisabledPipeline DefaultWhether to retry on timeout.
Retry on FailPipeline Default / Enabled / DisabledPipeline DefaultWhether to retry on failure. When Enabled, shows Advanced Retry Configuration.
On ErrorPipeline Default / Stop Pipeline / Continue ExecutionPipeline DefaultBehavior when node fails after all retries.

Advanced Retry Configuration

Only visible when Retry on Fail is set to Enabled.

FieldTypeDefaultRangeDescription
Max Attemptsnumber31–10Maximum retry attempts.
Initial Delay (ms)number1000100–30,000Wait before first retry.
Max Delay (ms)number1200001,000–300,000Upper bound for backoff delay.
Multipliernumber2.01.0–5.0Exponential backoff multiplier.
Jitter Factornumber0.10–0.5Random jitter.

Output Format

Success Packet

{
"success": true,
"data": "SGVsbG8sV29ybGQKSm9obiwzMApKYW5lLDI1Cg==",
"metadata": {
"format": "csv",
"rowsProcessed": 2,
"totalRows": 2,
"headersIncluded": true,
"headers": ["Name", "Age"],
"encoding": "base64",
"mimeType": "text/csv"
}
}
FieldDescription
successAlways true for successful execution.
dataEncoded file content (field name configurable via outputField).
metadata.formatOutput format (csv or excel).
metadata.rowsProcessedNumber of rows processed in this execution.
metadata.totalRowsCumulative row count across all executions (append mode).
metadata.headersIncludedWhether headers were written in this execution.
metadata.headersColumn headers used.
metadata.encodingEncoding used (base64 or utf8).
metadata.mimeTypeMIME type: text/csv or application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.

Error Packet

{
"success": false,
"error": "field 'data.items' not found in input",
"errorType": "InputError"
}

Common errors:

  • Configuration error (invalid format, missing required fields)
  • Input field not found
  • Header validation failed (strict mode)
  • Failed to generate CSV/Excel

Validation Rules

  • label: required (non-empty)
  • format: required; must be csv or excel
  • CSV: delimiter required and non-empty
  • Excel: sheetName required; must not contain / \ ? * [ ]; max 31 characters
  • headerMode: must be one of auto | provided | fromFirstRow | none
  • When headerMode === 'provided': headers must be a non-empty array
  • inputField: required (non-empty)
  • outputField: required (non-empty)

Manual Actions

This node supports manual actions accessible from the node context menu:

ActionDescription
ResetClear accumulated data and reset state. Use when switching output files or starting fresh.
Get StateView current serializer state including row counts, detected headers, and accumulated data.