Actions27
- Database Actions
- Storage Actions
Database → Read
AI-generatedSummary
Reads rows from a Supabase database table with filtering, sorting, joining, and pagination controls.
Inputs
- table (required) — Name of the table to operate on.
- uiMode — Use 'simple' for form fields and dropdowns, or 'advanced' for JSON inputs.
- filters — Fixed collection of filter conditions (column, operator, value). Shown in simple UI mode for read, delete, updateByQuery, and count operations.
- advancedFilters — JSON object containing advanced filter conditions. Shown in advanced UI mode for read, delete, updateByQuery, and count operations.
- returnFields — Comma-separated list of fields to return (* for all). Shown for read, update, and updateByQuery operations.
- joins — Join related tables via foreign keys (PostgREST resource embedding). Shown for read and count operations.
- sort — Sort field and ascending/descending direction. Shown for read operations.
- returnAll — When true, returns all results using keyset or offset-based pagination.
- limit — Maximum number of rows to return. Shown when returnAll is false.
- offset — Number of rows to skip. Shown when returnAll is false.
- singleItem — When true and rows exist, wraps all rows in a single n8n item with a 'data' array and total count.
Output shape
Array of n8n items. Each item contains { json: row } where row is a plain object of column values. If no rows match the filter conditions, returns [{ json: { data: [], count: 0, operation: 'read', table, message: 'No records found' } }]. When singleItem=true and rows exist, returns [{ json: { data: [all rows], count: number } }].
Built-in URL-length safety chunks large IN-values and result sets. Keyset pagination (based on 'id' column) is used when returnAll=true and an id column is selected; otherwise offset/limit pagination applies per chunk. Join embedding uses PostgREST resource syntax (e.g., table!inner).