Hey n8n Community,
After building a lot of workflows over the last year, I noticed the same five nodes show up in almost every single one. None of them are flashy, they are just the nodes that quietly do most of the work in a build. Here they are, with a real example and one gotcha each.
1. Form Trigger.
Half my workflows start with someone uploading a file, and the Form Trigger gives them a clean hosted page to do it with zero frontend work on my side. My document classification flow takes a PDF or image through a form and hands back a result, and my reconciliation build takes two spreadsheet uploads the same way. Gotcha: uploaded files arrive as binary on the item, not as JSON text, so the next node has to read the binary property rather than a field value.
2. IF and Switch.
Routing is the backbone of keeping a workflow deterministic. In my document classification build an IF checks the confidence score, low confidence goes to Slack for review and everything else passes through, and a Switch sorts contracts into the right sheet by type. Reach for these before you reach for an agent, branching you can see beats logic hidden in a prompt.
3. Edit Fields (Set).
This is where I shape data: rename fields, set defaults, derive new values. In my contract renewal workflow I calculate the end date and cancellation deadline right here with date expressions instead of asking the model to extract them. Gotcha: do not put a leading = before a {{ }} in the value field, it quietly turns your output into [object Object].
4. Google Sheets.
The storage layer under most of my builds, the lightweight database you do not have to set up. My contract watchdog appends every contract to a five-tab sheet and the daily check reads all five tabs back to work out what is due, and my signup flow looks up the sheet first so the same person never gets added twice. Gotcha: everything comes back as a string, so a number or date read from a sheet needs converting before you calculate or compare on it.
5. Loop Over Items (Split in Batches).
Process items one at a time when a node cannot handle a whole batch cleanly. Whenever an extraction step sits inside the loop I set the batch size to 1, otherwise it processes all the input in one call and you get a single merged result instead of one per document. This is the fix for “why did my 10 invoices come back as one”.
For the extraction step itself I use the easybits Extractor, a verified n8n community node that turns PDFs and images into structured data.
If you want to see these in real builds, I keep 25+ free workflow templates in one repo, most of them around document processing, and a star helps me out a lot if any of them save you time: GitHub - felix-sattler-easybits/n8n-workflows: n8n workflow templates for automated data extraction and document processing. · GitHub
What are you mostly automating these days, and which nodes do you lean on most to get it done?
Best,
Felix
