Scheduling & Sharing
Send reports to your team on a recurring schedule, share them with external stakeholders via public links, or export data as CSV or PDF for offline use.
Scheduling Reports
You can schedule any saved report for automated delivery. Each report can have one schedule.
Creating a Schedule
A schedule requires:
| Setting | Description | Options |
|---|---|---|
| Frequency | How often to send | daily, weekly, monthly |
| Hour | Time of day (UTC by default) | 0--23 |
| Timezone | Timezone for the send time | Any IANA timezone (e.g., UTC, Asia/Singapore) |
| Day of week | Required for weekly schedules | 0 (Monday) -- 6 (Sunday) |
| Day of month | Required for monthly schedules | 1--28 |
| Date range type | Which period the report covers | See below |
| Recipients | Email addresses to send to | 1--10 recipients |
Date Range Types
The date range type determines what time period the scheduled report covers:
| Type | Covers |
|---|---|
previous_day | Yesterday (midnight to midnight) |
previous_7d | Last 7 days |
previous_30d | Last 30 days |
previous_month | The entire previous calendar month |
mtd | Month to date (1st of current month to now) |
Format Options
Each scheduled delivery can include:
| Option | Default | Description |
|---|---|---|
chart_image | false | Include a chart image in the email |
csv_attachment | false | Attach the report table data as a CSV file |
kpi_only | false | Send only the KPI summary (no table or chart) |
Monthly schedules use day 1--28 only. Day 29--31 are not supported to avoid inconsistencies across months.
Managing Schedules
Pausing and Resuming
You can pause a schedule without deleting it. A paused schedule retains all its settings but stops sending until resumed. When you resume a schedule, the next send time is recalculated based on the current date and the schedule's frequency.
Updating a Schedule
Any schedule setting can be updated individually -- you don't need to send the full configuration. Only the fields you include in the update request are changed. The next send time is automatically recalculated after every update.
Deleting a Schedule
Deleting a schedule is permanent. The report itself is not affected -- only the schedule is removed.
Sharing Reports
Generate a public link for any report. Anyone with the link can view the report data without logging in.
Creating a Share Link
When you create a share link, you specify how long it should be valid:
| Setting | Default | Range |
|---|---|---|
expires_in_days | 7 | 1--90 days |
The share link URL looks like: https://synapse-api.pyrx.tech/v1/reports/shared/{token}
The shared view shows the same KPIs, chart data, and table data as the original report. Viewers can optionally pass a date_range query parameter to change the time period (defaults to 30 days).
Revoking a Share Link
Revoking a share link immediately invalidates it. Anyone who visits the link after revocation will see a 404 error. You can create a new share link at any time after revoking.
Shared links expose report data without authentication. Only share reports that contain data appropriate for the audience. The link can be forwarded to anyone.
Expired Links
When a share link passes its expiration date, viewers see a 410 (Gone) response. The share token remains on the report record until you explicitly revoke it or create a new one.
Exporting Reports
CSV Export
Export the report's table data as a CSV file. The CSV includes all columns from the table view with headers matching the column names.
The export respects the date range you specify. If no date range is provided, it uses the report's default.
The file is named after the report: spaces are replaced with underscores and the name is lowercased. For example, "Email Performance Overview" becomes email_performance_overview.csv.
PDF Export
The PDF export generates a print-ready HTML page that opens with the browser's print dialog. It includes:
- Report name, description, and date range
- KPI summary cards with trend indicators
- Data table (limited to 100 rows for readability)
- Generation timestamp
For the best PDF output, use your browser's "Save as PDF" option in the print dialog. The page is styled specifically for print media with clean formatting.
Permissions
All report operations require the analytics:read permission. The following roles have this permission:
| Role | Can access reports |
|---|---|
| Owner | Yes |
| Admin | Yes |
| Developer | Yes |
| Marketing | Yes |
| Operations | Yes |
| Viewer | Yes |
Reports are workspace-scoped. All members with analytics:read can view workspace-visible reports. Private reports are only visible to the creator.