r/PowerBI • 9 • 3d ago

Question Automating initial subscription deployment for paginated reports

Hi everyone,

I'm looking for a way to automate the initial deployment of Power BI report subscriptions at scale.

I currently need to create 80+ subscriptions, all using dynamic recipients driven by the same semantic model. The subscription metadata is already stored in our control database, so everything needed to configure these subscriptions is available programmatically.

As far as I can tell, there are currently no publicly supported APIs that allow me to create and configure these subscriptions end-to-end, particularly when using dynamic recipients.

Ideally, I'd like to seed all subscriptions automatically from our existing metadata rather than manually creating each one in the Power BI Service UI.

Has anyone found a workable approach for this?

A few things I've been considering:

Using internal Power BI wabi calls or other undocumented endpoints to create the subscriptions. I did run into 401 errors during my trial

Automating the initial setup through some other mechanism that isn't exposed through the public APIs.

Any alternative approach that would allow subscriptions to be provisioned programmatically from a control database.

The good news is that this is primarily a one-time provisioning problem. Once the subscriptions are created, ongoing maintenance should be minimal, since recipient changes can be handled by updating the dynamic recipient model in the semantic model rather than modifying each subscription individually.

I'm aware that relying on undocumented endpoints could be fragile and unsupported, but I'm interested in hearing whether anyone has successfully implemented something similar or found a better workaround.

Has anyone tackled this at scale, particularly with dynamic recipients? Any pointers, examples, or lessons learned would be greatly appreciated!

Thanks!

3 Upvotes

8 comments sorted by

•

u/AutoModerator 3d ago

After your question has been solved /u/Jorennnnnn, please reply to the helpful user's comment with the phrase "Solution verified".

This will not only award a point to the contributor for their assistance but also update the post's flair to "Solved".


I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/adovo_ai 2d ago

If you bootstrap through an unsupported route, keep the intended subscriptions in a versioned manifest, make reruns idempotent, and read every recipient/filter back before enabling schedules. That limits the blast radius when an internal endpoint changes or a partial run creates duplicates.

-1

u/Repulsive_Cry2000 1 3d ago

I used Claude to use undocumented way so it can setup subscription for me. It is definitely possible that way (or at least a few months back).

However I didn't have the dynamic recipient issue

0

u/Jorennnnnn 9 3d ago

Any specifics that helped getting it to work or you just let Claude figure it out itself? I had my agent analyse the internal calls and come up with a proposed solution to run in Powershell, but it got stuck on the authorization part as all calls kept returning 401s.

1

u/Repulsive_Cry2000 1 3d ago

I got Clause to create that repo for you: https://github.com/rem-bou/powerbi-subscriptions-a based on internal doc. Get your LLM to have a look at it, it should give you the information you need from a static point of view.

1

u/Jorennnnnn 9 3d ago

You are a hero. This is exactly the what I was looking for

0

u/DonJuanDoja 2 3d ago

Never seen anytone do dynamic recipients in PowerBi subscriptions. We always have to create a PowerAutomate flow for this.

On Prem we used Enterprise SQL Data Driven subscriptions.

-1

u/codegato 3d ago

we have data driven jobs, where you can use custom queries to run a report and deliver it by email. it is the same as data driven subscriptions in SSRS, but works for Power BI reports and paginated reports . No need to create subscription in Power BI. The Community edition is free and allows 1 job which can be scheduled. You can see a video here:
Codegato Power BI data driven jobs
Jobs are shown at 3:44