Forum Discussion
Title: Dynamic subscription sends extra report emails when a link-only subscription is added.
Description
I’m seeing unexpected behavior with dynamic per-recipient subscriptions in Power BI Service. The moment I add a link-only dynamic subscription for one report, users start receiving emails for other reports that were not scheduled at that time. This did not happen before we introduced the link-only subscription.
Environment
Power BI Service (Fabric/Premium capacity workspace).
Dynamic per-recipient subscriptions.
One shared recipient dataset (CSV/semantic model) used by multiple subscriptions.
Reports involved: “Report A”, “Report B”, “Report C”.
RLS is configured and works as expected when users open reports.
Recipient dataset columns include: IsLiveSubscription, ReportName, Frequency, Day, Time, DateRange, LocationName, IsToday, EmailSubject, RecipientEmail.
Subscriptions configured
Report A: dynamic filter ON, attachment = PDF, “link to report” OFF.
Report B: dynamic filter ON, attachment = PDF, “link to report” OFF.
Report C: dynamic filter NONE, attachment = None (link-only), “link to report” ON.
All three subscriptions reference the same recipient dataset.
Expected behavior
When the Report C schedule runs, only Report C should send an email containing the Power BI link to the recipients that match Report C rows in the recipient dataset. Report A and Report B should only send emails at their own scheduled times.
Actual behavior
When the Report C schedule runs, users receive multiple emails: one for Report C (as expected), but also emails for Report A and/or Report B (unexpected), even though those subscriptions were not scheduled for that time. If I disable the Report C subscription, the problem stops. If I separate the recipient datasets so that each report has its own dedicated recipient dataset, the problem also stops.
What I’ve already tested
If I keep only PDF-based dynamic subscriptions (Report A, Report B) and remove the link-only subscription (Report C), each subscription behaves correctly and only sends at its own scheduled time.
The issue appears only after adding the link-only dynamic subscription that uses the same recipient dataset.
If I move to separate recipient datasets (one dataset per report), the issue disappears entirely.
Filtering the subscription data to ReportName = “Report C” is already applied inside the Report C subscription; dynamic filter is set to None; attachment is None; link to report is ON. The overlap still occurs while the recipient dataset is shared.
RLS is functioning correctly when users open links; this is not an access/RLS problem.
Is it expected (by design) that dynamic subscriptions sharing the same recipient dataset can be evaluated and sent together when one of them runs, particularly when a link-only subscription is involved?
Is there official guidance or documentation that explains this dataset-scoped evaluation behavior for dynamic subscriptions?
Apart from separating recipient datasets per report, are there recommended best practices to prevent cross-triggering when mixing PDF (dynamic filter ON) and link-only (dynamic filter NONE) subscriptions?
Is there a roadmap item to allow link-only subscriptions to respect schedules without evaluating other subscriptions tied to the same recipient dataset?
10 Replies
- tayloramySuper User
Hi VishalSharma-71,
I think you're running into a side effect of sharing one recipient semantic model across multiple dynamic subscriptions. This behaviour is consistent, but seems really buggy to me nonetheless.
When any subscription runs, Power BI evaluates the recipient model you selected in that subscription and uses its columns to decide who gets an email, what the subject is, and whether to attach a PDF or send a link. The product docs show that behavior (email details, attachment selection, and the “Link to report in Power BI” toggle are all driven from the same recipient model), but they do not guarantee isolation by report if the same model feeds multiple subscriptions (docs, see “Email details” and “Considerations and limitations”). The same pattern exists for paginated reports (docs).
SOme options I would try:
- Give each report its own recipient table/view (or its own semantic model).
- Or, keep one model but partition it logically and hard-scope each subscription to a unique slice in the wizard’s Select and filter data step (not only in “Map your data,” and not only by turning dynamic filters on/off).
If you want to keep a single shared model, I recommend:
- Add a column like SubscriptionKey (e.g., ReportA, ReportB, ReportC) and filter on that in the subscription’s Select and filter data step.
- Avoid using a single row set where AttachmentType, EmailSubject, etc. differ across reports without also scoping by SubscriptionKey.
- Prefer a dedicated table or view per report inside the same model (e.g., Recipients_ReportA, Recipients_ReportB) so each subscription points at its own table in the Select and filter data step.
Answers to your specific questions
- Is this expected by design? There is no explicit doc stating runs are isolated by report when sharing a recipient model. Practically, evaluation is model-scoped for the subscription that runs, so rows not strictly filtered out can be picked up. So the behavior is explainable and avoidable, but not clearly documented as “by design.”
- Official guidance or docs? The docs cover how the recipient model drives recipients, subjects, and attachments and how the Link to report toggle works, but they do not describe cross-triggering behavior. See: Dynamic per recipient subscriptions for reports.
- Best practices to prevent cross-triggering (without splitting models):
- Add a SubscriptionKey column and filter to it in Select and filter data.
- Use distinct tables or views per report inside the same model and select the right table during setup.
- Keep attachment/link-only settings consistent within each key.
- Roadmap for link-only respecting schedules without touching other rows: Nothing public in docs at the moment. For tenant-specific confirmation, open a Microsoft support ticket and include your Cluster URI and recent Activity IDs from the email headers.
If you found this helpful, consider giving some Kudos. If I answered your question or solved your problem, mark this post as the solution.
- VishalSharma-71Regular Visitor
Hi tayloramy,
Thank you for the detailed explanation and the alternate solutions. I just need one clarification as my current recipient CSV file already includes the following columns IsLiveSubscription, Reportname, Frequency, Day, Time, DateRange, Location Name, IsToday, EmailSubject and Recipientemail. Each report name and it related details are already separated within this file.
However this issue occurs only when I configure the subscription to send only the link no attachment or PDF, all other dynamic subscription that send PDF attachments are working correctly. could you please share some insights on why this behavior happens only for link only subscription.- d_m_LNKSuper User
I totally agree with tayloramy -- if your CSV is used for multiple reports it is most likely the mapping you are using when you set up your subscription that is causing the issue. Not sure the difference between the PDF and the link options and why that would change but the root of the issue seems to be the shared CSV for mulitple subscriptions that opens you up to this happening and how you are mapping the emails and reports.
- VishalSharma-71Regular Visitor
Hi tayloramy ,
Thank you for the detailed explanation and the alternate solutions. I just need one clarification. My current recipient CSV already includes the following columns: IsLiveSubscription, ReportName, Frequency, Day, Time, DateRange, LocationName, IsToday, EmailSubject, and RecipientEmail. Each report name and its related details are already separated within this file.However, this issue occurs only when I configure the subscription to send only the link (no attachment or PDF). All other dynamic subscriptions that send PDF attachments are working correctly. Could you please share some insights on why this behavior happens only for link-only subscriptions?
Thank you.
- v-hjannapuCommunity Support
Hello VishalSharma-71,
Thank you for reaching out to the Microsoft fabric community forum.
I would also take a moment to thank tayloramy , d_m_LNK for actively participating in the community forum and for the solutions you have been sharing in the community forum. Your contributions make a real difference.
This issue seems to happen only with the link-only subscription because of how Power BI processes it in the backend.When it’s a link-only type (no PDF), Power BI checks the full recipient dataset instead of picking just the rows for that one report, so it ends up sending emails for other reports also.
Since this doesn’t happen with PDF subscriptions, it looks like a product-side behavior or limitation. I would suggest raising a support ticket with Microsoft Support so the team can check it deeper with your cluster and activity details.
Please refer below link on how to raise a contact support or support ticket.
How to create a Fabric and Power BI Support ticket - Power BI | Microsoft Learn
Regards,
Community Support Team.- v-hjannapuCommunity Support
Hi VishalSharma-71,
May we know if the support team was able to resolve your issue?
If a solution was provided, please consider sharing it with the community to help members facing similar challenges.
Thank you for your participation and cooperation.
- VishalSharma-71Regular Visitor
Hi All, thankyou for providing different approaches but not sure why this is not working and even I connected with the microsoft, they are also not sure about it. So for that particular report where i am faced the issue that one i switched back to Standard Subscription and that is working fine.
- v-hjannapuCommunity Support
Hi VishalSharma-71,
I'm glad to hear that you found a solution and resolved the query. Please consider sharing your solution and marking your reply as the accepted answer to help others in the community find it easily.
Regards,
Community Support Team.
- Poojara_D12Super User
The behavior you’re observing with dynamic per-recipient subscriptions in Power BI Service — where running a link-only subscription triggers unexpected emails from other reports sharing the same recipient dataset — is not officially documented but appears to stem from the way Power BI currently handles shared recipient dataset evaluations across multiple dynamic subscriptions. When multiple subscriptions (like your Reports A, B, and C) reference the same recipient dataset, Power BI treats that dataset as a shared evaluation context at runtime. In practice, when one subscription runs — especially a link-only one without a dynamic filter or attachment — the service can re-evaluate the full dataset for all linked subscriptions rather than isolating only the rows related to the scheduled report. This behavior effectively causes cross-triggering, where other subscriptions using the same dataset are included in the evaluation pipeline, leading to additional unintended emails.
This is not clearly stated in Microsoft’s current documentation, and as of now, there’s no public roadmap feature addressing this overlap. However, your findings — that isolating each report with its own dedicated recipient dataset prevents the issue — align with what appears to be the current best practice: avoid sharing the same recipient dataset across mixed subscription types (especially between PDF and link-only formats). Each subscription should ideally have its own recipient source to maintain isolation and prevent shared evaluations.
This cross-triggering seems to be a by-design limitation of how Power BI batches dynamic subscription evaluations when a shared dataset is used. Until Microsoft introduces finer control or isolation logic in the dynamic subscription engine, the recommended workaround is to separate recipient datasets per report or ensure that all subscriptions referencing a shared dataset use the same delivery type (e.g., all PDFs or all link-only). This prevents Power BI from reprocessing the dataset globally and sending unintended notifications during mixed-type schedule runs.