AutomationFlowsGeneral › Data Transformation to CSV Pipeline

Data Transformation to CSV Pipeline

Original n8n title: Data Transformation Pipeline

Data Transformation Pipeline. Uses start, writeBinaryFile. Manual trigger; 4 nodes.

Manual trigger★★★★☆ complexity4 nodesStartWrite Binary File
General Trigger: Manual Nodes: 4 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Data Transformation Pipeline",
  "nodes": [
    {
      "parameters": {},
      "id": "start-node",
      "name": "Start",
      "type": "n8n-nodes-base.start",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "functionCode": "// Transform input data\nconst items = $input.all();\n\nreturn items.map(item => {\n  const transformed = {\n    ...item.json,\n    processedAt: new Date().toISOString(),\n    // Add your transformation logic here\n    upperCaseName: item.json.name?.toUpperCase(),\n    calculatedValue: (item.json.value || 0) * 1.2,\n    tags: item.json.tags || ['untagged']\n  };\n  \n  // Remove sensitive fields\n  delete transformed.password;\n  delete transformed.apiKey;\n  \n  return {\n    json: transformed\n  };\n});"
      },
      "id": "transform-data",
      "name": "Transform Data",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        450,
        300
      ]
    },
    {
      "parameters": {
        "mode": "jsonToCsv",
        "convertAllData": false,
        "headerRow": true,
        "delimiter": ",",
        "includeHeader": true,
        "options": {}
      },
      "id": "convert-format",
      "name": "Convert to CSV",
      "type": "n8n-nodes-base.convertToFile",
      "typeVersion": 1,
      "position": [
        650,
        300
      ]
    },
    {
      "parameters": {
        "operation": "write",
        "fileName": "=transformed_data_{{$now.format('yyyy-MM-dd_HH-mm-ss')}}.csv",
        "options": {}
      },
      "id": "save-file",
      "name": "Save to File",
      "type": "n8n-nodes-base.writeBinaryFile",
      "typeVersion": 1,
      "position": [
        850,
        300
      ],
      "notesInFlow": false
    }
  ],
  "connections": {
    "Start": {
      "main": [
        [
          {
            "node": "Transform Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transform Data": {
      "main": [
        [
          {
            "node": "Convert to CSV",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to CSV": {
      "main": [
        [
          {
            "node": "Save to File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "tags": [
    "transformation",
    "etl"
  ],
  "triggerCount": 0,
  "updatedAt": "2024-01-01T00:00:00.000Z",
  "versionId": null
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Data Transformation Pipeline. Uses start, writeBinaryFile. Manual trigger; 4 nodes.

Source: https://github.com/pvdyck/n8n-tdd-framework/blob/1417ba0de755ef06ca873baee44b2192f5c42c5c/templates/data-transformation.json — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

NextCloud:NextCloud:Folder:create move copy delete list:File:upload move copy download delete. Uses start, nextCloud, readBinaryFile. Manual trigger; 28 nodes.

Start, Next Cloud, Read Binary File
General

Transporeon - orders - step 3 - process single. Uses start, functionItem, httpRequest, microsoftSql. Manual trigger; 26 nodes.

Start, Function Item, HTTP Request +3
General

Orbit:Member:upsert get update delete getAll lookup:Note:create update getAll:Activity:create getAll:Post:create getAll delete. Uses start, orbit. Manual trigger; 16 nodes.

Start, Orbit
General

Raindrop:User:get:Collection:create get update getAll delete:Bookmark:create get update getAll delete:Tag:getAll delete. Uses start, raindrop. Manual trigger; 14 nodes.

Start, Raindrop
General

Backup workflows & credentials. Uses start, executeCommand. Manual trigger; 13 nodes.

Start, Execute Command