Hey n8n community!
I’m working on a project to automate the creation of Excel reports (marketing campaign summaries) from raw files exported from AWS QuickSight. The goal is to go from raw .csv
or .xlsx
files to a final Excel report that follows a predefined template.
The challenge
- I need to follow a fixed template (column order, structure, formatting).
- The structure of the raw files is supposed to be consistent from one campaign to another (but you know how that goes
).
- I want to build a workflow that can:
- Read QuickSight exports (either
.csv
or.xlsx
, whichever works best), - Normalize the data and apply some processing (aggregations, sums, averages, etc.),
- And insert everything in the right place in the template.
- Read QuickSight exports (either
I’m using n8n Cloud, so I don’t have access to community nodes.
What I’ve already tried
I tried building a custom GPT (in ChatGPT) with all the mapping logic, the expected template, and sample raw files.
It was supposed to understand the data and generate the report.
Result? Sometimes it worked okay, but overall it was too random and unreliable, even for repeated tasks. Too fragile to be trusted in production.
So now I’m trying to rebuild something more stable directly in n8n, step by step.
What I’m looking for
- Smart ideas for an efficient and modular workflow structure (AI or no AI — I’d actually prefer to avoid just “copy-pasting from doc A to doc B” if possible).
- Best practices for handling slightly variable data schemas while still producing a clean, consistent final report (if that’s even doable?).
- Real-life examples or feedback from folks who have built similar reporting automations.
I’d say I’m beginner+ with n8n – I know the basics, but I could really use some help building something clean and reusable.
Thanks a lot in advance to anyone who can share tips or ideas!
Happy to share examples
Let me know if it helps to see:
- A sample raw QuickSight export,
- The Excel template I’m trying to fill,
- Or an example of the final output.
I can share whatever’s useful!