Convert CSV to JSON with n8n Webhook Automation

This workflow automates the conversion of raw CSV data into JSON format using n8n’s webhook and processing nodes. It eliminates manual CSV parsing, reduces errors, and enables seamless integration for developers and businesses handling CSV uploads.
webhook
code
switch
+8
Workflow Identifier: 2297
NODES in Use: stickyNote, extractFromFile, respondToWebhook, set, switch, code, if, aggregate, webhook, slack, httpRequest

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

What This Workflow Does

This workflow automatically changes CSV files into JSON format. It accepts CSV data sent as raw text or as files uploaded by HTTP POST. The system looks at what type of input it got and uses the right process to convert it. The final result is a neat JSON output sent back to the sender. If something goes wrong, it sends an error response and notifies a Slack channel. This saves time and avoids mistakes compared to doing the work by hand.


Who Should Use This Workflow

This workflow is good for people who get CSV files often and need JSON instead. Users with little technical knowledge can use this to stop doing manual work each day. It is useful if CSV files have commas or semicolons as delimiters. Also helpful for teams that want error alerts sent to Slack for quick fixes.


Tools and Services Used

  • n8n Webhook: Receives CSV data via HTTP POST.
  • Switch Node: Checks what type input data is.
  • Extract From File Node: Reads uploaded CSV files.
  • Set Node: Prepares raw CSV text.
  • Code Node: Runs JavaScript to convert CSV into JSON.
  • If Node: Checks if conversion worked.
  • Aggregate Node: Gathers JSON items into one array.
  • Respond To Webhook Node: Sends success or error response.
  • Slack Node: Sends error notifications to a Slack channel.

Inputs, Processing, and Outputs Explained

Inputs

  • HTTP POST requests to the webhook URL.
  • CSV data as raw text with content-type text/plain.
  • CSV files uploaded as binary data.
  • JSON input with content-type application/json (partially supported).

Processing Steps

  • The Switch node detects the input type and sends the workflow on the correct path.
  • If it is a file, the Extract From File node reads the CSV text.
  • If raw text, the Set node saves the CSV into a string field called ‘csv’.
  • The Code node parses CSV rows and columns using commas or semicolons into JSON objects.
  • The If node checks if the conversion created errors.
  • The Aggregate node combines all JSON items into one array field.

Outputs

  • On success, JSON response with status OK and data array is sent back.
  • On error, JSON error message with HTTP 500 status is returned.
  • Error details are posted to Slack to alert the team.

Beginner Step-by-Step: How to Use This Workflow in n8n Production

1. Import the Workflow

  1. Download the workflow file using the Download button on this page.
  2. Open n8n editor where you want to use the workflow.
  3. Click on the menu, select “Import from File” and upload the downloaded workflow.

2. Configure Credentials and Settings

  1. Add your Slack OAuth2 credentials in the Slack node.
  2. Update any IDs, emails, channels, or file properties in nodes that require it.
  3. Check the webhook URL generated on the Webhook node — this is where CSV files get posted.
  4. Review the Code node’s JavaScript if you want to change delimiters or behavior.

3. Test the Workflow

  1. Send a test CSV file or raw CSV text to the webhook URL using curl or similar.
  2. Watch if the JSON response returns as expected.
  3. Check Slack for any error messages if things fail.

4. Activate for Production

  1. Toggle the workflow ON in the n8n editor to enable live processing.
  2. Ensure the webhook URL is reachable externally if needed.
  3. Monitor executions in the n8n dashboard for any issues.
  4. If self hosting n8n, see self-host n8n for tips on making webhook accessible.

Customization Ideas

  • Add more delimiters in the Code node regex to support tabs, pipes, or custom separators.
  • Change Slack message content in the Slack node for different alert styles or mentions.
  • Fully add JSON input handling by expanding the Switch node and adding JSON parse and response nodes.
  • Insert a size check node before extraction to reject large files automatically.

Common Edge Cases and Failures

“No data to process” Error

This means the CSV input is empty or badly formatted.

Check that CSV has headers and data rows.

Also make sure the field named “csv” matches in the Set node.

Slack Notification Not Sent

OAuth2 credentials may be expired.

Re-authenticate in Slack node credentials settings.

Webhook Returns HTTP 404 or No Response

The webhook URL or HTTP method may be wrong.

Confirm HTTP Method is POST and URL matches the Webhook node.


Summary

→ Automatically converts CSV input (raw or files) to JSON data.

→ Detects input type and handles errors for reliable processing.

✓ Saves time by avoiding manual conversion steps.

✓ Sends JSON output back to the webhook caller neatly.

✓ Alerts teams in Slack for processing errors quickly.

Frequently Asked Questions

The workflow detects JSON inputs but does not fully process them yet. Additional nodes need to be added for full JSON support.
The error occurs when CSV input is empty or incorrectly formatted. Ensure CSV includes headers and rows, and the field name ‘csv’ matches exactly.
Slack OAuth2 credentials may be expired or invalid. The user should re-authenticate the Slack node to fix this problem.
Check that the HTTP Method is set to POST and the webhook URL matches exactly what the Webhook node shows.

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation Workflows in n8n

A complete beginner guide to building an AI SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free