Embedding Power Apps in Microsoft Fabric Power BI Reports
Description
In this talk we’ll show you how to embed a Power App in a Power BI report in Microsoft Fabric to enable real-time editing and interactivity. See how to update data directly from reports, trigger workflows, and leverage action-oriented analytics that close the loop between insight and execution.
Key Takeaways
- The Insight-to-Action gap: Power BI gives insights but acting on data happens in other systems — switching between apps introduces lag and errors
- Pattern: Power BI (Insight) → Power App (Action) → Power BI (Refresh) — close the loop within a single report experience
- Storage mode matters for writeback: Lakehouses are read-only; Data Warehouses don't enforce PKs; best writeback targets are Fabric SQL Database or mirrored SQL databases
- Semantic model modes compared: Import (fastest, stale until refresh), DirectQuery (real-time, slower), Direct Lake (near-import speed + near-real-time, Fabric-native), Composite (hybrid)
- Embedding a Power App: add the Power Apps visual → select data fields → the app receives the selected context from the report as a parameter
- Writeback via Power Automate: Power App triggers a Flow that writes to the data source, which then refreshes the semantic model — keeps the report updated post-action
- Two presenters are both MVPs: Paul Papanek Stork (Don't Pa..Panic Consulting) and Scott Shearer (Scott J Shearer LLC)
My Notes
Action Items
- [ ]
Resources & Links
- Power Apps visual in Power BI
- Direct Lake mode overview
- Fabric SQL Database
- Paul Papanek Stork - Don't Pa..Panic Consulting
- Scott Shearer on LinkedIn
Slides
Embedding Power
Apps in Microsoft
Fabric Power BI
Reports
Paul Papanek Stork, MVP
Don’t Pa..Panic Consulting, LLC
Scott Shearer, MVP
Scott J Shearer, LLC
Agenda
•Why Embed Power Apps in Power BI Report?
•How Data is Stored in Fabric Matters
•Embedding a Power App Canvas App
•Using a Power App Flow for Writing Back
•Refreshing the Report After a Change
Why Embed Power Apps in Power BI Report?
•The Challenge: Insight vs Action
• Reports Provide Insights
• But Acting on Data Happens in Other Systems
• Switching between systems introduces
• Lag Time
• Potential for Errors
• Organizations need to close the loop between analytics and execution
Power BI (Insight) → Power Apps (Action) → Power BI (Refresh Report)
Fabric Semantic Model Modes
Mode
Speed
Freshness
Scale
Features
Support
Best For
Stale until
refresh
Medium–Large
Full DAX &
features
Small–medium
datasets,
analytical
dashboards
Real-time
Very Large
Limited modeling
Large/operational
datasets, realtime ops
Import
Fastest
DirectQuery
Moderate
Direct Lake
Near-Import
Near realtime
Very Large
Expanding
quickly
Fabric-native
analytics,
OneLake users
Composite
Balanced
Depends on
setup
Very Large
Hybrid flexibility
Mixed workloads,
enterprise BI
strategies
Challenges & Workarounds
•Lakehouses are Read-Only
•Data Warehouses don’t Enforce Primary Keys
•Potential Workarounds
• Data Warehouse – Power Automate for Writeback
• Composite Storage
• Data in Fabric (Read-Only)
• Writeable Data in Other Systems
•Store Data in Writeable Format
• Fabric SQL database
• Fabric Mirrored SQL databases
Embedding a Power App in a Power BI Report
- Add the Power Apps Visual to the report
- Select Data Fields to Pass to App
- Choose to
• Create a New Canvas App in a Specific Environment
• Use an Existing App - Edit the App Normally
- Save & Publish the App
• Default Settings in New Canvas App to Consider Changing
• Portrait Layout
• Fixed Non-Responsive Layout
• Locked Aspect Ratio
• Important: Remember to Share App with Users!
PowerBIIntegration Control in Power Apps
• A PowerBIIntegration Object is added to a Canvas App embedded in a
Power BI Report
• PowerBIIntegration.Data property contains a Table of Selected Data
from the Report
• Read-Only
• Limited to 100 Records
• Integration is One-Way from Power BI to Power Apps
• PowerBIIntegration.Refresh() function can be used to refresh the
report after changing data
• Only Available in Apps Created by the Power BI visual
• Only Supports DirectQuery Data sources – Not Direct Lake
Issues with Writeback
• Fabric Data Storage Options
• Lakehouse Optimized for large-scale analytical storage using the Delta Parquet format.
• Warehouse Structured, relational storage with extended SQL capabilities.
• Fabric SQL Database (Preview) Managed Azure SQL Database experience within Fabric.
• Most SQL Analytics Endpoints are
Read-Only
• Writing to Backend Data Requires a
Semantic Model Refresh
• Power Apps has Stringent Requirements for
SQL Updates
Fabric Storage
SQL Endpoint
Lakehouse
Read-Only
Warehouse
Essentially Read-Only
Fabric SQL or Mirrored
SQL
Read-Write
Calling a Power Automate Flow
• 3 ways to Trigger a Flow - Manually from a Power Automate Visual
Button in the Report - In Response to a Data Source Event
- Manually from an embedded Power App
• May be Required for Saving
• SQL connections in Power Apps
Requires a
Private Key
Embedding an App
Automatic Page
Refresh
Storage mode
Dedicated capacity
Shared capacity
Direct Query
FI supported: Yes
CD supported: Yes
Minimum: 1 sec.
Admin override: Yes
FI supported: Yes
CD supported: No
Minimum: 30 min.
Admin override: No
Direct Lake
FI supported: Yes
CD supported: Yes
Minimum: 1 sec.
Admin override: Yes
FI supported: Yes
CD supported: No
Minimum: 30 min.
Admin override: No
Import
FI supported: No
CD supported: No
Minimum: N/A
FI supported: No
CD supported: No
Minimum: N/A
• Note that this is a Page Refresh and
not a Report Refresh
• Updates data shown on a page as
soon as possible after data
has been added or updates
• Availability depends on storage
mode
o Import mode not supported
o DirectQuery is fully supported in a
dedicated capacity
o Direct Lake is fully supported in a
dedicated capacity
o Other storage modes also supported
• All visuals on a page are refreshed
Refresh Types
• Fixed interval
• This refresh type updates all visuals in a
report page based on a constant interval
such as one second or five minutes
• Change detection
• This refresh type refreshes visuals on a page
based on detecting changes in the data
rather than a specific refresh interval
• Import storage mode is not supported
• A list of supported storage modes can be
found here:
Automatic Page Refresh in Power BI Desktop Power BI | Microsoft Learn
Enabling/Adjusting Page Refresh in the Admin
Center
• Change detection and Automatic Page
Refresh can be turned on/off in the
Admin portal Capacity settings area
• Minimum intervals can be set
Configuring the refresh interval on a page
• Page refresh can be turned on/off and
configured in page Format options
settings
• If the Page Refresh setting does not
appear, your data source does not
support automatic page refresh
Fixed Interval Configuration
• Default minimum fixed interval is 30 minutes
• Minimum allowed is 1 second
• May need to adjust in Admin portal
Change Detection Configuration
• Relies on a measure
• Can use existing measure or create a new one
•
Choose a calculation for the measure
between count, count distinct, minimum,
maximum, and sum
• .After you select a measure, define how often
Power BI will Check for changes
• Example: Count the IDs in a table. Change will
be detected when the number of IDs change
Practical Implications
• When fixed interval can be expensive
• Many visuals on the page
• Complex measures
• Wide fact tables
• High refresh frequency
(e.g., every 5–10 seconds)
• Many concurrent viewers
• When change detection is preferable
• You have a reliable “last updated”
signal
• Data changes intermittently, not
constantly
• You want to minimize SQL load and
Premium capacity usage
Auto Refreshing the Report
Sound off.
The mic is all yours.
Influence the product roadmap.
Join the Fabric User Panel
Join the SQL User Panel
Share your feedback directly with our
Fabric product group and researchers.
Influence our SQL roadmap and ensure
it meets your real-life needs
https://aka.ms/JoinFabricUserPanel
https://aka.ms/JoinSQLUserPanel