Scheduled Reports
Send dashboards and cards by email or Slack on a schedule, as PDF, CSV or Excel 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 | PDF, or a PNG image of the whole sheet |
| Document sheet | |
| One card | PDF, PNG image or CSV; Table, Detail Table and Matrix cards also as Excel |
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. CSV and Excel attachments follow the CSV and Excel download formats.
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. It has the same content and the same limits as Download PDF on the card.
A PDF holds up to 5,000 rows per table and 300 pages (see Export limits). 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 or Excel to receive every row.
Tables as CSV or Excel
A Table or Detail Table attachment in CSV or Excel holds every row of the card, up to 1,000,000 rows, with the filters the attachment saved, worked out on the day of each send. Each send counts the card's rows first, then exports the table in parts in the background, as Export full dataset does, and attaches the file once every part is done. The file is the same one a full-dataset download of the card gives you.
When a card's SQL has a Python step, the step runs on each part of the table as it is exported, as it does for a full-dataset download. Steps that work row by row, such as trimming text, converting types, filling in empty values or removing rows, give the same file as one run over the whole table. A step that looks at the whole table at once, such as removing duplicates across it, ranking, adding totals or sorting, works on each part on its own, so build those into the SQL or the card instead.
A table that compares its metrics with an earlier period or a target is sent as CSV, the way the dashboard shows it.
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 has more than 300 pages | Monthly Statement (PDF) isn't attached: it has more than 300 pages, more than a PDF can hold. Narrow it with a filter. |
| A sheet in a Full dashboard PDF has more than 300 pages | Full dashboard (PDF) isn't attached: a sheet in it has more than 300 pages, more than a PDF can hold. Narrow it with a filter. |
| A card's PDF is too large | Open Jobs (PDF) isn't attached: it's too large for a PDF. Switch this attachment to CSV to receive all of it. |
| A dashboard or sheet PDF is too large, or too long to print as one page | Overview (PDF) isn't attached: it's too large for a PDF. Narrow it with a filter. |
| A sheet is too tall for one image | Overview (PNG image) isn't attached: the sheet is too tall for one image. Switch this attachment to PDF. |
| A table in a Document has more rows than a report prints | Monthly Statement (PDF) isn't attached: a table in it has more rows than a report can print. Narrow it with a filter. |
| Part of a Document doesn't fit on its page | Monthly Statement (PDF) isn't attached: part of it doesn't fit on its page. Open the report to see which page. |
| A Document section isn't set up to print | Monthly Statement (PDF) isn't attached: a section in it isn't set up to print. Open the report and check its sections. |
| A Document needs input values that weren't set | Monthly Statement (PDF) isn't attached: it needs input values that weren't set when this report was sent. Open the report, set them and save it. |
| The report's saved formatting no longer fits the dashboard | Full dashboard (PDF) isn't attached: the report's saved formatting doesn't match the dashboard. Open the report and save it again. |
| 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 or Excel export didn't complete | Open Jobs (CSV) isn't attached: the export couldn't be completed when this report was sent. |
| A table has more than 1,000,000 rows | Open Jobs (CSV) isn't attached: it has more than 1,000,000 rows. Narrow it with a filter. |
| A table has more columns than Excel can hold | Open Jobs (Excel) isn't attached: it has more columns than Excel can hold. Switch this attachment to CSV. |
| A table's row count couldn't be read | Open Jobs (Excel) isn't attached: its size couldn't be confirmed. It will be tried again on the next run. |
| A table has no rows for this send | Open Jobs (CSV) isn't attached: it has no rows for this run. |
| 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's format 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.