New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceCore BlocksDatabases
Block

Supabase Block

Use Supabase database

The Supabase block lets you read and write rows in your Supabase (Postgres) database directly from a workflow. Reach for it when you need to query, fetch, create, update, or delete records using PostgREST filter syntax.

Overview

PropertyValue
Typesupabase
Categorytools
Color#1C1C1C

When to Use

  • Fetch many rows from a table with optional filtering, ordering, and a result limit.
  • Retrieve a single row by its primary key or any matching condition.
  • Insert a new row into a table from JSON data produced earlier in the workflow.
  • Update an existing row that matches a PostgREST filter.
  • Delete a row that matches a PostgREST filter.
  • Integrate database reads/writes into an AI agent or automation pipeline.

Configuration

Operation

Dropdown selecting what to do: Get Many Rows (query), Get a Row (get_row), Create a Row (insert), Update a Row (update), or Delete a Row (delete). Defaults to query.

Project ID

Your Supabase project identifier (e.g. jdrkgepadsdopsntdlom). Required.

Table

Name of the table to operate on. Required.

Service Role Secret

Your Supabase service role secret key, used to authenticate the request. Required.

Data

JSON object holding the row's column/value pairs. Shown and required for the insert and update operations.

Filter (PostgREST syntax)

PostgREST filter expression such as id=eq.123. Required for get_row, update, and delete; optional for query.

Order By

Optional sort column for query (append DESC for descending).

Limit

Optional maximum number of rows to return for query.

Inputs & Outputs

  • Inputs: operation (string), projectId (string), table (string), apiKey (string), data (json), filter (string), orderBy (string), limit (number)
  • Outputs: message (string), results (json)

Tools

  • Supabase Query (supabase_query) — Fetches multiple rows from a table via a GET request to the Supabase REST API. Supports optional PostgREST filter, order-by, and limit params.
  • Supabase Get Row (supabase_get_row) — Fetches a single row from a table using a required PostgREST filter; internally applies limit=1 and returns the first matching record (or null if none found).
  • Supabase Insert (supabase_insert) — Inserts one or more rows into a table via a POST request. Accepts a JSON object (auto-wrapped in an array) or a JSON array.
  • Supabase Update Row (supabase_update) — Updates rows that match a required PostgREST filter via a PATCH request. Returns the updated records.
  • Supabase Delete Row (supabase_delete) — Deletes rows that match a required PostgREST filter via a DELETE request. A filter is mandatory to prevent accidental full-table deletion.

YAML Example

supabase_1:
  type: supabase
  name: "Supabase"
  inputs:
    operation: "query"
    projectId: "jdrkgepadsdopsntdlom"
    table: "orders"
    apiKey: "{{SUPABASE_SERVICE_ROLE_KEY}}"
    filter: "status=eq.active"
    orderBy: "created_at DESC"
    limit: 100
  connections:
    outgoing:
      - target: next-block-id