Exportable tables

Reports

Any view tagged as a report becomes a runnable report in the Reports section, with CSV and JSON export and full filter/sort/pagination support.

crm.deals
Search deals
stage in (Discovery, Proposal, Negotiation)
amount > 10000
New deal
nameamountstageownerclose_date
Acme Corp renewal$48,000NegotiationLena P.Jun 04
Globex Pilot$12,500DiscoveryRohan S.May 28
Initech Expansion$96,200ProposalMei C.Jul 12
Hooli Lighthouse$185,000NegotiationLena P.Jun 18
Pied Piper Q3$24,000WonAsha D.May 02
Soylent SaaS$7,400DiscoveryMei C.Jul 30
What it does

The capabilities you get out of the box.

Capability01

View = report

No separate report definition language to learn.

Capability02

CSV / JSON export

One-click export of the currently-filtered result set.

Capability03

Full Postgres

CTEs, window functions, recursive queries - everything Postgres supports.

How it works

Three steps from SQL to UI.

  1. 01
    Write a viewWhatever your reporting query is.
  2. 02
    Tag as report`{"type": "report"}` in the view comment.
  3. 03
    Run and exportReports inherit filters and pagination from the data table.
example/reports.sql
sql
-- Full deal list with company, contact, and activity rollups.
create or replace view crm.deals_report
with (security_invoker = true) as
select
  d.id, d.name, d.value, d.stage, d.close_date,
  c.name                    as company,
  ct.full_name              as primary_contact,
  count(a.id)               as activity_count,
  max(a.created_at)         as last_activity_at
from crm.deals d
left join crm.companies   c  on c.id = d.company_id
left join crm.contacts    ct on ct.id = d.primary_contact_id
left join crm.activities  a  on a.deal_id = d.id
group by d.id, c.name, ct.full_name;

comment on view crm.deals_report is '{
  "type": "report",
  "name": "Deals report",
  "description": "Full deal list with related rollups"
}';
Get started

Try it on your own Supabase project.

Connect a project, install the Supasheet schema, and your tables are live in minutes.

No credit cardSelf-host or managedMIT licensed