Create a report
Select New report. The workbench has three steps, and a preview on the right shows the structure of the report as it takes shape.1
Content and scope
Enter the Report name and its Purpose. Choose the Source type, a dashboard or a saved
view, and the Data source. Set the Data range: the previous 1 hour, 24 hours, 7 days, or
30 days, the previous calendar day, week, or month, or Custom.
2
Generation schedule
Choose the Generation frequency: every hour, every 6, 12, or 24 hours, or every 7 days, and the
Report timezone. Advanced cron accepts a cron expression, but runs every 24 hours for now;
prefer an interval.
3
Delivery
Add Delivery targets: an email address, an HTTPS webhook URL, or an S3 path, each with its own
delivery result. Choose the Generated format. Turn off Enable after saving to save the report
paused.
Choose content
A report uses a dashboard or saved view as the source. Templates define a reusable source type, format, and content defaults; a schedule binds the template to a concrete resource. Built-in template patterns include platform health, RUM experience, alert review, SLA compliance, and saved-query exports.Choose a format
PDF and PNG require the headless renderer. Configure
[scheduled_reports.renderer] with a reachable web base URL. The server validates generated file
signatures instead of returning placeholder content. CSV, JSON, and SVG currently contain report
metadata rather than executed dashboard or saved-view rows.
What a PDF or PNG report contains
A PDF or PNG report holds the dashboard or the saved view and nothing of the surrounding web UI: no navigation, no toolbar, and no menus. The page states what the report covers, then shows the dashboard or the rows of the saved view.- Page size. The page is as wide as the renderer viewport and as tall as the content, so a PDF has one page and neither a panel nor a table row is split across pages. Content beyond 16,000 pixels of height is cut off in a PNG and continues on the next page in a PDF.
- Appearance. Reports use the light theme. The language and the date and time format follow the preferences of the user that the report is rendered as.
- Time range. The report covers the Data range. Previous 24 hours and Previous 7 days end at the moment of rendering. Previous calendar day, Previous calendar week, and Previous calendar month are whole days, weeks, and months in the report timezone; a week starts on Monday.
- Timezone. The header, the chart axes, and the
_timestampcolumn show times in the Report timezone. The field lists every IANA time zone with its UTC offset. Search by name to find one. - Failures. A report produces no file when the dashboard or the saved view cannot be loaded, the statement of a saved view fails, or the page does not finish loading data within 15 seconds. Export now returns the reason, and a scheduled run stores the reason in the delivery record of each recipient.
Dashboard
The page starts with the dashboard title and description, followed by the time range, the timezone, the value of each visible variable, and the generation time. The panels follow in the layout of the dashboard. With the Custom data range, the panels use the last hour.Saved view
The page starts with the name of the saved view, followed by the time range, the timezone, the stream when the view names one, the number of rows, and the generation time. The statement follows under the name of the query language, and then a table with the rows that the statement returns.- Time range. With the Custom data range, the statement runs over the Default window of the saved view, ending at the moment of rendering.
- Rows. The table holds at most 200 rows. When a SQL statement returns more, the row count reads First 200 only. A PromQL statement runs as a range query, and the points of each series are sampled evenly to fit 200 rows.
- Columns. The table has one column for each column of the result and is never wider than the
page; long values wrap. Apart from
_timestamp, values appear as returned. A missing value appears as—. - Stream. A SQL statement runs with the Stream of the saved view. A view without a stream uses the first logs stream that allows queries, the same as Open on the Saved views page. The report fails when the workspace has no such stream.
- Empty result. A statement that returns no rows still produces a report. The report states that the time range has no rows.
Schedule and deliver
Configure the data range, anevery:<n><s|m|h|d> interval, output format, and one or more
recipients. Although the API field is named cron, five-field cron expressions are not parsed;
an unrecognized value currently falls back to a 24-hour interval. Recipient kinds are:
webhook, which POSTs the generated bytes to an HTTP(S) URL;s3, which writes to an object-key prefix in MoleSignal’s configured object store;email, which currently validates and records the address but does not send SMTP mail.
Access used by a scheduled report
A scheduled PDF or PNG delivery renders the report page as the signed-in user who last saved the report. The report shows what that user can read at the time of the run.- Where to see the user. Open a report in Reports. The footer of the dialog shows Runs
as and the name of the user. A user without
reports.scheduleopens the report with View and sees the same line. - Saving. Every save sets the user, including a save that only enables or pauses the schedule.
A user with
reports.scheduletakes over a report by saving the report. When a report runs as another user, the dialog states next to Save changes that the report runs with your access after you save, and the switch in the Schedules list states the same. - API. A scheduled report returns the user as
run_as_user_id, and the display name and email of the user asrun_as_user.run_as_userisnullwhen the report has no user or the user account no longer exists. - Checks at each run. The run fails when the user can no longer sign in to the organization:
the account is disabled or deleted, the membership is removed, or the organization is disabled.
The run also fails when the user can no longer read the dashboard (
dashboards.read) or the saved view (saved_views.read), or, for a saved view, can no longer query streams (streams.query). The delivery record of each recipient names the user and the reason. - API tokens. A report saved with an API token has no user to run as, because a token carries the access of one role and not the access of the user who issued the token. PDF and PNG deliveries of such a report fail until a signed-in user saves the report. CSV, JSON, and SVG deliveries render no page and need no user.
- Session. The session that the headless browser uses is valid for 10 minutes and is removed from the browser after the page is printed.
Export and share
Use Export now to generate a download from a saved report. Use Share to create an authenticated, cross-workspace, or restricted public share. Public reports can require a password and can be blocked from CSV download by workspace policy.Permissions
reports.readviews schedules, templates, and history.reports.createcreates reports.reports.editupdates content and delivery.reports.scheduleenables, pauses, or runs schedules.reports.deleteremoves reports.
Resource sharing
Learn how public links, cross-workspace grants, expiration, and revocation work.