Skip to content
MoveWorkflows

Pipedream Supabase steps in n8n

Updated 2026-10-21 · 3 min read · n8n: Supabase (Native n8n node)

Supabase steps in Pipedream are usually small: insert a row, select a row, call an RPC. n8n has a native Supabase node for row operations, and the REST API behind it is the same one Pipedream used, so the move is mostly about keys and permissions.

The n8n Supabase node

n8n-nodes-base.supabase, resource Row: Create, Delete, Get, Get All, Update. It works on the public schema by default; turn on Use Custom Schema for others. There is no Supabase trigger node.

What maps where

Pipedream (app supabase) In n8n Status
Insert Row HTTP Request POST {SUPABASE_URL}/rest/v1/{table} with Prefer: return=representation automatic
Select Row HTTP Request GET /rest/v1/{table}?{column}=eq.{value}&order=…&limit=… automatic
Batch Insert Rows, Delete Row, Count Rows Supabase node (Row → Create / Delete / Get All) or HTTP Request manual
Remote Procedure Call HTTP Request POST /rest/v1/rpc/{function} manual
New Row Added (source) Postgres Trigger on the Supabase database, or a Database Webhook → n8n Webhook manual
New Webhook Event (Instant) n8n Webhook node; point the Supabase webhook at its URL manual, change URL

The converted HTTP Request nodes use the Supabase predefined credential (it adds the key headers) and read the project URL from the variable SUPABASE_URL. Filters, ordering and limits from the Pipedream step are carried into the query string, so the result is the same array of rows.

Credentials

  1. In n8n: Credentials → New → Supabase API.
  2. Host: the Project URL, without /rest/v1.
  3. Secret Key: a secret key (sb_secret_…). It acts as service_role and bypasses RLS, like a server-side key should.
  4. Alternative: OAuth2. n8n then creates a key named n8n_managed_data_api in your project; do not delete it.

Supabase is retiring the legacy anon and service_role JWT keys by the end of 2026. Pipedream workflows built on them will need new keys anyway, so put the new secret key into n8n from the start.

Typical migration: signup to CRM

Pipedream: HTTP trigger → Supabase Insert Row → Slack message. n8n: Webhook → Code (trigger) → HTTP Request (Supabase insert) → HTTP Request (Slack). Set SUPABASE_URL, create the Supabase and Slack credentials, change the webhook URL in the signup form.

Pitfalls

  • RLS. Empty results with no error almost always mean the key is a publishable/anon key and RLS filters the rows.
  • Self-hosted Supabase in Docker. If n8n and Supabase run as separate containers on one Docker network, point n8n at the Kong container (for example http://supabase-kong:8000), not at localhost.
  • JSON columns. To filter on a JSON field, use the ->> operator syntax in the filter.
  • No instant trigger. Pipedream's New Row Added watched the table for you. In n8n the most reliable replacement is a Database Webhook in Supabase calling an n8n Webhook node.
  • Pagination. Select returns at most the API's row limit; for big tables page with limit and offset or a range header.

How to move your Supabase workflows

  1. Export the workflows from Pipedream.
  2. Upload on /convert for the free report (status per step, credentials, variables such as SUPABASE_URL).
  3. Download the n8n JSON: 1 workflow is free; full export: $3 per workflow, $19 minimum — coming soon.

More: Pipedream to n8n migration guide, code step checker for steps that use @supabase/supabase-js. Related: PostgreSQL, Airtable, OpenAI.

FAQ

Which Pipedream Supabase actions convert automatically?
Insert Row and Select Row. They become HTTP Request nodes against the Supabase REST API (PostgREST) with the n8n Supabase credential; the project URL is a variable.
Is there a Supabase trigger in n8n?
No. Use a Supabase Database Webhook that posts to an n8n Webhook node, or the Postgres Trigger node against the Supabase database.
Why does my n8n Supabase node return empty results?
Usually Row Level Security. With a publishable (anon) key RLS applies; a secret key bypasses it. n8n's common-issues page lists this first.
Do I need to change keys?
Supabase deprecates the legacy anon and service_role keys by the end of 2026. Use the new secret key in the n8n credential now so you do not migrate twice.

Related

Sources