> For the complete documentation index, see [llms.txt](https://docs.graspil.com/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.graspil.com/en/app/reports.md).

# Reports

The report builder is a section of the dashboard where you can build charts and tables from your bot's data yourself, without any programming: how many events happened, how many users completed a target action, how they move toward a purchase, and whether they come back again.

{% hint style="info" %}
The report builder is available on the **Premium** plan.
{% endhint %}

{% hint style="info" %}
**Events** are the foundation of every report — without them, there's nothing to build a report from. For the full list of standard events graspil creates automatically, and how to add your own, see [Event reference](/en/app/reports/events.md).
{% endhint %}

## What kinds of reports you can build

| Report type   | What it shows                                                                                        | More details                              |
| ------------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------- |
| **Trends**    | A metric's dynamics by day (or by week) — e.g. how many purchases or new users there were each day   | [Trends](/en/app/reports/trends.md)       |
| **Table**     | The same as trends, but as a table of numbers instead of a chart — useful when you need exact values | [Trends](/en/app/reports/trends.md)       |
| **Funnels**   | How many users made it from the first step (e.g. opened the bot) to the last (e.g. paid)             | [Funnels](/en/app/reports/funnels.md)     |
| **Retention** | Whether users come back and repeat an action after some time                                         | [Retention](/en/app/reports/retention.md) |

{% hint style="info" %}
Funnels can be built **across resources** — combining steps from different channels and bots into a single funnel. For example: channel subscription → bot launch → purchase — each step can belong to a different resource. See [Funnels](/en/app/reports/funnels.md#skvoznaya-voronka) for details.
{% endhint %}

{% hint style="info" %}
If these report types aren't enough, custom reports built on your own SQL query are available. Contact support to discuss building one.
{% endhint %}

## How to create a report

1. Open the "Reports" section in the dashboard and click "Create report".
2. Choose a report type — trends, table, funnel, or retention.
3. Add the events you need — for trends this is one or more metrics, for a funnel it's ordered steps, for retention it's a starting event and a return event.
4. If needed, set up filters and a date range (see below).
5. Save the report. Once saved, it appears in the shared report list — you can open it, edit it, and add it to a dashboard.

## Features shared by every report type

### Filters

Filters narrow down the data that goes into the report. There are two kinds:

1. **Global filter** — applies to all the report's data at once (all trends, all funnel steps, etc.).
2. **Event filter** — applies to a single metric or step only. To add one, click the funnel icon next to the chosen event.

For example, to count only sales over $100: pick the "Purchase" event and add a filter on the "Value (number)" field greater than `100000` (amounts are stored in the smallest unit — cents), plus, if needed, a filter on "Unit" equal to `usd`.

The full list of fields you can filter by (category, amount, traffic source, country, device, custom user fields, etc.), with a description of each, is on a separate page: [Filter Fields](/en/app/reports/filter-fields.md).

### Resources

Inside the global filters, you separately configure which resources (bots/channels) the report counts data from:

| Setting                | What it does                                                                                                                                                |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **All resources**      | The report always uses data from every resource available to you                                                                                            |
| **Current resource**   | The report uses data from whichever resource is currently selected at the top of the dashboard. Handy for one universal report reused across different bots |
| **Selected resources** | You manually pick the specific resources the report should work with                                                                                        |

{% hint style="info" %}
The builder lets you build reports using data from several resources at once — for example, plotting the number of new users from a channel and a bot on the same chart.
{% endhint %}

### Date range

While viewing a report, you can pick the date range the data is calculated for — the report recalculates on the fly, no need to recreate it.

### System reports

Graspil ships with a set of ready-made base reports available to every user — these are called **system reports**. They can't be edited directly, but you can make a copy and modify the copy however you like.

### Saving and dashboards

Every report you create is saved to the shared report list. A saved report can be pinned to a dashboard and used elsewhere in the system — so you can collect several important charts on a single screen.
