Reports
A report is a structured document built from live data: KPI rows, tables, charts, and text, rendered into the format its destination needs. Run it on demand, or let schedules deliver it to your channels.
How a report works
A report does the work of a small data pipeline. The numbers your team needs live in different systems — reservations and rates in the PMS, campaign results in the email tool, traffic in analytics — and getting them into one document normally means either someone assembling spreadsheets every morning, or a BI project with pipelines and dashboards to build and maintain. A report replaces both.
The data engineering happens once, when the report is created. From your description, the AI builder works out everything an analyst would: which queries to run against which systems — often several, chained across sources — how to join and group results that arrive in different shapes, which calculations produce the figures you asked for, and how to present them. What it saves is not an answer but the complete plan for producing this document.
From then on, the report is an automation. Every run executes that plan exactly: the same queries against your live systems, the same joins and calculations, the same layout. No AI is involved in a run, so nothing is re-interpreted and nothing drifts — the numbers change only because your business did. Time ranges are stored as rules ("yesterday", "month to date"), so the report keeps itself current, and if the data cannot be loaded in full, the run fails loudly instead of delivering an understated total.
That split is the point: the ease of describing a report in plain language, with the reliability of a fixed pipeline. The result is a document you can forward to owners, your bank, or your morning meeting without wondering how the numbers were produced.
Creating a report
Two ways, both without forms or query languages:
- Describe it in chat. New report on the Reports page opens a conversation. The builder explores your connected data, assembles the report, and renders it against live data; the result appears in a panel as it works. Save it when it looks right.
- Install a template. Templates on the Reports page is a curated library, organized by category. Installing a template creates your own copy, which you then adjust like any other report.
Workspace-wide report instructions (on the Reports page) let you set standing style rules that the builder applies to every report it creates or edits, for example "always show currency without decimals" or "use last year as the default comparison".
What a report can contain
KPI rows, tables, bar and line charts, breakdown tables (rendered as a table or a donut), heatmaps, and free text. Values can be formatted as integers, decimals, currency, or percentages. Data can come from any combination of the workspace's connected sources in a single report.
Editing and versions
Editing is conversational: Edit with AI on the report opens a chat where you describe the change, and the builder edits the report, re-runs it, and shows the result. If a report breaks because something changed in the source, Fix with AI hands the exact error to the builder.
Every save creates a new immutable version. The Versions tab shows the full lineage: what changed, when, by whom, and which version each edit was based on. Activating an older version rolls back instantly; nothing is ever overwritten.
Schedules
A report can have any number of schedules, each with its own delivery channels.
- Frequency: daily, weekdays, weekends, specific days of the week, or monthly on a chosen day.
- Times: up to six fixed times per day, or an interval (every 15, 30, or 60 minutes within a time window).
- Timezone-aware, so "7:00" means 7:00 where your team is.
Pause and resume schedules at any time, and use Test to run one immediately without waiting for the next slot.
Delivery formats
Each channel type gets a native rendering, not a generic paste:
| Channel | Format |
|---|---|
| Branded HTML with your logo and accent color, plus an Excel attachment on every delivery | |
| Slack | Native Slack message |
| Microsoft Teams | Adaptive Card |
| Telegram | Formatted message |
| SFTP / FTP | Excel file upload with a configurable filename pattern |
From the report page itself you can also export any run as PDF, Excel, or HTML.
Runs, history, and failures
Every run is recorded with its status and the outcome of each delivery. Channels are delivered independently: one failing channel never blocks the others, and the error is shown on the run. The Deliveries tab on the report and the workspace-wide Activity feed give you the full history, filterable by status and date.
Data integrity
Reports follow a complete-or-fail rule: for sources that support verified complete loading, a run either loads all the data or fails with an error. It never silently delivers an understated total. Sources without that guarantee render behind a visible warning on the report itself: "Part of this report uses data from X, which we could not confirm was loaded in full."
Scheduled report runs and deliveries do not use AI credit. They count against the plan's monthly run allowance instead; see Limits & cost controls.