supabase-advanced

n8n community node for Supabase with relation selects, upsert, RPC, and typed payloads

Package Information

Released: 7 mo ago
Downloads: 9 weekly / 26 monthly
Latest Version: 0.1.0
Author: seosenpy

Documentation

n8n-nodes-supabase-advanced

Supabase Advanced is an n8n community node for Supabase with better support for relational reads than the built-in node.

It keeps the standard row CRUD flow, then adds:

  • visual relation builder for PostgREST joins and nesting
  • raw select fallback for advanced queries
  • upsert
  • rpc(...) function calls
  • custom /rest/v1 API calls
  • optional user JWT on top of the project API key

Features

  • Row operations: Create, Get, Get Many, Update, Delete, Create or Update
  • relation builder with nested relations
  • manual filters for row queries
  • custom schema support through Accept-Profile / Content-Profile
  • Function resource for Supabase RPC
  • Custom API Call resource for direct PostgREST access

Credentials

The node uses three credential fields:

  • Host - your Supabase project URL, for example https://your-project.supabase.co
  • API Key - sent in the apikey header
  • Access Token / JWT - optional bearer token for user-context requests

Recommended setup for server-side automations:

  • Host = your project URL
  • API Key = your service_role key
  • Access Token / JWT = leave empty

Use Access Token / JWT only when you intentionally want requests to run as a specific signed-in user and respect that user's RLS context.

Relation Builder

For Row operations you can choose:

  • Select Mode = Builder
  • Select Mode = Raw

The builder lets you configure:

  • root columns
  • relation name
  • optional alias
  • join type
  • optional relation hint
  • relation columns
  • one more nested relation level

This builds standard PostgREST select clauses under the hood, for example:

id,name,profile(*),orders!inner(id,total,items(*))

If you need syntax the UI does not cover yet, switch to Raw.

Installation

In n8n UI

Open Settings -> Community Nodes and install:

n8n-nodes-supabase-advanced

Manual install

Install the package in your custom nodes directory:

npm install n8n-nodes-supabase-advanced

Then restart n8n.

Operations Overview

Row

  • create rows from mapped fields or JSON payload
  • fetch one or many rows
  • update or delete rows by filter
  • upsert rows with optional conflict target
  • return related records through relation builder or raw select

Function

  • call Supabase Postgres functions via /rest/v1/rpc/<function>

Custom API Call

  • send direct requests to /rest/v1
  • useful when Supabase adds a capability before the node UI supports it

Known Limitations

  • relation builder does not yet auto-discover foreign key graphs
  • relation names and hints may still need to be provided manually for ambiguous joins
  • deeply custom PostgREST expressions are still easier in Raw mode

Development

npm install
npm run lint
npm run build
npm run check:package

Publishing

Before publishing:

  1. create the GitHub repository referenced in package.json if it does not exist yet
  2. verify the package name is still available on npm
  3. run npm run check
  4. run npm run check:package
  5. publish with npm publish --access public

License

MIT

Discussion