Business Professionals
Power BI | Power Pivot | Power Query | DAX
Cloud Flows | RPA | AI Builder | Copilot
60+ Formulas | Data Stories | Advanced Reporting & Modeling
VB Programming | Report Automation |
MS-Office Automation
Techno-Business Professionals
Power BI | Power Query | Advanced DAX | SQL - Query &
Programming
Microsoft Fabric | Power BI | Power Query | Advanced DAX |
SQL - Query & Programming
Power BI | Power Apps | Power Automate | Copilot Studio | Power Pages | Dataverse
Microsoft Power Apps | Microsoft Power Automate
Power BI | Adv. DAX | SQL (Query & Programming) |
VBA | Python | Web Scrapping | API Integration
Power BI | Power Apps | Power Automate |
SQL (Query & Programming)
Power BI | Adv. DAX | Power Apps | Power Automate |
SQL (Query & Programming) | VBA | Python | Web Scrapping | API Integration
Power Apps | Power Automate | SQL | VBA | Python |
Web Scraping | RPA | API Integration
Technology Professionals
Power BI | DAX | SQL | ETL with SSIS | SSAS | VBA | Python
Power BI | SQL | Azure Data Lake | Synapse Analytics |
Data Factory | Databricks | Power Apps | Power Automate |
Azure Analysis Services
Microsoft Fabric | Power BI | SQL | Lakehouse |
Data Factory (Pipelines) | Dataflows Gen2 | KQL | Delta Tables | Power Apps | Power Automate
Power BI | Power Apps | Power Automate | SQL | VBA | Python | API Integration
Power BI | Advanced DAX | Databricks | SQL | Lakehouse Architecture
Business Professionals
Power BI | Power Pivot | Power Query | DAX
Cloud Flows | RPA | AI Builder | Copilot
60+ Formulas | Data Stories | Advanced Reporting & Modeling
VB Programming | Report Automation |
MS-Office Automation
Techno-Business Professionals
Power BI | Power Query | Advanced DAX | SQL - Query &
Programming
Microsoft Fabric | Power BI | Power Query | Advanced DAX |
SQL - Query & Programming
Power BI | Power Apps | Power Automate | Copilot Studio | Power Pages | Dataverse
Microsoft Power Apps | Microsoft Power Automate
Power BI | Adv. DAX | SQL (Query & Programming) |
VBA | Web Scrapping | API Integration
Power BI | Power Apps | Power Automate |
SQL (Query & Programming)
Power BI | Adv. DAX | Power Apps | Power Automate |
SQL (Query & Programming) | VBA | Web Scrapping | API Integration
Power Apps | Power Automate | SQL | VBA |
Web Scraping | RPA | API Integration
Technology Professionals
Power BI | DAX | SQL | ETL with SSIS | SSAS | VBA
Power BI | SQL | Azure Data Lake | Synapse Analytics |
Data Factory | Azure Analysis Services
Microsoft Fabric | Power BI | SQL | Lakehouse |
Data Factory (Pipelines) | Dataflows Gen2 | KQL | Delta Tables
Power BI | Power Apps | Power Automate | SQL | VBA | API Integration
Power BI | Advanced DAX | Databricks | SQL | Lakehouse Architecture
LEARN THIS HANDS ON
Power Apps & Power Automate
Every month your team burns half a day copying data from Excel exports, refreshing pivots, pasting charts into PowerPoint, and emailing the same PDF to the same people. Nobody likes doing it, but nobody quite trusts automating it. This walkthrough shows how to use Power Automate + Excel to make that monthly report run itself, with enough control and logging that an experienced analyst is comfortable handing it over.
We’ll build around one realistic scenario: a finance/ops team that gets a monthly CSV dump from a system, loads it to an Excel model, refreshes a Power BI dataset, and sends out a standard PDF pack. The goal is a repeatable, fully automated flow that still plays nicely with existing Excel and Power BI assets.
You probably recognise this pattern:
The current process:
The target process:
All without a human, except when something breaks.
For this kind of Power Automate Excel flow, keep the architecture simple and cloud‑native:
.xlsx (or .xlsm if you truly need macros). The Excel Online (Business) connector works with both, but can’t execute VBA.You’re not replacing Excel or Power BI. You’re automating:
The most robust trigger for this scenario is usually a mailbox rule plus an Outlook trigger.
Trigger options that work well:
Outlook: When a new email arrives (V3)
Monthly Ops Export and/or attachment name pattern.SharePoint: When a file is created (properties only)
For the email option, configure:
Then first action:
.csv or .xlsx).This prevents random emails from triggering your flow.
Even if the attachment is usable as‑is, store it in a controlled location:
reportMonth (String) from the email date:
Compose with an expression like:formatDateTime(triggerOutputs()?['body/dateTimeReceived'], 'yyyy-MM')
/Shared Documents/MonthlyOps/Raw.MonthlyOps_@{outputs('Compose_reportMonth')}.csv (or .xlsx).Attachments Content from the trigger.This gives you a predictable file location and name for the rest of the flow.
The critical design decision: don’t try to drive Excel like a desktop app. Stick to what the Excel Online (Business) connector supports reliably:
If your Excel model uses Power Query or a table pointing at the raw file in SharePoint, you have two choices:
Power Automate cannot refresh Power Query inside Excel Online as of now. If you rely on Power Query in Excel, the refresh is either:
For a robust unattended flow, prefer Power BI pulling from the raw file instead of Excel Power Query.
A more Power Automate‑friendly pattern:
FactData where the monthly data lives.FactData.You then:
This is workable for moderate row counts. For large datasets, writing row‑by‑row from Power Automate can be slow; at that point, Power BI or Power Query is usually a better ingestion layer.
Key constraints to respect:
Once the data is in place (either in the raw file or the Excel model), trigger a dataset refresh.
Use the Power BI connector:
Refresh a dataset.The refresh is asynchronous. To avoid overlapping refreshes:
Common gotchas:
You have two main patterns for generating the PDF:
If your monthly pack is essentially the Power BI report:
Action: Export To File for Power BI Reports (Power BI connector).
PDF.Once export completes, use the File Content output as the attachment in email or to create a file in SharePoint.
This avoids dealing with Excel formatting entirely.
If your output is a more narrative report, Word templates with content controls work well:
Design a Word template stored in SharePoint with:
In the flow:
Populate a Word document with those values.Convert Word document to PDF.This keeps Excel as a calculation engine, but uses Word for layout.
Power Automate does not currently support running VBA to export Excel directly to PDF in the cloud. Any Excel‑centric PDF export that depends on macros will require a desktop‑side automation approach.
Finally, send the report and keep a record.
Outlook: Send an email (V2)
Monthly Ops Report - @{outputs('Compose_reportMonth')}.MonthlyOpsReport_@{outputs('Compose_reportMonth')}.pdf.SharePoint: Create file in an archive folder:
Log the run:
This gives you traceability when someone asks, “Did the report actually go out last month?”
For a monthly report, robust error handling matters more than shaving seconds off execution.
Key patterns to implement:
Scoped try/catch using scopes
Configure run after set to has failed or has timed out.Notify on failure
Validate inputs early
Concurrency control
Using the scenario:
Before
After
You haven’t removed Excel or Power BI. You’ve removed the manual glue.
When you automate a hated monthly Excel report, design the flow so that Excel becomes a stable data and calculation asset, not a desktop script you try to remote‑control. Tables, cloud storage, and Power BI exports are what Power Automate handles well; if you align your model to those, you get reliability without losing the nuance of the report.
This article reflects the gradual shift from manual Excel-centric month-end reporting to cloud-native Power Automate flows that orchestrate SharePoint, Excel Online and Power BI, particularly in teams that already rely on these tools but still run key reports by hand.
Professionals who want to apply these patterns to their own data can explore Excelgoodies' Power Automate Course programme - taught live by instructors, with certification awarded once a real project is running at work.
Insights compiled through ongoing industry research and discussions within the Excelgoodies Analytics Community.
Power Automate
New
Next Batches Now Live
Power BI
SQL
Power Apps
Power Automate
Microsoft Fabrics
Azure Data Engineering