Paginated report subscriptions in Power BI are limited mainly by where the report lives, who receives it and how much data one delivery has to carry. The report must sit in a capacity-backed workspace. Dynamic per-recipient subscriptions are capped at 1,000 recipients and a 10-minute timeout, according to EPC Group's summary of Microsoft's documentation. Delivery also depends on recipient type, report design and who owns the subscription. This guide covers each limit, what happens when you reach it, and how to plan for high-volume delivery.
TL;DR
- Dynamic per-recipient subscriptions for paginated reports need a workspace backed by a capacity, a recipient semantic model and a Contributor, Member or Admin role, per Microsoft's documentation.
- One dynamic subscription can personalize delivery for up to 1,000 recipients, with a 10-minute timeout, so large audiences need to be split.
- Standard report subscriptions are tighter: up to 24 per report, with full-report attachments limited to 20 pages and under 25 MB.
- External recipients, group addresses, custom visuals and sensitivity labels each add their own conditions.
- When one subscription is not enough, you need a governed recipient table, split subscriptions or a dedicated delivery layer.
Table of Contents
- Two kinds of subscription, two sets of limits
- Prerequisites before a subscription can run
- The numbers that matter
- What else can stop or distort delivery
- What happens when you hit a limit
- Managing high-volume and personalized delivery
- A worked example
- Perspective
- Automating beyond native limits
- FAQ
- Sources
Two kinds of subscription, two sets of limits
People searching for "Power BI subscription limitations" are often mixing up two features that behave differently.
Standard subscriptions work on Power BI reports and dashboards. They send a snapshot, a link, or a full-report PDF or PowerPoint attachment on a schedule. EPC Group reports that these allow up to 24 subscriptions per report or dashboard, and that a full-report attachment is limited to 20 pages and under 25 MB.
Paginated report subscriptions attach the whole rendered output. The same source lists PDF, Excel, Word, PowerPoint, CSV and XML as the available attachment types. A paginated subscription can also vary parameters, so one report can produce different slices for different audiences.
The first limit you meet is therefore a design limit, not a number. A dashboard-style Power BI report was built for screens. A paginated report was built for print and export: invoices, statements, operational lists, anything with a fixed layout that runs to many pages. If you have been squeezing a long table into a standard subscription and hitting the 20-page ceiling, the paginated route is usually the right fix. It comes with its own prerequisites.
For a broader look at how the two compare, see our guide on Power BI report subscription limits and delivery options.
Prerequisites before a subscription can run
Capacity and workspace
Microsoft's documentation for dynamic per-recipient subscriptions lists the requirements: a paginated report with parameters, saved in a workspace backed by a capacity. That means Power BI Premium capacity, a Microsoft Fabric trial or a Fabric capacity. If your workspace sits on shared capacity, the feature is simply unavailable. No setting changes that.
The same page requires Build permission on a semantic model containing recipient email addresses and the parameter values for each recipient. It also requires a Contributor, Member or Admin role in the workspace. In practice, a report author with only Viewer access cannot set up delivery, and a subscription can break if the owner's role changes. For that reason, plan for auditing who owns which subscriptions.

External recipients
Almanac's knowledge base says that delivery to external email addresses requires a paid, non-PPU capacity workspace, and that Premium Per User and trial capacities suppress external delivery. If your finance team plans to send statements to customers or auditors, test with a real external address on production capacity before you promise a go-live date. A test with internal accounts proves very little.
Group addresses
The same source notes that subscriptions can target group email aliases such as distribution groups, dynamic distribution groups and mail-enabled security groups. Standard Microsoft 365 groups and plain security groups are not supported. If a subscription "works" for you but nobody on the team gets it, check what kind of group you used.
The numbers that matter
| Limit | Value | Applies to |
|---|---|---|
| Subscriptions per report or dashboard | Up to 24 | Standard subscriptions |
| Full-report attachment size | Under 25 MB | Standard subscriptions |
| Full-report attachment length | 20 pages | Standard subscriptions |
| Recipients per dynamic subscription | Up to 1,000 | Dynamic per-recipient, paginated |
| Dynamic subscription timeout | 10 minutes | Dynamic per-recipient, paginated |
All figures in this table come from EPC Group's write-up, which cites Microsoft Learn. Microsoft revises these limits as the service changes, so check Microsoft Learn for the current values before you size a project.
Two of these numbers deserve a closer look.
The 1,000-recipient cap sounds generous until you count a real distribution list. A company with 40 regions and 60 branches per region, each manager getting a personalized report, has 2,400 recipients. That is three dynamic subscriptions at minimum, and you will probably want more so a failure in one block does not hit everyone.
The 10-minute timeout applies to the whole run. If each personalized report takes several seconds to render because the query is heavy, a 1,000-person list may not finish. The practical answer is to make the report lighter: push filtering into the query, drop unused datasets and avoid report-level calculations that repeat per recipient. Alternatively, split the audience into smaller groups.
What else can stop or distort delivery
Custom visuals
Almanac notes that subscriptions to reports with uncertified custom visuals, or with visual types such as Power Apps or Visio, show an error symbol in the rendered output. The subscription itself still runs. The recipient just opens a PDF with a broken tile in it, and then your help desk hears about it.
Before you subscribe a report, render it once through the subscription path and review the actual attachment. If the visual matters, use a certified alternative or move that content to a different page. Our walkthrough on using custom visuals in Power BI reports covers the choices. Visual compatibility across BI tools is also a question when you are deciding on a platform at all, as in this Power BI and Tableau comparison.
Sensitivity labels
According to Almanac, sensitivity labels apply to the attached file but not to the email body or the embedded preview image. If your preview image shows confidential numbers, the label does not protect it. Keep the body of the email free of sensitive data and let the labeled attachment carry the content.
Freshness
A subscription runs on its schedule. It does not know whether the data behind it has finished refreshing. If your refresh runs late, the subscription sends yesterday's numbers with today's date on the email. This is a common complaint, and it is why people search for ways to send reports only when data is complete. Native subscriptions are time-based, so a freshness check needs something else to trigger it: a gating step, a flow or an automation layer with event triggers.
What happens when you hit a limit
There is no graceful degradation. In practice, the outcomes look like this:
- You cannot add the 25th subscription to a report. You have to consolidate or duplicate the report.
- An attachment is too large or too long. The delivery fails or the content is cut short. Reduce the page count, filter the data or switch to an Excel or CSV output.
- A dynamic run times out. Recipients near the end of the list may get nothing, and the owner has to work out who was missed.
- The owner leaves or loses a role. The subscription can stop working, and nobody notices until a report fails to arrive.
The common thread is that failures are quiet. You find out when a recipient writes in. That is the strongest argument for monitoring, whichever tool you use.
Managing high-volume and personalized delivery
Build a governed recipient table
EPC Group describes a recipient table owned by finance or operations rather than by the report author. We agree with this pattern. When business owners maintain who gets what, the BI team stops being the bottleneck for every new hire and every reorganization. A single-source-of-truth approach, as in this reporting checklist, keeps recipient data consistent across systems.
A good recipient table has one row per recipient and per report, with columns for email, parameter values, attachment type and an active flag. Keep a column for the owner of each row, so you can trace a wrong delivery back to a person.
Split by audience, not by report
If you must stay under 1,000 recipients per dynamic subscription, split by a natural business boundary such as region, division or customer tier. Resist splitting by alphabet or row number. The first approach lets you reason about failures and tell a regional director what happened. The second does not.
Map parameters carefully
Dynamic delivery only works when parameter values in your recipient model match the values the report expects. A single stray space or mismatched code produces an empty report for that person. See our guide on mapping parameters in dynamic subscriptions for paginated reports and the overview of dynamic subscription mapping, limits and delivery.
Choose the attachment on purpose
Paginated reports can produce several formats. Use PDF for fixed-layout documents people read or archive, and Excel when recipients will work with the numbers. If your team lives in spreadsheets, see how to set up Power BI subscriptions with Excel attachments. If you want the full report in a standard subscription email, attaching the full report as PDF or PowerPoint explains the options and their limits.
Inventory what you already have
Before adding more subscriptions, list the ones that exist. Our guide to listing Power BI subscriptions with the Admin API shows how an administrator can pull them in one pass. Orphaned subscriptions, duplicates and ones owned by departed staff are common, and cleaning them up can free headroom and cut noise.
A worked example
Suppose a distribution company sends a monthly statement to 2,400 customer contacts, plus a weekly operations summary to 150 internal managers.
- The statement is a multi-page paginated report with a customer parameter, so it goes on a capacity-backed workspace.
- Recipients live in a semantic model maintained by finance, with a column for region.
- Three dynamic subscriptions are created, one per region group, each under 1,000 recipients.
- The company confirms that external delivery works from the production capacity, using a test address outside the company.
- The weekly summary uses a standard subscription with a PDF attachment under the page and size limits.
- An owner is named for each subscription, and a monthly check compares sent counts with the recipient table.
None of this is exotic. It is what sizing against the limits looks like when done up front, and it is far cheaper than discovering them after a missed statement run.
Perspective
We talk to BI teams every week who hit these limits at the same moment: the first time a business unit asks for "the same report, but personalized, and only when the data is ready." Native subscriptions are a good start. They were not designed to be a delivery system for thousands of recipients with different filters, formats and deadlines.
Our view is that the question is not how to squeeze one more subscription out of the platform. It is whether delivery should be a separate, managed layer. PBRS for Power BI and SSRS is built for that layer: it schedules, personalizes, exports and delivers paginated and standard Power BI reports to licensed or external recipients, with data-driven schedules and event triggers rather than time alone. That means you can wait for a refresh to finish before anything goes out, and you do not have to split audiences into blocks just to fit a cap.
Whatever you choose, treat recipients as data, give every delivery an owner and watch for quiet failures. A report that nobody receives is a report that was never delivered.
Christian Ofori-Boateng
Automating beyond native limits
If your reporting has outgrown native subscriptions, PBRS from ChristianSteven is designed to take over the scheduling, personalization and delivery of Power BI paginated reports, with delivery to email, cloud storage, databases and collaboration tools. It is on-premises software, available under subscription or perpetual licensing, and you can start with a trial before you commit.

See how PBRS automates Power BI paginated report delivery, or explore the full range of ChristianSteven report automation products. For scheduling approaches in general, our practical guide to Power BI report scheduling is a good next step.
FAQ
Do paginated report subscriptions work on shared capacity?
No. Per Microsoft's documentation, dynamic per-recipient subscriptions need a report saved in a workspace backed by a capacity, such as Premium, a Fabric trial or Fabric capacity. If your workspace is on shared capacity, move it before you plan delivery.
How many recipients can one dynamic subscription handle?
Up to 1,000 recipients, with a 10-minute timeout, according to EPC Group's summary. For larger audiences, create several subscriptions split by a business boundary such as region, and keep each run light enough to finish in time.
Can I send a paginated report subscription to external email addresses?
Yes, but the workspace must be on a paid, non-PPU capacity. Almanac reports that PPU and trial capacities suppress delivery to external addresses. Test with a real external recipient before launch.
Can I send to a Microsoft 365 group?
Not a standard Microsoft 365 group or plain security group. Per Almanac, distribution groups, dynamic distribution groups and mail-enabled security groups work. Ask your Exchange administrator which type your group is.
Can a subscription wait until my data has refreshed?
Native subscriptions run on a schedule and do not check whether a refresh has finished. To send only on completion, you need a trigger outside the subscription itself, such as an event-driven automation tool. Our guide to Power BI subscriptions for enterprise reporting covers the options.
Sources
- EPC Group: how to automate Power BI report delivery
- Almanac: Power BI subscriptions and alerts
- Power BI vs Tableau comparison
- Single source of truth checklist for reporting
