What this workflow does
This workflow takes JSON data sent by a webhook and turns it into an Excel file (XLSX).
It solves the problem of spending many hours copying and formatting data by hand.
The final result is a downloadable Excel file sent automatically back to the webhook caller.
Who should use this workflow
This workflow is for any user who gets JSON data via HTTP POST requests and needs it in Excel format quickly.
It helps people who want to avoid manual data work and reduce mistakes.
The workflow requires no extra external services.
Tools and services used
- n8n Webhook node: Receives JSON data via HTTP POST.
- n8n Item Lists node: Extracts an array from the JSON payload.
- n8n Spreadsheet File node: Converts JSON items into an Excel file.
- n8n Respond to Webhook node: Sends the Excel file as a response back.
Inputs, Processing, and Output
Inputs
- JSON data sent by an HTTP POST to the webhook URL.
- The JSON must include an array located at key
bodyor another key as configured. - Optional query parameter
filenamein the webhook URL defines the Excel file name.
Processing Steps
- The Webhook node listens for POST requests and receives JSON.
- The Item Lists node extracts each object from the JSON array inside the key
body. - The Spreadsheet File node creates an XLSX file from the extracted JSON items.
- The Respond to Webhook node returns the Excel file with a content-disposition header to trigger file download.
Output
Users get a direct download response of the Excel file from the webhook.
The file name is dynamic based on the query parameter or defaults to “Export.xlsx”.
Beginner step-by-step: How to use this workflow in n8n
Step 1: Import the workflow
- Download the workflow file using the Download button on this page.
- Open your n8n editor.
- Click on the menu and choose “Import from File.”
- Select the downloaded workflow file to import.
Step 2: Configure credentials and settings
- Check the Webhook node has the correct unique path.
- Add any required credentials or API keys if the workflow uses any (this workflow does not need extra credentials).
- Adjust the Item Lists node if your JSON array key is not
body. - Optionally edit the filename logic in the Respond to Webhook node if you want a different query parameter name.
Step 3: Test and activate
- Trigger the webhook URL using tools like Postman or curl with sample JSON.
- Check if the Excel file downloads correctly.
- If all works, activate the workflow for production use.
Users hosting their own n8n instance can reference self-host n8n for secure deployment.
Customization ideas
- Change the query parameter name for the Excel filename inside the Respond to Webhook node.
- Adjust the array key in the Item Lists node if incoming JSON uses a different structure.
- Add an email node after the Spreadsheet File node to send the Excel file by email.
- Switch the spreadsheet file format to CSV or others supported by the Spreadsheet File node.
Common issues and fixes
- Webhook not triggered or empty input: Check the webhook URL and ensure method is POST.
- Spreadsheet file is corrupt or empty: Verify JSON array extraction in the Item Lists node matches the input data.
- Downloaded filename defaults to “Export.xlsx”: Add the correct
filenamequery parameter in the webhook URL.
Summary
✓ Converts webhook JSON array data into Excel files automatically.
✓ Removes manual copying and formatting work.
✓ Returns instantly downloadable XLSX files with custom filenames.
✓ Easy configuration and no external dependencies needed.
