> ## Documentation Index
> Fetch the complete documentation index at: https://woku.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Report builder

> Build ad hoc reports over your voice of the customer data, with a live preview and no code

The **report builder** lets you build a report without code: you
choose a data source, define how to group, what to measure and what to
filter, and a **live preview** shows the result while you build it. The
server translates the definition into a query that runs on the server
side.

## Data sources

The builder works over six voice of the customer sources:

* **Wokus**: one row per feedback (rating, text or audio).
* **NPS**: NPS survey responses.
* **CSAT**: satisfaction responses.
* **CES**: customer effort responses.
* **Forms**: form responses.
* **Clients**: registered clients of the company.

## Available fields

Each source exposes a curated field catalog, so the selectors only
offer valid fields:

| Source  | Fields                                                                                |
| ------- | ------------------------------------------------------------------------------------- |
| Wokus   | Creation date, Rating (numeric), Feedback type, Feedback kind, Channel, Comment, Woku |
| NPS     | Creation date, Score (numeric), Feedback type, Anonymous                              |
| CSAT    | Creation date, Score (numeric), Comment type                                          |
| CES     | Creation date, Score (numeric), Comment type                                          |
| Forms   | Creation date, Status, Anonymous                                                      |
| Clients | Creation date, Follow-up opt-out                                                      |

Some fields are categorical with fixed values:

* **Feedback type**: recognition or improvement.
* **Feedback kind** (wokus): star, text or audio.
* **Channel** (wokus): WhatsApp, email, review app, web widget, mobile
  SDK or API.
* **Comment type** (CSAT and CES): text or audio.

## Build the report

1. Define the **name** and the **data source**.
2. Under **Group by** add the report dimensions. Date fields require
   choosing a **period**: day, week or month.
3. Under **Measure** add at least one measure: **count** of records
   (feedback, responses or clients depending on the source) or **sum**,
   **average**, **minimum** or **maximum** over a numeric field, for
   example the average of the score.
4. Under **Filter** narrow down the data. The operators depend on the
   field type: numeric and date fields accept comparisons (equal,
   not equal, greater, less), booleans only equal or not equal, and
   **contains** is available only on the Comment field. Categorical
   fields offer a selector with their valid values instead of free
   text.

Column names (aliases) fill in automatically from the field and the
calculation, and can be edited. They accept letters, numbers, spaces,
hyphen and underscore.

## Live preview

The preview recalculates on its own while you edit the definition, with
a small wait so it does not query on every keystroke. It shows the
first 10 rows of the result and saves nothing: it serves to validate
the configuration before saving.

## Save and run

To save, the report needs a name (at least 2 characters and not only
numbers) and at least one valid measure. The result is shown as a
table. From the report detail you can export to CSV, Excel or PDF, and
configure [scheduled delivery](/docs/en/reportes/exports) by email or SFTP.

<Tip>
  [Predefined templates](/docs/en/reportes/plantillas-predefinidas) open the
  builder with a definition already built, useful as a starting point to
  adjust instead of starting from scratch.
</Tip>

## How the query is built

The query runs on the server side with per-company isolation: each
report queries only your company's data, with the filters sanitized,
groups by the chosen dimensions and computes the measures. Date cuts
use the company's time zone, or America/Santiago by default.
