Supabase node: “Upsert” operation missing (only Insert / Get / Delete visible)

The idea is:

Add an “Upsert” operation to the native Supabase node (Database resource).
The new option would behave like INSERT … ON CONFLICT DO UPDATE, exposing two extra fields:

  • Conflict Column – the unique/PK column(s) (e.g. domain, email)
  • Ignore duplicatestrue ➜ skip; false ➜ merge (PostgREST resolution=merge-duplicates)

It would mirror the Insert → Additional Options → Upsert UX already available in the Postgres and MySQL nodes.

My use case:

I scrape ~25 k companies per day and write them to Supabase tables that have unique keys (companies.domain, contacts.email).
Plain “Insert” throws a 409 duplicate-key as soon as the same company shows up again, halting the entire workflow.
Upsert would let me:

  • merge new data (e.g. validated_at timestamp) into existing rows
  • avoid try/catch wrappers or custom HTTP nodes with Prefer: resolution=merge-duplicates
  • keep the workflow entirely inside n8n’s low-code UI

I think it would be beneficial to add this because:

  • Reliability – eliminates common 409 errors for anyone using unique constraints.
  • Ease of use – non-technical users don’t need to know PostgREST headers.
  • Parity – other DB nodes already expose Upsert; Supabase is the odd one out.
  • Performance – fewer round-trips (no pre-SELECT to check existence).

Any resources to support this?

  • Supabase / PostgREST docs – Upsert via Prefer: resolution=merge-duplicates
    API — PostgREST 14 documentation
  • n8n Postgres node implementation (Upsert option) – could be a blueprint for Supabase node.

Are you willing to work on this?

I’m happy to beta-test the node and provide sample workflows/logs, but I’m not familiar with the n8n core codebase to submit a PR myself.