Prerequisites
- You’re logged in as an
adminoreditorrole. - For scheduled reports, at least one notification provider is configured under
/settings/integrations→ Notifications. See Notifications.
Export (Path A) works unconditionally. No cron wiring or background
automation required — the button produces a file immediately.Scheduled share (Path B) creates the template and schedule
immediately, but the schedule only fires on cadence once an external
scheduler is invoking
/api/cron/tick. During pilot / initial
deployment this is typically not wired. Until you follow
EventBridge Setup (marked optional),
use Run Now from /settings/reports to deliver the report on
demand.Path A — One-off export
Use when you need to hand someone a file right now. Works in every deployment, including pilot installs without EventBridge wiring.Open any dashboard
Navigate to Dashboards in the sidebar and pick a dashboard. The Executive Dashboard is usually the highest-signal starting point.
Adjust filters
Pick a period (today / 7d / 14d / 30d / 90d) and, if the dashboard supports it, a segment. The Export button captures exactly what’s on screen.
Click Export → pick a format
Top-right of the header. Choose PDF, CSV, Markdown, or HTML.
- PDF — includes a narrated executive summary + data tables. Best for leadership.
- CSV — raw rows only, no narrative. Best for spreadsheet analysis.
- Markdown — human-readable summary; paste into Slack / email.
- HTML — same content as PDF, for rendering inside a browser or email body.
Path B — Scheduled share
Use when the report should run every week / month / custom cadence and deliver to a destination automatically.Open the dashboard you want to share
Same starting point as Path A. All filters on the dashboard at the moment of saving get baked into the template.
Fill in the modal
The modal pre-fills everything it can. You only need to confirm or override:
- Name — appears in
/settings/reportsand in every delivered artifact. - Formats — which file types to generate per run (at least one).
- Narrative — on by default; off for data-only reports.
- Schedule — pick a preset (Daily 8am / Weekly Mon 8am / Monthly 1st 8am) or enter a custom cron expression in the
0 8 * * 1format. - Destinations — check one or more configured notification providers. Each run delivers to every checked destination. Leave empty to save the template without a delivery destination (you can still run it on demand from
/settings/reports).
Submit
The button creates a
ReportTemplate plus a ReportSchedule atomically. You get a toast; /settings/reports now lists the template.Wait for — or trigger — the first run
If EventBridge is wired (see EventBridge Setup): the cron hits
/api/cron/tick once per minute. On the next matching cron time the runner executes, renders artifacts, and delivers to each destination.If EventBridge is not wired (typical pilot deployment): the schedule shows a nextRunAt timestamp but does not fire automatically. Open /settings/reports and click Run Now on the template’s row to deliver the report immediately. Every Run Now click produces a ReportRun with the same artifact pipeline as a scheduled run.- Slack / Teams destinations receive the narrative + a deep link to the run.
- Ops-Email destinations receive the narrative in the body and every artifact as an attachment.
- Webhook destinations receive the full payload including artifacts inline (base64).
What ships in a delivered report
Every persisted report generates:- A
ReportRunrow in the database — immutable record of the run with inputs, narrative output, and delivery results. - The requested artifacts — rendered fresh each run so they reflect current data.
- A narrative if enabled — produced by your tenant’s configured AI provider (Anthropic, OpenAI, Bedrock, etc.).
/settings/reports → pick a template → Runs tab. Each run row shows status, duration, per-destination delivery result, and a download link for the artifacts.
Editing a saved report
Open/settings/reports and click any template. From there you can:
- Rename, enable/disable, or delete the template.
- Edit the schedule (cron or destinations).
- Trigger a manual run-now via
/settings/reports/[id]— results land in the Runs tab. Works whether or not the cron is wired.
Related
Executive Dashboard
The canonical starting point for sharing.
Reports
Full reference for templates, schedules, formats, and delivery.
Notifications
Configure the destinations your scheduled reports deliver to.