Scheduled reports in BI tools: how automated report delivery works
Max Musing
Max MusingFounder and CEO of Basedash
· June 20, 2026

Max Musing
Max MusingFounder and CEO of Basedash
· June 20, 2026

A scheduled report is a saved report or dashboard that a BI tool runs on a recurring schedule and delivers to people automatically, usually by email or Slack, without anyone opening the tool. Scheduled delivery extends a report’s reach, because most people who need a number will never log into a dashboard but will read an email at 8am or glance at a Slack message. A schedule turns a dashboard that a few analysts visit into a report that a whole team receives.
This guide explains what a scheduled report is (and how it differs from a live dashboard and an alert), how automated delivery works step by step, the parts that tend to break unnoticed, and how the major BI tools handle scheduling. It focuses on capabilities. For a ranked list of tools, see our comparison of automated reporting tools.
The three recurring-data patterns get blurred together, but they answer different questions.
| Pattern | Question it answers | Trigger | Best for |
|---|---|---|---|
| Scheduled report | “What do the numbers look like right now, on a routine?” | A clock (cron) | Recurring reach: morning metrics, weekly summaries, monthly board packs |
| Alert | “Did something cross a line I care about?” | A data condition | Exceptions: revenue drop, error spike, churn threshold |
| Live dashboard | “Let me dig into this myself” | A person opening it | Investigation and ad hoc follow-up questions |
A scheduled report is time-triggered: it fires whether or not anything changed. An alert is condition-triggered: it fires only when a metric crosses a threshold or an anomaly model flags it. A live dashboard is person-triggered: nothing happens until someone opens it.
As a rule, schedule the things people should see on a cadence regardless of whether they are interesting, alert on the things people should never miss, and keep a live dashboard for the follow-up questions both of those will provoke. A daily email for every metric trains people to ignore those emails. For the exception side of this, see our overview of anomaly detection and smart alerting.
Every scheduled report runs the same four-stage pipeline, even though tools name the stages differently.
A scheduler decides when the report runs. Most tools expose this as a friendly picker (“every weekday at 8:00am”) backed by cron under the hood. Two details matter more than people expect:
When the schedule fires, the report needs current data, so scheduling depends on your refresh strategy. There are two models:
If your dashboard reads a cached extract that refreshes at 7:00am and your report sends at 7:00am, you have a race. The report can grab yesterday’s numbers because the refresh has not finished. Stagger the two: refresh first, send with a buffer.
The query results get turned into something deliverable. Common formats and when each fits:
A frequent mistake is sending a static PDF to someone who needed the rows, or a 50,000-row CSV to someone who only wanted the headline number.
Finally the rendered report is pushed somewhere. The usual channels:
For routine reporting, push beats pull: once a report is scheduled, you no longer rely on people remembering to look.
Report bursting (sometimes called “data-driven delivery”) is the capability that separates a basic scheduler from a full reporting system. Instead of building one report per recipient, you build a single report and the tool sends each recipient a version filtered to only their data.
From one report definition, a regional sales lead gets only their region, a customer gets only their own account, and an account manager gets only their book of business.
Bursting only works when the filtering is enforced at the data layer instead of bolted on at send time. It uses the same machinery as row-level security in a permission model: the report inherits each recipient’s row-level filter, runs once per recipient (or once with a per-recipient parameter), and delivers the filtered slice. If a tool offers scheduling but no row-level filtering, “personalized” reports mean building and maintaining one report per person, which does not scale past a handful of recipients.
Scheduled reports fail in ways that are hard to notice, because they run unattended. These are the recurring problems.
Capabilities vary widely. The table compares the features that determine whether a tool can do what you need.
| Tool | Native channels | Report bursting / per-recipient filtering | Formats | Notes |
|---|---|---|---|---|
| Basedash | Email, Slack | Via row-level access controls | Link, image, table | AI-assisted; schedules tied to workspace permissions |
| Power BI | Email (subscriptions), Teams | Yes, via data-driven subscriptions (Premium) | PDF, image, link | Paginated reports add SFTP and file delivery |
| Tableau | Email (subscriptions) | Limited; Data-Driven Alerts are separate | Image, PDF, link | Subscriptions push the view; bursting needs workarounds |
| Looker | Email, Slack, webhook, S3/GCS, SFTP | Yes, via “send as” with user attributes | CSV, Excel, PDF, PNG, JSON | Strong delivery options including cloud storage |
| Metabase | Email, Slack | Filtered by saved parameters, not true bursting | CSV, Excel, PDF (dashboard) | “Dashboard subscriptions” cover most needs |
| Sigma | Email, Slack, webhook | Yes, via row-level security on the schedule | PDF, CSV, Excel | Filters can be passed per recipient |
Channels and formats change, so confirm against each vendor’s current documentation before you rely on a specific capability, especially when bursting or cloud-storage delivery is a hard requirement.
Run through this list before you turn a schedule on. Broken reports usually skipped at least one item.
Use a scheduled report when the cadence matters most: a recurring summary that people should see whether or not it changed, like a Monday pipeline review, a daily ops snapshot, or a monthly board pack.
Use an alert when only the exception matters: instead of a daily “revenue is fine” email, you get a message the moment revenue drops below plan.
Use neither, and keep a live dashboard, when the data is consulted irregularly and only by people who will open the tool anyway. Scheduling reports people didn’t ask for is the most common way to create noise.
They are usually the same thing. “Dashboard subscription” is the term Power BI, Tableau, and Metabase use for subscribing a person or group to a recurring delivery of a dashboard. “Scheduled report” is the more generic term. Both run on a schedule and push output to a channel.
Match the cadence to the decision, not to the data. A report that drives a daily standup should arrive daily before the standup. A board metric can be monthly. Sending more often than the underlying decision is made adds noise and, with live queries, warehouse cost.
Yes, if the tool supports report bursting or data-driven delivery backed by row-level filtering. One report definition is filtered per recipient so each person sees only their slice. Without row-level filtering, you are stuck building a separate report per recipient.
The two usual causes are a timing race (the report fired before the data refresh finished) and a broken upstream query that returns no rows but does not error. Sequence the refresh before the send with a buffer, and add a non-empty guard so a broken report fails loudly instead of sending blanks.
Send a PDF or image when layout matters and the recipient will read, not re-analyze. Send a CSV or Excel file when they will pivot or model the rows themselves. Send a link when they may want to drill into the live dashboard and you want the data always current.
Basedash is a modern BI tool where teams query databases, build dashboards with AI assistance, and schedule those dashboards to email and Slack on a recurring basis, with delivery scoped by the same workspace permissions and access controls that govern who can see what. For a lean team that wants recurring reports in front of people without standing up a separate reporting stack, scheduling sits next to the dashboard rather than in a separate admin console. As with any tool, weigh it against the capabilities above, especially the format and bursting needs specific to your audience.
Written by

Founder and CEO of Basedash
Max Musing is the founder and CEO of Basedash, an AI-native business intelligence platform designed to help teams explore analytics and build dashboards without writing SQL. His work focuses on applying large language models to structured data systems, improving query reliability, and building governed analytics workflows for production environments.
Basedash lets you build charts, dashboards, and reports in seconds using all your data.