Bulk Processing with Calculations and Updates via Code Node and HTTP Request (Supabase, n8n v1+)

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:

  1. 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).
  2. 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.
  3. 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.
  4. 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:

  1. 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?
  2. Are there any patterns or best practices for organizing tasks like this in n8n v1+?
  3. Are there any custom nodes or plugins that allow HTTP requests directly from inside the Code Node, bypassing the sandbox?
  4. 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.