Hi all,
I’m trying to implement business logic for bulk calculations and updating data in a Supabase database using n8n (self-hosted v1+).
The goal:
- Retrieve all rows from a table (e.g.,
hvd_results
) using an HTTP Request node (GET). - For each row, perform calculations in a Code Node
- Then update the same row with new fields using an HTTP Request node (PATCH).
My issues and limitations:
- In the Code Node, I can’t use fetch, require(‘https’), axios, or any HTTP clients.
I’d like to perform both calculations and database requests in a single node, but in n8n v1+ this isn’t possible due to sandboxing (no external requests allowed). - HTTP Request node only allows one request per node (GET, PATCH, POST, etc.).
So I have to build long chains (GET → calculation → PATCH), and if I need to work with several tables or reference tables, the workflow gets unwieldy. - I need to do additional lookups (VLOOKUP-style) to reference tables for each row.
Ideally, I’d like to do all of this within a single “iteration block” (loop) to avoid complicated and deeply nested flows. - I know that AI agents and external frameworks (LangChain, Flowise, etc.) can do all this in one pipeline,
but I want a native, straightforward solution within n8n itself.
What I’ve tried:
- I use “Loop Over Items” to process each row from the database one by one.
- Inside the loop: Code Node (calculations) + HTTP Request Node (update).
- Lookups to reference tables are done with additional HTTP Request nodes — but when I need 2–3 lookups per row, the flow becomes very bulky.
My questions:
- Is there any way to perform this entire bulk process (GET → calculations → PATCH + several lookups) as compactly as possible—without dozens of nodes and nested flows?
- Are there any patterns or best practices for organizing tasks like this in n8n v1+?
- Are there any custom nodes or plugins that allow HTTP requests directly from inside the Code Node, bypassing the sandbox?
- How do others handle bulk processing with multiple table lookups in n8n?
I would really appreciate any advice, workflow examples, best practices, or links to relevant solutions!
P.S.
I know this kind of scenario is easier on other low-code/no-code platforms (Make, old n8n, custom scripts/agents),
but I’d love to keep it clean and “native” inside n8n v1+ without external workarounds.