Introduction
Quick start
Build, bind, preview, and export your first Golden Reports report end-to-end in about ten minutes.
This walkthrough takes you from an empty account to a finished report. You'll create a workspace, register a data source, define a data context, design a report in the Manager's editor, and export it.
You'll need a Golden Reports account (signing up at the app domain creates one, or your administrator has invited you) and read access to one data source - a PostgreSQL database is easiest. If you don't have one handy, every step below works with the Sample data built into the Manager.
1. Create a workspace
After signing in you'll land on the Workspaces page. Click New workspace, give it a name (Tutorial is fine), and open it.
A workspace is the unit of collaboration in Golden Reports. Members of the workspace can author reports together; people outside it can't see anything inside.
2. Register a data source
Navigate to Data sources → New. The Manager lists every connector currently installed in your organization - by default that's at least PostgreSQL, REST API, and CSV.
Pick the connector that matches your data and fill the form. Each connector has its own configuration shape (hostname/credentials for Postgres, base URL/auth scheme for REST, a file URL for CSV). When you save, the platform runs a health check against the source - you'll see a green check if the engine can reach it, or an actionable error otherwise.
No real data source?
You can skip this step. The Manager ships with a Sample data built-in source that exposes a small fictional company's orders, customers, and products. It's perfect for the tutorial.
3. Define a data context
Go to Data contexts → New.
A data context is the GraphQL schema your reports will query - it sits above the data source and decides exactly which fields are exposed, what types they have, and what they're called. Think of it as the contract between data engineers and report authors.
For the tutorial, create a context called Sales over your new data source, and add at least three fields:
| Field name | Type | Notes |
|---|---|---|
orderId | ID | unique key |
customer | String | display name |
total | Decimal | order total |
Save the draft. The Manager creates a draft of the context that you can edit safely; nothing your colleagues see changes until you publish a version. (Drafts also acquire an edit lock so two engineers can't trample each other's changes.) Click Publish when you're happy.
4. Create a report
From the workspace home, click Reports → New. Give it a name, pick the project to put it in (creating a default project if you don't have one yet), and bind it to your Sales data context.
The Manager opens the report editor for the new report.
5. Design the template
The editor shows a blank page in the centre, a blocks panel on the left, and a properties panel on the right. Try this:
- Open the Data panel and switch to the Query tab. Write a GraphQL query against your
Salescontext that returns orders withorderId,customer, andtotal. The editor autocompletes field names from the schema. - From the Blocks panel, drag a Heading onto the page. In its properties on the right, set the text to
Recent orders. - Drag a Table below it. With the table selected, bind its rows property to the
ordersfield from your query result. The table populates with the live values.
That's the loop you'll use throughout the editor: write the query once, then bind blocks (or write HTML/Liquid) against the result.
6. Add a parameter
You can let the caller filter the report at run time.
- Open the Data panel. Switch to the Parameters tab.
- Add a parameter
customerIdof typeString. - Switch back to the Query tab. Add an operation variable
$customerId: Stringand pass it to the appropriate field argument onorders(the editor will assist you). - Switch to the Variables tab and add
customerName = $customerIdso the template can reference it. - Above the table, drop in a heading or plain
<p>and writeShowing orders for {{ customerName }}.
This is the parameters/queries/variables flow - parameters never go straight into the template; they go through a variable.
7. Preview
Click Preview in the top toolbar. The editor renders the report with sample parameter values (or prompts you for them). The preview is fully interactive: you can adjust parameter values and re-render without leaving the editor.
8. Export
When the preview looks right:
- Click Export → PDF to download a print-ready PDF.
- Or click Share → Embed to get an embeddable URL you can drop into another product, with the parameter values baked into the URL.
You've now built and shipped a complete report.
What just happened, end to end
Every line of the diagram is a separation you can rely on. Swap the data source for a different one and your report still renders. Rename a field in the data source and only the data context needs updating. Hand a finished report to a non-technical colleague and they can change wording without ever seeing a query.
Where to go next
- Tour the editor in more depth: The report editor.
- Browse the full block catalog: Blocks reference.
- Set up real production data: Data sources and Data contexts.
- Learn the templating syntax: Liquid templating.