Documentation Index
Fetch the complete documentation index at: https://quill.co/docs/llms.txt
Use this file to discover all available pages before exploring further.
1. Environments
What is an Environment?
An Environment is a single instance of Quill. Each environment has at least one tenant, a virtual schema, and dashboards that belong to it. You can promote changes in one environment to another environment on a report, dashboard, virtual table level.Common Example
A Development and Production environment.Development
- Points to your development postgres database
- The Development Environment
publicKeyis used in your development and staging React apps (passed toQuillProvideras thepublicKeyprop, e.g.process.env.QUILL_PUBLIC_KEY). - The Development Environment
privateKeyis used in your development and staging server apps (read by the server SDK fromprocess.env.QUILL_PRIVATE_KEY). - When your server’s schema changes, you can test those changes on the Development Environment.
- You can promote changes to the Production Environment when they are ready.
Production
- Points to your production postgres database
- The Production Environment
publicKeyis used in your production React apps (passed toQuillProvideras thepublicKeyprop, e.g.process.env.QUILL_PUBLIC_KEY). - The Production Environment
privateKeyis used in your production server apps (read by the server SDK fromprocess.env.QUILL_PRIVATE_KEY).
publicKey / privateKey are the property names on the SDKs themselves.
When stored as environment variables (recommended), use QUILL_PUBLIC_KEY
and QUILL_PRIVATE_KEY respectively.2. Tenant
What is a Tenant?
A tenant is a logical partition of data within a datasource.Tenant Roles
-
Owner:
- Controls access to data at the virtual table level.
- Dashboards must only use virtual tables owned by that tenant.
-
Viewer:
- Can view dashboards if a mapping exists.
- The mapping is a SQL query that defines which owners a viewer can access.
3. Virtual Table
Creating a Virtual Table
To create a virtual table:- Navigate to the Virtual Schema tab.
- Click Create Table.
What is a Virtual Table?
A virtual table is:- A SQL query executed on top of your datasource.
- Designed to enforce tenancy by requiring a tenant foreign key field (called an owner).
- A mechanism for cleaning and structuring data for reporting purposes.
Note: A virtual table can have multiple owners.
4. Dashboard
What is a Dashboard?
A dashboard organizes and presents reports. It includes:-
Sections:
- Each section has a name and a list of reports.
-
Global Filters:
- Apply across all reports in the dashboard.
- Common filters include date filters and tenant-level fields.
A dashboard provides a unified interface to explore tenant-filtered, structured, and visualized data.
5. Report
Creating a Report
Once you have created at least one virtual table, you can create a report.What is a Report?
A report is a SQL query based on the virtual schema. It supports the following views:- Chart view
- Tabular view – A formatted output of the SQL query.
- Pivot (optional) – Adds grouping and/or aggregation to the result, useful for visualizations.
Report Features
-
Access Control:
- Defines which subset of tenants can view the report on their dashboards.
-
Dashboard Filter Field Mappings:
- Used when a common field appears across multiple tables.
- Ensures proper linkage to dashboard-level filters.
Report Placement
- A report can be assigned to only one dashboard.
- It can be placed in only one section within that dashboard.
Promoting a report
- You can promote a report from one dashboard to another, in the same environment
Summary
The virtual table reporting model consists of:- Virtual Tables: SQL-based, tenant-aware cleaned data structures.
- Reports: Charted and tabular queries built from virtual tables.
- Tenants: Access control units for data partitioning and security.
- Dashboards: Grouped reports with global filters and sectioning.

