Automatically E-mail Power BI Dashboard Screenshots Using Power Automate

Keeping people up to date with dashboards and reports sounds simple, but it rarely works that way in practice. Someone has to remember to open the report, navigate to the right page, and figure out what matters. For busy stakeholders, that first step often gets skipped.

A better approach is to bring the data to them automatically. For many organizations, e-mail is still a simple and reliable way to deliver that information.

With Microsoft Power Automate and Power BI, report snapshots can be sent on a schedule. Once set up, stakeholders receive the right view of the data at the right time without needing to log in.

This article shows how to automatically e-mail a Power BI report page screenshot using Power Automate. No custom code or third-party services are required.

Solution Overview

At a high level, the process works as follows:

Prerequisites

Before beginning, confirm that the environment supports this solution.

  1. A workspace backed by dedicated Premium or Fabric capacity. The Export To File for Power BI Reports feature used in this solution relies on the exportToFile API, which requires a workspace on dedicated Premium or Fabric capacity. Pro and Premium Per User (PPU) workspaces are not supported and will return a FeatureNotAvailableError or similar error.
  2. Access to Microsoft Power Automate. Power Automate is used to schedule the flow, export the report, and send the e-mail.
  3. A report published to a workspace (not My Workspace). The Power BI connector in Power Automate can only access reports published to a shared or team workspace. Reports stored in My Workspace are not accessible. If the report currently resides there, move it to a workspace before proceeding.
  4. An Outlook or Exchange mailbox connected to Power Automate. E-mails are sent through the Office 365 Outlook connector, which authenticates using the connected Microsoft 365 account.

A Note on Image Cropping

When Power BI exports a report page, it captures everything visible on that page as-is. This includes navigation buttons, filter panels, Slicer controls, and any other UI elements the report contains. There is no built-in crop option in the export action, and Power Automate has no image editing capabilities.

To control what appears in the exported image (without creating a version specifically for the export), visibility must be handled at the report level before the export runs. The way to do this is with Power BI bookmarks. A bookmark saves the state of a report page, including which elements are visible and which are hidden. By referencing a bookmark during export, Power BI renders the page in that saved state, producing a focused output without the unwanted report elements.

Instructions

Step 1: Create a Bookmark for a Clean Screenshot

NOTE: This step is optional but recommended for a polished result.

  1. Open the report in Power BI Desktop.
Screenshot of the default report page appearance in Power BI Desktop.
Power BI Desktop: Default Report Page Appearance
  1. From the View tab, open the Selection pane. This pane lists every object on the page, including visuals, buttons, shapes, and text boxes.

  2. Hide any elements not needed in the screenshot by clicking the eye icon next to each one.

    In this example, the Table visual is hidden. Common elements to hide include:

    • Filter and Slicer panels.
    • Navigation buttons or bookmark bars.
    • Page title text boxes.
    • Decorative background shapes or logos.
Screenshot of the report page appearance after hiding the table object in Power BI Desktop.
Power BI Desktop: Report Page Appearance After Hiding Objects
  1. Once the page looks exactly as it should appear in the screenshot, open the Bookmarks pane from the View tab.
  2. Click Add to create a new bookmark.
  3. Right-click the bookmark. Ensure both Data and Display are enabled.
    • The Data option stores the filter and Slicer state captured when the bookmark is created or updated.
    • The Display option captures which elements are shown or hidden.
Screenshot of the edit bookmark options in Power BI Desktop.
Power BI Desktop: Edit Bookmark Options
  1. Restore the report to its normal state if needed, then publish (or republish) it to Power BI Service so the bookmark is available in the service. This ensures that the bookmark captures a specific export view while the default report experience remains unchanged for interactive users.

Step 2: Get the Workspace, Report, and Bookmark GUIDs

Before building the flow, three identifiers from Power BI are required:

  1. Open the Power BI Service and navigate to the report. The URL follows this structure:
https://app.powerbi.com/groups/{Workspace GUID}/reports/{Report GUID}/...
  1. To find the Bookmark GUID, click the bookmark in the Bookmarks pane while viewing the report in Power BI Service. When the bookmark is selected and active, the URL will update to include:
bookmarkGuid={Bookmark GUID}
  1. Copy and store each GUID value.

NOTE: The Workspace GUID and Report GUID are required by the export action in Power Automate. The Bookmark GUID is only needed when exporting a specific bookmark view from Step 1.

Step 3: Create the Scheduled Flow

In Power Automate, create a scheduled cloud flow that runs automatically on a chosen interval.

  1. In Power Automate, select Create and choose Scheduled cloud flow from the Start from blank section.
  2. In the dialog that appears, give the flow a descriptive name.
  3. Set the start date and time and configure the recurrence interval to match how often the report should be delivered.
  4. Click Create to open the flow editor. The recurrence trigger appears as the first step automatically.
Screenshot of the scheduled cloud flow settings in Power Automate.
Power Automate: Scheduled Cloud Flow Settings

Step 4: Export the Report as an Image

This action calls the Power BI API and generates the screenshot.

  1. Below the recurrence trigger, add a new action and select Export To File for Power BI Reports.
  2. Sign in if prompted.
  3. Select the Workspace (or enter the Workspace GUID value).
  4. Select the Report (or enter the Report GUID value).
  5. Set Export Format to PNG.
  6. In the Bookmark Name field (advanced parameters), enter the Bookmark GUID value captured in Step 2.

This ensures Power BI renders the report using the correct pre-configured layout. If a Bookmark GUID is not provided, the export renders the report page in its default state, including all visible elements.

NOTE: The Power BI export operation renders the report page as a static file. Some report features or visual types may not export exactly as they appear during interactive use. Test the exported image with the actual report before relying on the flow for regular distribution.

Screenshot of the export to file for Power BI reports action settings in Power Automate.
Power Automate: Export To File for Power BI Reports Settings

Step 5: Send the E-mail

Add the Send an email (V2) action from the Office 365 Outlook connector.

The output of the Export To File for Power BI Reports action provides the image data, which can be embedded directly in the e-mail body.

Fill in the fields:

@{formatDateTime(utcNow(), 'dd-MMM-yyyy')}
@{dataUri(body('Export_To_File_for_Power_BI_Reports'))}

Wrap it in a standard HTML image tag:

<img src="@{dataUri(body('Export_To_File_for_Power_BI_Reports'))}"/>

This renders the screenshot directly inside the e-mail body. This method avoids file attachments and ensures the image is immediately visible when the e-mail is opened.

NOTE: The e-mail contains a static image. Recipients can see the exported report state without opening Power BI, but they cannot interact with the visuals, change filters, or drill through the report from the screenshot.

Screenshot of the send an email (V2) action settings in Power Automate.
Power Automate: Send an email (V2) Settings

Step 6: Test, Validate, and Monitor

Before letting the flow run on its scheduled interval, test it manually to confirm the entire chain works correctly.

NOTE: When running tests, update the To field in the Send an email (V2) action to send only to a test account or a small test group. Revert it to the full recipient list before going live.

Screenshot of the full flow in Power Automate.
Power Automate: Full Flow

Running a Manual Test

NOTE: Make sure the flow is turned on before proceeding.

  1. In the flow editor, click Test.
  2. Select Manually and click Test to trigger the flow immediately.
  3. Watch each step execute in real time. A green checkmark indicates success. If a step fails, click it to read the error details.
  4. Check the inbox to confirm the e-mail arrived, the image renders correctly inside the body, and the bookmark state has been applied as expected.
Screenshot of the received e-mail including embedded image in Microsoft Outlook.
Outlook: Received E-mail Including Embedded Power BI Image

Ongoing Monitoring

After deployment, check the run history regularly. Select the flow and review the 28-day run history panel. Failed runs will show which step encountered an error and why. Common causes include expired connector authentication and incorrect GUID values.

Tips for Better Results

  1. Design report pages specifically for export, separate from the pages used for interactive exploration. Pages built for interactive exploration often have too many elements and too much chrome for a clean screenshot. Consider creating a dedicated export page that shows only the visuals recipients should see.
  2. Use clear subject lines that include dates. Recipients who receive regular reports in their inbox benefit from being able to identify each e-mail at a glance.
  3. Duplicate (or enhance) the flow for other reports. Once one flow is working, cloning it is straightforward. Update the GUIDs and recipient list and the new flow is ready to configure.

Summary

Automating Power BI dashboard e-mails ensures stakeholders receive timely updates without accessing Power BI directly. Power BI bookmarks control exactly what appears in each screenshot by rendering a saved report state. Embedding the image directly in the e-mail body makes the update immediately visible and easy to consume.