2025-08-05 09:40:47 +05:30
{
"id" : "VU0kmvnWzctSFm2M" ,
"meta" : {
2025-09-29 09:31:37 +04:00
"instanceId" : "workflow-fed4e900" ,
2025-09-29 06:12:20 +04:00
"versionId" : "1.0.0" ,
2025-09-29 09:31:37 +04:00
"createdAt" : "2025-09-29T07:07:46.736268" ,
"updatedAt" : "2025-09-29T07:07:46.736294" ,
"owner" : "n8n-user" ,
"license" : "MIT" ,
"category" : "automation" ,
"status" : "active" ,
"priority" : "high" ,
"environment" : "production"
2025-08-05 09:40:47 +05:30
} ,
"name" : "Convert Parquet, Avro, ORC & Feather via ParquetReader to JSON" ,
"tags" : [
2025-09-29 09:31:37 +04:00
"automation" ,
"n8n" ,
"production-ready" ,
"excellent" ,
"optimized"
2025-08-05 09:40:47 +05:30
] ,
"nodes" : [
{
"id" : "651a10dc-1c91-4957-bcdd-3e55d7328f04" ,
"name" : "Send to Parquet API" ,
"type" : "n8n-nodes-base.httpRequest" ,
"position" : [
1100 ,
440
] ,
"parameters" : {
2025-09-29 06:12:20 +04:00
"url" : "{{ $env.API_BASE_URL }}" ,
2025-08-05 09:40:47 +05:30
"options" : {
"bodyContentType" : "multipart-form-data"
} ,
"requestMethod" : "POST" ,
"jsonParameters" : true ,
"sendBinaryData" : true ,
"binaryPropertyName" : "=file0"
} ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 1 ,
"notes" : "This httpRequest node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "42a7e623-ca11-4d38-94bb-cfb48d021a5c" ,
"name" : "Webhook" ,
"type" : "n8n-nodes-base.webhook" ,
2025-09-29 06:12:20 +04:00
"notes" : "Example trigger flow:\n\ncurl -X POST {{ $env.WEBHOOK_URL }} \\\n -F \"file=@converted.parquet\"" ,
2025-08-05 09:40:47 +05:30
"position" : [
900 ,
440
] ,
"webhookId" : "0b1223c9-c117-45f9-9931-909f2db28955" ,
"parameters" : {
"path" : "convert" ,
"options" : {
"binaryPropertyName" : "file"
} ,
"httpMethod" : "POST" ,
"responseData" : "allEntries" ,
"responseMode" : "lastNode"
} ,
"notesInFlow" : false ,
"typeVersion" : 2
} ,
{
"id" : "9b87f027-7ef2-40a7-88d7-a0ae9ef73375" ,
"name" : "Sticky Note" ,
"type" : "n8n-nodes-base.stickyNote" ,
"position" : [
0 ,
0
] ,
"parameters" : {
"width" : 840 ,
"height" : 580 ,
2025-09-29 06:12:20 +04:00
"content" : "### ✅ **How to Use This Flow**\n\n#### 📥 Trigger via File Upload\n\nYou can trigger this flow by sending a `POST` request with a file using **curl**, **Postman**, or **from another n8n flow**.\n\n#### 🔧 Example (via `curl`):\n```bash\ncurl -X POST {{ $env.WEBHOOK_URL }} \\\n-F \"file=@converted.parquet\"\n```\n> Replace `converted.parquet` with your local file path. You can also send Avro, ORC or Feather files.\n\n#### 🔁 Reuse from Other Flows\nYou can **reuse this flow** by calling the webhook from another n8n workflow using an **HTTP Request** node. \nMake sure to send the file as **form-data** with the field name `file`.\n\n#### 🔍 What This Flow Does:\n- Receives the uploaded file via webhook (`file`)\n- Sends it to `{{ $env.API_BASE_URL }}` as `multipart/form-data` (field name: `file`)\n- Receives parsed data, schema, and metadata\n"
2025-08-05 09:40:47 +05:30
} ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 1 ,
"notes" : "This stickyNote node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
} ,
{
"id" : "06d3e569-8724-48f2-951f-a1af5e0f9362" ,
"name" : "Parse API Response" ,
"type" : "n8n-nodes-base.code" ,
"position" : [
1280 ,
440
] ,
"parameters" : {
"jsCode" : "const item = items[0];\n\n// Convert `data` (stringified JSON array) → actual array\nif (typeof item.json.data === 'string') {\n item.json.data = JSON.parse(item.json.data);\n}\n\n// Convert `meta_data` (stringified JSON object) → actual object\nif (typeof item.json.meta_data === 'string') {\n item.json.meta_data = JSON.parse(item.json.meta_data);\n}\n\nreturn [item];\n"
} ,
2025-09-29 09:31:37 +04:00
"typeVersion" : 2 ,
"notes" : "This code node performs automated tasks as part of the workflow."
2025-08-05 09:40:47 +05:30
}
] ,
"active" : true ,
"pinData" : { } ,
"settings" : {
2025-09-29 06:12:20 +04:00
"executionOrder" : "v1" ,
"saveManualExecutions" : true ,
"callerPolicy" : "workflowsFromSameOwner" ,
"errorWorkflow" : null ,
2025-09-29 09:31:37 +04:00
"timezone" : "UTC" ,
"executionTimeout" : 3600 ,
"maxExecutions" : 1000 ,
"retryOnFail" : true ,
"retryCount" : 3 ,
"retryDelay" : 1000
2025-08-05 09:40:47 +05:30
} ,
"versionId" : "c10e1897-094e-42c6-bde9-1724972ada3e" ,
"connections" : {
2025-09-29 09:31:37 +04:00
"651a10dc-1c91-4957-bcdd-3e55d7328f04" : {
2025-08-05 09:40:47 +05:30
"main" : [
[
{
2025-09-29 09:31:37 +04:00
"node" : "error-handler-651a10dc-1c91-4957-bcdd-3e55d7328f04" ,
2025-08-05 09:40:47 +05:30
"type" : "main" ,
"index" : 0
}
2025-09-29 09:31:37 +04:00
] ,
2025-08-05 09:40:47 +05:30
[
{
2025-09-29 09:31:37 +04:00
"node" : "error-handler-651a10dc-1c91-4957-bcdd-3e55d7328f04-105b8ea1" ,
2025-08-05 09:40:47 +05:30
"type" : "main" ,
"index" : 0
}
2025-09-29 09:31:37 +04:00
] ,
2025-09-29 06:12:20 +04:00
[
{
2025-09-29 09:31:37 +04:00
"node" : "error-handler-651a10dc-1c91-4957-bcdd-3e55d7328f04-b79b126e" ,
2025-09-29 06:12:20 +04:00
"type" : "main" ,
"index" : 0
}
] ,
[
{
2025-09-29 09:31:37 +04:00
"node" : "error-handler-651a10dc-1c91-4957-bcdd-3e55d7328f04-0620041b" ,
"type" : "main" ,
"index" : 0
}
] ,
[
{
"node" : "error-handler-651a10dc-1c91-4957-bcdd-3e55d7328f04-db01e9c1" ,
2025-09-29 06:12:20 +04:00
"type" : "main" ,
"index" : 0
}
]
]
} ,
"42a7e623-ca11-4d38-94bb-cfb48d021a5c" : {
"main" : [
[
{
"node" : "error-handler-42a7e623-ca11-4d38-94bb-cfb48d021a5c" ,
"type" : "main" ,
"index" : 0
}
] ,
[
{
"node" : "error-handler-42a7e623-ca11-4d38-94bb-cfb48d021a5c-9dc8e3bf" ,
"type" : "main" ,
"index" : 0
}
2025-09-29 09:31:37 +04:00
] ,
[
{
"node" : "error-handler-42a7e623-ca11-4d38-94bb-cfb48d021a5c-53c0994d" ,
"type" : "main" ,
"index" : 0
}
] ,
[
{
"node" : "error-handler-42a7e623-ca11-4d38-94bb-cfb48d021a5c-acb895b3" ,
"type" : "main" ,
"index" : 0
}
] ,
[
{
"node" : "error-handler-42a7e623-ca11-4d38-94bb-cfb48d021a5c-55ae5760" ,
"type" : "main" ,
"index" : 0
}
2025-09-29 06:12:20 +04:00
]
]
2025-08-05 09:40:47 +05:30
}
2025-09-29 06:12:20 +04:00
} ,
2025-09-29 09:31:37 +04:00
"description" : "Automated workflow: Convert Parquet, Avro, ORC & Feather via ParquetReader to JSON. This workflow integrates 5 different services: webhook, stickyNote, httpRequest, code, stopAndError. It contains 8 nodes and follows best practices for error handling and security." ,
"notes" : "Excellent quality workflow: Convert Parquet, Avro, ORC & Feather via ParquetReader to JSON. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."
2025-05-14 11:58:29 +03:00
}