Scheduled Reports
Send dashboards and cards by email or Slack on a schedule, as PDF or CSV attachments, with every table row and a plain note for anything left out
A scheduled report sends a dashboard, a sheet or individual cards to the people you choose, on the schedule you set. Each send runs the cards' queries fresh, renders the attachments and delivers them by email or Slack, in your organization's email branding.
To set one up, open a dashboard and choose Schedule email report from the dashboard menu. Add the attachments you want, pick the recipients and the schedule, and save.
Attachments
| Attachment | Formats |
|---|---|
| Full dashboard | PDF, every sheet in order |
| One sheet or Document sheet | |
| One card | PDF or CSV (CSV for tables and Matrix cards) |
A PDF attachment's settings let you choose the page size, the orientation and whether the PDF prints its filter line (Include filters). Every PDF prints its timestamp and footer.
The filters each attachment runs with
An attachment keeps the dashboard's filters from the moment you added it, and every send uses them. The schedule dialog shows them under the attachments, so you know what the report will send:
- One line when every attachment saved the same filters, for example
Filters: City: Chicago | Order Date: Last 7 days. - One line per attachment (under Filters by attachment) when they differ, for example when you added one attachment before changing the dashboard's filters and another after.
- No filters when an attachment saved none.
A relative date reads as its label ("Last 7 days"), because each send works out the dates on its own day. A schedule you open later still shows the filters it was saved with, even if the dashboard now shows different ones. The line appears even when Include filters is off: that switch only hides the line printed in the PDF, and the filters still apply.
To change an attachment's filters, remove it, set the dashboard's filters the way you want them, and add it again.
Tables in PDFs
A table card sent as a PDF prints every row, across as many pages as it needs, with the column headers repeated on each page and the report title at the top. This is the same PDF you get from Download PDF on the card.
A PDF holds up to 5,000 rows. A row limit you set on the card counts as the whole table: a "Top 100" card sends its 100 rows. A table that is reshaped before it is shown, by a Python step or a pivot, is measured on the rows it was built from, so a summary of 20,000 rows is never sent as if it were complete.
When a table has more rows than a PDF can hold, it is left out of that send with a note (see below). Switch that attachment to CSV to receive every row; CSV attachments follow the same CSV standard as downloads.
When an attachment can't be sent
If one attachment can't be produced, the rest of the report still goes out. The email lists each missing attachment with one plain line, in the message and in its plain-text version:
| Why | What recipients read |
|---|---|
| A table has more than 5,000 rows | Open Jobs (PDF) isn't attached: it has more than 5,000 rows, more than a PDF can hold. Switch this attachment to CSV to receive every row. |
| A table's size couldn't be confirmed | Open Jobs (PDF) isn't attached: it couldn't be confirmed complete when this report was sent. Switch this attachment to CSV to receive every row. |
| A PDF is too large (pages or file size) | Open Jobs (PDF) isn't attached: it's too large for a PDF. Switch this attachment to CSV to receive all of it. |
| A card's data couldn't be loaded | Open Jobs isn't attached: its data couldn't be loaded when this report was sent. |
| A card or page didn't finish loading | Open Jobs isn't attached: it didn't finish loading in time. |
| A large CSV export didn't complete | Open Jobs (CSV) isn't attached: the export couldn't be completed when this report was sent. |
| Anything else, such as downloads turned off for the card since you scheduled it | Open Jobs isn't attached: it couldn't be prepared when this report was sent. |
A card attachment whose data couldn't be loaded is left out instead of being sent as an error card. In a dashboard or sheet attachment, a card that couldn't load shows its error message, as it does on screen, and the rest of the dashboard is sent. A slow card gets up to two minutes to finish loading. A card attachment still loading after that is left out rather than sent half drawn; in a dashboard or sheet attachment, the rest of the dashboard is sent. The lines never quote database or system messages.
When every attachment is left out, the email still goes out with your message and the lines, so recipients know the report ran. A report sent to Slack shows the same lines in its thread.
What you see in run history
The schedule's latest run reads Sent · 1 attachment left out (or the number left out), and lists each missing attachment with the line recipients read and a short technical detail for you. Use it to fix the card or switch the attachment to CSV before the next send.
When nothing is sent
A run stops without sending anything only when the report as a whole can't go out: the schedule's owner no longer has access to the project or to a dashboard the schedule uses, the run was cancelled, or the report's setup is broken. The run shows as failed with the reason.
Interactive downloads are unchanged
Download PDF on a card or dashboard works as before. A card whose query fails still prints its error message there, so you can see what went wrong while you work on it.