How to Use Power Automate to Refresh Power BI
Manually refreshing your Power BI reports can be inefficient when you need to see a project's status immediately. Scheduled refreshes are better, but they’re not always timely enough. If a huge sale closes and the leadership team wants to see its impact on the quarterly dashboard now, not tomorrow morning, event-driven automation is the solution. This tutorial will guide you through using Power Automate to automatically refresh a Power BI dataset based on specific triggers, ensuring your reports are always as current as the data itself.
Why Scheduled Refreshes Aren't Always the Answer
The built-in scheduled refresh feature in the Power BI Service is useful, but it has one major limitation: it’s based on time, not on events. You can set it to refresh every day at 9 AM, but you can’t tell it to refresh only when new data is available.
This limitation creates a gap between when your data changes and when your report reflects that change. Consider these common scenarios:
- A New File Arrives: Your workflow relies on a daily sales summary Excel file being dropped into a SharePoint folder. A scheduled refresh might run at 8 AM, but the file might not arrive from another department until 10 AM. Your team is now looking at outdated information for two hours.
- A Form Submission: Your customer support team uses a Microsoft Form for user feedback. You want the dashboard that tracks feedback trends to update as soon as a new response is submitted, not hours later.
- A Critical CRM Update: A sales rep updates a deal to "Closed-Won" in Salesforce or HubSpot. That should immediately be reflected in the sales performance dashboard that the VP of Sales is monitoring.
In all these cases, a time-based refresh is inefficient. It either runs too early, showing stale data, or runs too frequently, consuming resources unnecessarily. Power Automate closes this gap by connecting the event (like a new file or a form entry) directly to the action (refreshing your Power BI dataset).
Getting Started: What You'll Need Before You Begin
Before you jump into Power Automate, make sure you have a few things in place. Getting this sorted out first will make the whole process much smoother.
- A Power BI Pro or Premium License: The ability to refresh a dataset via the API (which Power Automate uses) is a premium feature. Free Power BI accounts can use scheduled refreshes, but not this method.
- A Dataset Published to the Power BI Service: Your report and its underlying dataset must be published to a Workspace in the Power BI Service. This process won’t work on datasets stored in "My Workspace."
- Proper Permissions: You need to be a Member, Contributor, or Admin of the Workspace where the dataset lives. Essentially, you need permission to edit and manage the dataset.
- Configured Data Gateway (If Needed): If your Power BI dataset connects to an on-premises data source (like a local SQL Server), you must have a data gateway set up and properly configured. For cloud-based sources like SharePoint Online or Azure SQL, this is not necessary.
- Access to Power Automate: Power Automate is included with many Microsoft 365 and Dynamics 365 licenses. Log in to make.powerautomate.com to confirm you have access.
Step-by-Step Guide: Creating Your First Refresh Flow
For our main example, we’ll tackle a very common business scenario: triggering a Power BI refresh whenever a new file is added to a specific SharePoint folder. Let's imagine we have a "Weekly Sales Data" folder, and whenever a new weekly report is uploaded, we want our main Sales Dashboard to update automatically.
Step 1: Create a New Automated Cloud Flow
First, log in to Power Automate. In the left-hand navigation pane, click Create and then select Automated cloud flow. This is for flows that start automatically based on a designated event.
A new window will appear. Do the following:
- Give your flow a descriptive name, like "Refresh Sales Dashboard When New SharePoint File is Added."
- In the search box under "Choose your flow's trigger," type in "SharePoint".
- From the list of triggers, select When a file is created (properties only). This trigger is more efficient than "When a file is created or modified" if you only care about new file uploads.
- Click the Create button at the bottom.
Step 2: Configure the SharePoint Trigger
Now you're on the flow canvas. The trigger box you just selected will be at the top. You need to tell it which SharePoint site and folder to monitor.
- Site Address: Click the dropdown and select the SharePoint site where your folder resides.
- Library Name: Choose the document library. Most of the time, this will simply be "Documents."
- Folder: Click the folder icon on the right to navigate to the specific folder you want to monitor. In our example, we'd select our "Weekly Sales Data" folder.
That's it for the trigger. The flow now knows to activate anytime a new file appears in that specific location.
Step 3: Add the Power BI Action
Now we need to tell the flow what to do after it's triggered. Click the + New step button below the trigger block.
- In the "Choose an operation" search box, type "Power BI" and select it from the list of connectors.
- You'll now see a list of possible actions for Power BI. Scroll through them or use the search bar within the actions list to find and select Refresh a dataset.
The first time you do this, you may be prompted to sign into your Power BI account to grant Power Automate permission. Use the same credentials you use for the Power BI service.
Step 4: Configure the Power BI Action
This final step is about pointing the flow to the exact dataset you want to refresh.
- Workspace: Click the dropdown and Power Automate will show you a list of all Power BI Workspaces you have access to. Select the workspace containing your sales dashboard.
- Dataset: After you select a workspace, the "Dataset" dropdown will populate with all the datasets in that workspace. Select the specific dataset for your report (e.g., "Sales Performance Data").
Your simple two-step flow is now complete! It should look something like this:
Trigger: When a file is created in SharePoint → Action: Refresh a Power BI dataset.
Step 5: Save and Test Your Flow
In the top-right corner of the screen, click Save. Once saved, it’s best practice to test it to make sure everything works as expected.
- While still on the flow canvas, click Test in the top-right corner.
- Select the Manually option and click the Test button.
- The flow will now enter a "listening" mode, indicated by a message at the top of the screen.
- Now, perform the trigger action. Open another browser tab, navigate to your designated SharePoint folder, and upload a new file.
- Switch back to the Power Automate tab. After a few moments, you should see the flow run and finish successfully, with green checkmarks on both the trigger and action steps.
You can also confirm the refresh in the Power BI Service by going to your workspace, finding the dataset, and checking its "Refresh history." You should see a new entry with the refresh type listed as "Via API," indicating Power Automate was successful.
Practical Examples and Best Practices
Once you’ve mastered the basics, you can apply this pattern to a huge variety of use cases.
Example: Refresh on a Microsoft Form Submission
Instead of the SharePoint trigger, you could use the "When a new response is submitted" trigger from the Microsoft Forms connector. This could link to an Excel file stored in OneDrive that logs form responses. The flow would look like this:
- Trigger: Microsoft Forms - When a new response is submitted.
- Action 1: Microsoft Forms - Get response details. (This gets the actual data from the submission).
- Action 2: Excel Online - Add a row into a table. (This writes the response to your data source file).
- Action 3: Power BI - Refresh a dataset.
Example: Create an "On-Demand" Refresh Button
What if you just want a simple button to kick off a refresh from anywhere? You can do this with a manual trigger.
- When creating your flow, choose Instant cloud flow instead of automated.
- For the trigger, select Manually trigger a flow.
- Add the same Power BI "Refresh a dataset" action.
You can now run this flow directly from the Power Automate mobile app or web portal, giving you an easy "refresh now" button for your most important reports.
Add Notifications for Success or Failure
It's helpful to know when your refresh completes or, more importantly, when it fails. After your "Refresh a dataset" action, you can add parallel branches or configure subsequent steps to run based on the outcome.
For example, you could add an action for "Send an email (V2)" from the Outlook connector. In the email configuration, you can notify your team that "The Sales Dashboard has been successfully refreshed with new data!" By clicking the three dots on the notification action and selecting "Configure run after," you can set it to run only if the Power BI refresh succeeds, fails, or is skipped.
Final Thoughts
Setting up an event-driven refresh with Power Automate takes your Power BI reporting from static and scheduled to dynamic and real-time. By connecting data arrival directly to report updates, you eliminate information lag and empower your teams to make decisions based on the most current data available, without clicking a single refresh button.
While mastering tools like Power Automate is a powerful skill, sometimes the entire process of managing data sources, designing reports, and maintaining flows is more work than your team has time for. At Graphed, we've focused on automating away this complexity entirely. Instead of configuring multi-step flows, you can connect your data sources like Google Analytics, Shopify, or Salesforce with one click and then simply ask in plain English for a dashboard. Ask, "Show me a dashboard of sales performance by rep for this quarter," and we instantly build a live, interactive report. With Graphed, you skip the technical setup and get straight to the insights.
Related Articles
What SEO Tools Work with Google Analytics?
Discover which SEO tools integrate seamlessly with Google Analytics to provide a comprehensive view of your site's performance. Optimize your SEO strategy now!
Looker Studio vs Metabase: Which BI Tool Actually Fits Your Team?
Looker Studio and Metabase both help you turn raw data into dashboards, but they take completely different approaches. This guide breaks down where each tool fits, what they are good at, and which one matches your actual workflow.
How to Create a Photo Album in Meta Business Suite
How to create a photo album in Meta Business Suite — step-by-step guide to organizing Facebook and Instagram photos into albums for your business page.