📝 User Story
As a Voice-of-Customer (VOC) analyst, I want to drag-and-drop an Excel survey file into an n8n web form so that the responses are automatically parsed and stored in the database for downstream analysis.
🎯 Acceptance Criteria
| # |
Requirement |
Details |
| 1 |
Secure Upload |
• n8n workflow exposes a password-protected web form. • Accepts .xlsx files up to 5 MB via drag-and-drop or file-picker. |
| 2 |
Automatic Parsing |
• Workflow reads the .xlsx directly or converts it to CSV behind the scenes. • No manual intervention required. |
| 3 |
Dynamic Question Handling |
• A Python node scans all column headers. • Columns whose headers start with “Q” are bundled into a single JSON field called questions. • The remaining 20 fixed columns stay unchanged. |
| 4 |
Metadata Logging |
• Write upload metadata to feedback_files table: – filename – uploader – timestamp – row_count |
| 5 |
Row-Level Storage |
• Each survey response becomes one row in the feedback table. • The questions JSON column is fully populated. |
| 6 |
User Feedback |
• Workflow returns a clear success or error message to the browser. |
| 7 |
Containerized Deployment |
• Entire solution (n8n + Postgres) ships with Docker containers. • Start locally with docker-compose up (single command). |
🛠️ Technical Notes (added for clarity)
- Recommended image sizes:
• n8nio/n8n:latest for the automation workflow
• postgres:15-alpine for the database
- Environment variables (sample):
N8N_BASIC_AUTH_USER=voc_analyst
N8N_BASIC_AUTH_PASSWORD=strongPassword123
POSTGRES_USER=voc
POSTGRES_PASSWORD=voc_pass
POSTGRES_DB=voc_db
- Ensure proper CORS settings if the web form will be embedded in external dashboards.
- Configure file-size limits and MIME-type checks in the n8n HTTP Request node for additional security.
✅ When all criteria are met, the VOC analyst can seamlessly upload survey data and immediately proceed with analysis—no manual data wrangling required.
📝 User Story
As a Voice-of-Customer (VOC) analyst, I want to drag-and-drop an Excel survey file into an n8n web form so that the responses are automatically parsed and stored in the database for downstream analysis.
🎯 Acceptance Criteria
• Accepts
.xlsxfiles up to 5 MB via drag-and-drop or file-picker..xlsxdirectly or converts it to CSV behind the scenes.• No manual intervention required.
• Columns whose headers start with “Q” are bundled into a single JSON field called
questions.• The remaining 20 fixed columns stay unchanged.
feedback_filestable:–
filename–
uploader–
timestamp–
row_countfeedbacktable.• The
questionsJSON column is fully populated.• Start locally with
docker-compose up(single command).🛠️ Technical Notes (added for clarity)
•
n8nio/n8n:latestfor the automation workflow•
postgres:15-alpinefor the database✅ When all criteria are met, the VOC analyst can seamlessly upload survey data and immediately proceed with analysis—no manual data wrangling required.