Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
ForTheQuestions
New Member

Subscriptions: Programmatically creating subscriptions

Does anyone know a way to programmatically create subscriptions? We already have the azure groups we just don't want to have to go through and create all the (50-100) subscriptions if there is a way to automate this. 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @ForTheQuestions ,

Base on my research, I didn't find a suitable way to programmatically create subscriptions. You can try using the method in the link below as a workaround to create a subscription.

1. Power Bi subscriptions by Powershell

You cannot programmatically trigger e-mail subscriptions. They are running according their schedule. But you can use Export to File API to export the report to a PDF file (or some other supported file type) and send it to someone. This means that the workspace must be attached to a dedicated capacity (Power BI Premium P SKU, Power BI Premium EM SKU or Power BI Embedded A SKU, and probably Premium per user) and you should maintain the list of "subscribers" on your own.

Here is some PowerShell code, which uses Power BI Management CmdLets, which will export a report to PDF and send it by e-mail. You need to edit the parameters in the beginning of the code, like report ID, workspace ID, credentials, recipients, etc.

#############################################################
# Install-Module -Name MicrosoftPowerBIMgmt
# Install-Module -Name MicrosoftPowerBIMgmt -Scope CurrentUser
#############################################################
Import-Module MicrosoftPowerBIMgmt
....
#############################################################
# E-mail settings
#############################################################
$emailSmtpServer = "smtp.office365.com"
$emailSmtpServerPort = 587
$emailTo = $username
$emailSubject = "Here is your report"
$emailBodyHtml = "Please find <b>your report</b> attached here."
$emailUser = "account@example.com"
$emailPassword = "SuperStrongPassword"
$emailFrom = $emailUser
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
Connect-PowerBIServiceAccount -Credential $credential
$settings = @{ includeHiddenPages = $false; locale = "en-us" }
$powerBIReportConfiguration = @{ settings = $settings }
$export_body = @{ format = $format; powerBIReportConfiguration = $powerBIReportConfiguration }
#'{
#  format: "$format",
#  powerBIReportConfiguration: { settings: { includeHiddenPages: false, locale: "en-us" } }
#}'
.....

2. PowerAutomate

Export and email a Power BI report with Power Automate

Schedule, Export and Email Power BI Reports using Power Automate

yingyinr_0-1647248497961.png

Best Regards

View solution in original post

1 REPLY 1
Anonymous
Not applicable

Hi @ForTheQuestions ,

Base on my research, I didn't find a suitable way to programmatically create subscriptions. You can try using the method in the link below as a workaround to create a subscription.

1. Power Bi subscriptions by Powershell

You cannot programmatically trigger e-mail subscriptions. They are running according their schedule. But you can use Export to File API to export the report to a PDF file (or some other supported file type) and send it to someone. This means that the workspace must be attached to a dedicated capacity (Power BI Premium P SKU, Power BI Premium EM SKU or Power BI Embedded A SKU, and probably Premium per user) and you should maintain the list of "subscribers" on your own.

Here is some PowerShell code, which uses Power BI Management CmdLets, which will export a report to PDF and send it by e-mail. You need to edit the parameters in the beginning of the code, like report ID, workspace ID, credentials, recipients, etc.

#############################################################
# Install-Module -Name MicrosoftPowerBIMgmt
# Install-Module -Name MicrosoftPowerBIMgmt -Scope CurrentUser
#############################################################
Import-Module MicrosoftPowerBIMgmt
....
#############################################################
# E-mail settings
#############################################################
$emailSmtpServer = "smtp.office365.com"
$emailSmtpServerPort = 587
$emailTo = $username
$emailSubject = "Here is your report"
$emailBodyHtml = "Please find <b>your report</b> attached here."
$emailUser = "account@example.com"
$emailPassword = "SuperStrongPassword"
$emailFrom = $emailUser
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
Connect-PowerBIServiceAccount -Credential $credential
$settings = @{ includeHiddenPages = $false; locale = "en-us" }
$powerBIReportConfiguration = @{ settings = $settings }
$export_body = @{ format = $format; powerBIReportConfiguration = $powerBIReportConfiguration }
#'{
#  format: "$format",
#  powerBIReportConfiguration: { settings: { includeHiddenPages: false, locale: "en-us" } }
#}'
.....

2. PowerAutomate

Export and email a Power BI report with Power Automate

Schedule, Export and Email Power BI Reports using Power Automate

yingyinr_0-1647248497961.png

Best Regards

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.