Reports

Aggregate records across one or more workspaces into a single saved analytical view with counts, field aggregations, and CSV export.


Reports aggregate records across one or more workspaces into a single saved analytical view. A report holds one or more data sources, each scoping a set of workspaces and a JSON filter, and exposes record lists, counts, and field aggregations (sum, avg, min, max, count) computed across every source. Use this section to create and configure reports, read the data and aggregations they produce, share them with EDITOR and VIEWER collaborators, duplicate and delete them, and export the combined record set to CSV.

Reports are distinct from Dashboards: a report is a record-level query surface, while a dashboard is a visualization container.

Concepts to types

Docs wordSchema type / field
ReportReport
Data sourceReportDataSource
Shared collaboratorReportUser (role ReportRole: EDITOR / VIEWER)
Field aggregationFieldAggregation (requested via AggregationFieldInput)
RecordTodo
WorkspaceProject
OrganizationCompany

A report’s data sources currently support a single sourceType, TODOS — every report aggregates records (Todo objects). The config and filters fields are opaque JSONObject blobs whose internal shape is defined by the app, not the GraphQL schema; the filters mirror the records filter structure.

Pages in this section

PagePurpose
Create a ReportCreate a report scoped to one or more data sources with createReport.
Query ReportsFetch a single report (report) or list a company’s reports (reports).
Report Data & AggregationsRead a report’s records, counts, and field aggregations, and refresh cached aggregation results.
Manage Report AccessUpdate a report’s config and data sources and share it with collaborators via updateReport.
Duplicate & Delete a ReportCopy a report with duplicateReport or permanently remove it with deleteReport.
Export a ReportQueue an async CSV export of the report’s combined record set, emailed to the caller, with exportReport.

Access at a glance

Report operations enforce four distinct permission tiers — see each page for the exact rule.

TierWhoOperations
ViewCreator or any shared ReportUser (EDITOR or VIEWER)report, duplicateReport, refreshReportAggregations
ModifyCreator or shared ReportUser with role EDITORupdateReport
DeleteCreator onlydeleteReport
ExportCreator, any shared ReportUser, or any member of the report’s organizationexportReport
Export is intentionally broader

exportReport is reachable by any member of the report’s organization, not just the creator and shared users. This is looser than every other report operation by design.