Workflow: Import multiple CSV to GoogleSheet
Integrations: filter, googleSheets, itemLists, manualTrigger, readBinaryFiles, set, splitInBatches, spreadsheetFile, stopAndError

{"id": "zic2ZEHvxHR4UAYI", "meta": {"instanceId": "workflow-aec6d9e7", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:51.543323", "updatedAt": "2025-09-29T07:07:51.543332", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production"}, "name": "Import multiple CSV to GoogleSheet", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "nodes": [{"id": "cd5adfcc-5b92-4a75-8e78-c2c1218d946a", "name": "When clicking \"Execute Workflow\"", "type": "n8n-nodes-base.manualTrigger", "position": [920, 380], "parameters": {}, "typeVersion": 1, "notes": "This manualTrigger node performs automated tasks as part of the workflow."}, {"id": "17305629-bb19-4b55-964e-689ab5f4d557", "name": "Read Binary Files", "type": "n8n-nodes-base.readBinaryFiles", "position": [1120, 380], "parameters": {"fileSelector": "=./.n8n/*.csv"}, "typeVersion": 1, "notes": "This readBinaryFiles node performs automated tasks as part of the workflow."}, {"id": "d3055f63-67fa-4dcd-886d-fe6f56fb7058", "name": "Split In Batches", "type": "n8n-nodes-base.splitInBatches", "position": [1320, 380], "parameters": {"options": {}, "batchSize": 1}, "typeVersion": 2, "notes": "This splitInBatches node performs automated tasks as part of the workflow."}, {"id": "597e9b14-1a8c-4fbb-b5df-c965db1e0e16", "name": "Read CSV", "type": "n8n-nodes-base.spreadsheetFile", "position": [1520, 360], "parameters": {"options": {"rawData": true, "headerRow": true, "readAsString": true, "includeEmptyCells": false}, "fileFormat": "csv"}, "typeVersion": 2, "notes": "This spreadsheetFile node performs automated tasks as part of the workflow."}, {"id": "90d5ccac-f2a3-42b6-8fa3-d05450ffa67b", "name": "Remove duplicates", "type": "n8n-nodes-base.itemLists", "position": [1520, 600], "parameters": {"compare": "selectedFields", "options": {}, "operation": "removeDuplicates", "fieldsToCompare": "user_name"}, "typeVersion": 3, "notes": "This itemLists node performs automated tasks as part of the workflow."}, {"id": "2bddcd85-1c99-41ec-8e16-ab75631c3fb9", "name": "Keep only subscribers", "type": "n8n-nodes-base.filter", "position": [1720, 600], "parameters": {"conditions": {"string": [{"value1": "={{ $json.subscribed }}", "value2": "TRUE"}]}}, "typeVersion": 1, "notes": "This filter node performs automated tasks as part of the workflow."}, {"id": "4ac13e9d-8523-4ff3-b778-1d9f0dc744e3", "name": "Sort by date", "type": "n8n-nodes-base.itemLists", "position": [1920, 600], "parameters": {"options": {}, "operation": "sort", "sortFieldsUi": {"sortField": [{"fieldName": "date_subscribed"}]}}, "typeVersion": 3, "notes": "This itemLists node performs automated tasks as part of the workflow."}, {"id": "862a7ded-0199-48bb-8183-10f9ae06724b", "name": "Upload to spreadsheet", "type": "n8n-nodes-base.googleSheets", "position": [2120, 600], "parameters": {"columns": {"value": {}, "schema": [{"id": "user_name", "type": "string", "display": true, "removed": false, "required": false, "displayName": "user_name", "defaultMatch": false, "canBeUsedToMatch": true}, {"id": "user_email", "type": "string", "display": true, "removed": true, "required": false, "displayName": "user_email", "defaultMatch": false, "canBeUsedToMatch": true}, {"id": "subscribed", "type": "string", "display": true, "removed": true, "required": false, "displayName": "subscribed", "defaultMatch": false, "canBeUsedToMatch": true}, {"id": "date_subscribed", "type": "string", "display": true, "removed": true, "required": false, "displayName": "date_subscribed", "defaultMatch": false, "canBeUsedToMatch": true}], "mappingMode": "autoMapInputData", "matchingColumns": ["user_name"]}, "options": {}, "operation": "appendOrUpdate", "sheetName": {"__rl": true, "mode": "list", "value": 2042396108, "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "n8n-sheet"}, "documentId": {"__rl": true, "mode": "url", "value": "{{ $env.WEBHOOK_URL }}"}}, "credentials": {"googleSheetsOAuth2Api": {"id": "{{ $credentials.googleSheetsOAuth2Api.id }}", "name": "Google Sheets account"}}, "typeVersion": 4, "notes": "This googleSheets node performs automated tasks as part of the workflow."}, {"id": "95b499b4-024d-49a5-887f-f2f74bd1b9a1", "name": "Assign source file name", "type": "n8n-nodes-base.set", "position": [1720, 360], "parameters": {"fields": {"values": [{"name": "Source", "stringValue": "={{ $('Split In Batches').item.binary.data.fileName }}"}]}, "options": {}}, "typeVersion": 3, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "error-8bbe14fd", "name": "Error Handler", "type": "n8n-nodes-base.stopAndError", "typeVersion": 1, "position": [1000, 400], "parameters": {"message": "Workflow execution error", "options": {}}}], "active": false, "pinData": {}, "settings": {"executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000}, "versionId": "a6ccb0b8-04bd-407d-b5ca-010c68bb2128", "connections": {"17305629-bb19-4b55-964e-689ab5f4d557": {"main": [[{"node": "error-handler-17305629-bb19-4b55-964e-689ab5f4d557-3f43fedd", "type": "main", "index": 0}]]}, "597e9b14-1a8c-4fbb-b5df-c965db1e0e16": {"main": [[{"node": "error-handler-597e9b14-1a8c-4fbb-b5df-c965db1e0e16-050ead1f", "type": "main", "index": 0}]]}, "862a7ded-0199-48bb-8183-10f9ae06724b": {"main": [[{"node": "error-handler-862a7ded-0199-48bb-8183-10f9ae06724b-0726d360", "type": "main", "index": 0}]]}}, "description": "Automated workflow: Import multiple CSV to GoogleSheet. This workflow processes data and performs automated tasks.", "notes": "Excellent quality workflow: Import multiple CSV to GoogleSheet. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}