Export and email a Power BI report with Power Automate
With Power Automate, you can automate exporting and distributing Power BI reports to a variety of formats and scenarios. In this article, you create your own flow from scratch. You use the Export to File for Power BI Reports action to automatically distribute a Power BI report via email.
To follow along, make sure you have:
- At least one workspace in your Power BI tenant backed by a reserved capacity. This capacity can be any of the A1/EM1 - A6/P3 SKUs. Read more about reserved capacities in Power BI Premium.
- Access to the standard connectors in Power Automate, which come with any Office 365 subscription.
Create a flow from scratch
In this task, you create a simple flow from scratch. The flow exports a Power BI report as a PDF, and attaches it to an email to be sent on a weekly basis.
Sign in to Power Automate (flow.microsoft.com).
Select Create > Scheduled cloud flow.
In Build a scheduled flow, give your flow a name.
In Run this flow, select the starting date and time for your flow, as well as the repetition frequency.
In On these days, select which days you want your flow to run, and select Create.
In Recurrence, select Edit > Show advanced options and enter a value in At these hours and At these minutes to set a specific time for your flow to run.
Select New Step.
In Choose an operation, search for Power BI and select Export to File for Power BI Reports.
In Export to File for Power BI Reports, select a Workspace and Report from the dropdowns.
Select the desired Export Format for your Power BI report.
Optionally, indicate specific pages to export in the Pages pageName -1 field. Note, the page name parameter is different from the display page name. You can find the page name by navigating to the page in the Power BI service, and copying the last portion of the URL, as shown in the example below.
Optionally, indicate a specific bookmark to display in the Bookmark Name field. You can find the bookmark name in the report URL after bookmarkGuid=, as shown in the example below. Note, only report bookmarks are supported, not personal bookmarks. You can specify additional parameters for the Power BI report. Find detailed descriptions of these parameters in the connector reference for the Power BI REST API.
Select New Step.
In Choose an operation, search for Outlook and select Send an email (V2).
In Send an email (V2), complete the To, Subject, and Body fields for your email.
Select Show advanced options. In Attachments Name – 1, enter a name for your attachment. Add a file extension to the file name (for example, .PDF) that matches your desired Export Format.
In Attachment Content, select File Content to attach your exported Power BI report.
When you're done, select Next step or Save. Power Automate creates and evaluates the flow, and lets you know if it finds errors.
If there are errors, select Edit flow to fix them. Otherwise, select the Back arrow to view the flow details and run the new flow. When you run the flow, Power Automate exports a Power BI report in the specified format and sends it as an email attachment as scheduled.
Row-level security in Power Automate
Optionally, if you want to send the report based on row-level security (RLS), you need to add the following details:
Identities Username - 1 = The effective username reflected by a token for applying RLS rules. For an on-premises model, username can be composed of alpha-numerical characters, or any of the following characters:
'.', '-', '_', '!', '#', '^', '~', '\', and '@'. For cloud models, username can be composed of all ASCII characters. Also, username can be up to 256 characters, and can't contain spaces.
Identities Dataset - 1 = You can get this value by going to the settings of the dataset, and then copying the dataset ID from the address bar, as shown in this example and in the following image:
Identities Roles Item - 1 = RLS name defined in the report