Microsoft Fabric Apps - Simply Explained
Microsoft Fabric Apps are a new way to build modern, data-driven web applications directly inside Microsoft Fabric. Rather than managing servers, APIs, databases, authentication, and hosting separately, Fabric provides these services automatically, allowing developers and data professionals to focus on creating business applications instead of infrastructure. A Fabric App can either connect to an existing Power BI semantic model or include its own managed SQL database, making it suitable for everything from interactive dashboards to operational business applications. This significantly lowers the barrier to building enterprise-grade solutions while keeping security, governance, and scalability within the Microsoft ecosystem.
HOW MICROSOFT FABRIC APPS WORK
Every Fabric App combines several managed services into a single application platform. When you create a new app, Microsoft Fabric automatically provisions a SQL database, GraphQL API, Microsoft Entra ID authentication, and static web hosting. Developers no longer need to configure backend infrastructure manually. Instead, they can concentrate on designing user experiences, building forms, creating dashboards, and implementing business logic. Fabric handles the underlying platform, making application development significantly faster than traditional full-stack approaches.
FABRIC APPS VS POWER BI
One of the biggest misconceptions is that Fabric Apps replace Power BI. They do not. Instead, both products solve different problems while sharing the same governed data foundation. Power BI remains Microsoft's leading business intelligence platform for analytics, reporting, dashboards, drill-through analysis, natural language queries, and executive reporting. Fabric Apps extend these capabilities by enabling custom web applications that can both display and write data. This makes them ideal for operational workflows such as inventory management, approval systems, CRM solutions, and internal business tools where users need to interact with data rather than simply analyze it.
REAL-WORLD USE CASES FOR FABRIC APPS
Fabric Apps are designed for business scenarios that require custom user experiences while still leveraging trusted enterprise data. Organizations can build inventory management systems with write-back capabilities, HR onboarding portals, expense approval applications, operational dashboards, customer feedback systems, and rapid business prototypes. Because Fabric Apps can connect directly to Power BI semantic models, organizations reuse existing DAX calculations, relationships, and governance policies without rebuilding business logic. This creates a single source of truth across both analytical reports and operational applications.
CURRENT LIMITATIONS OF MICROSOFT FABRIC APPS
Since Fabric Apps are currently in Public Preview, organizations should understand their current limitations before adopting them in production. Authentication currently supports only Microsoft Entra ID users, making the platform suitable for internal applications rather than customer-facing solutions. Applications also consume Microsoft Fabric Capacity Units (CUs), meaning performance and cost planning remain important considerations. In addition, advanced transactional scenarios, stored procedures, and highly complex business workflows may still require traditional development approaches. While AI-assisted development accelerates application creation, developers still benefit from understanding frontend technologies such as JavaScript and TypeScript.
SHOULD YOU START LEARNING FABRIC APPS?
If you're already working with Microsoft Fabric or Power BI, Fabric Apps represent one of the most important additions to the Microsoft data platform. They expand what organizations can build without replacing existing reporting investments, allowing the same semantic models and governed datasets to power both analytics and business applications. The best way to get started is by enabling the Fabric Apps preview, experimenting with both the Blank App and Data App templates, and exploring how custom applications can extend your existing Microsoft Fabric environment. Learning the platform today will prepare you for the broader capabilities expected as Fabric Apps move toward general availability.
Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support.
🚀 Want to be part of m365.fm?
Then stop just listening… and start showing up.
👉 Connect with me on LinkedIn and let’s make something happen:
- 🎙️ Be a podcast guest and share your story
- 🎧 Host your own episode (yes, seriously)
- 💡 Pitch topics the community actually wants to hear
- 🌍 Build your personal brand in the Microsoft 365 space
This isn’t just a podcast — it’s a platform for people who take action.
🔥 Most people wait. The best ones don’t.
👉 Connect with me on LinkedIn and send me a message:
"I want in"
Let’s build something awesome 👊
00:00:00,000 --> 00:00:01,640
Welcome back to another Knowledge Nugget.
2
00:00:01,640 --> 00:00:03,960
I'm Merco Peters from M365FM.
3
00:00:03,960 --> 00:00:05,920
And today we're tackling a big question.
4
00:00:05,920 --> 00:00:07,840
You've probably heard the buzz about Fabric Apps.
5
00:00:07,840 --> 00:00:10,760
People are saying, "Fabric Apps for Places Power BI."
6
00:00:10,760 --> 00:00:12,440
Goodbye, Power BI reports.
7
00:00:12,440 --> 00:00:14,120
The end of business intelligence.
8
00:00:14,120 --> 00:00:16,240
I've watched those videos, I've read those posts,
9
00:00:16,240 --> 00:00:17,480
so let me give you the straight answer,
10
00:00:17,480 --> 00:00:19,960
the hype is real, but you need the context.
11
00:00:19,960 --> 00:00:22,040
Is Fabric Apps really the end of Power BI?
12
00:00:22,040 --> 00:00:23,040
Let's cut through it.
13
00:00:23,040 --> 00:00:24,240
By the end of this episode,
14
00:00:24,240 --> 00:00:25,960
you'll know exactly what a Fabric app is
15
00:00:25,960 --> 00:00:28,600
where it fits next to Power BI and whether you should care.
16
00:00:28,600 --> 00:00:31,040
The answer isn't as simple as yes or no.
17
00:00:31,040 --> 00:00:32,320
What is a Fabric app?
18
00:00:32,320 --> 00:00:34,200
So let's start with the simplest definition.
19
00:00:34,200 --> 00:00:36,200
A Fabric app is a managed web application
20
00:00:36,200 --> 00:00:38,320
that runs inside Microsoft Fabric.
21
00:00:38,320 --> 00:00:39,880
That word "managed" is the key.
22
00:00:39,880 --> 00:00:41,600
It means Fabric handles the hard parts,
23
00:00:41,600 --> 00:00:42,720
so you don't have to.
24
00:00:42,720 --> 00:00:44,560
Think of it like renting a furnished apartment
25
00:00:44,560 --> 00:00:46,680
versus building a house from scratch.
26
00:00:46,680 --> 00:00:49,320
When you build a house, you're responsible for everything.
27
00:00:49,320 --> 00:00:52,080
The foundation, the plumbing, the electrical wiring,
28
00:00:52,080 --> 00:00:52,920
the permits.
29
00:00:52,920 --> 00:00:54,160
When you rent a furnished apartment,
30
00:00:54,160 --> 00:00:56,480
you walk in, the lights work, the water runs,
31
00:00:56,480 --> 00:00:58,160
and you just need to bring your furniture.
32
00:00:58,160 --> 00:00:59,280
Fabric apps is like that.
33
00:00:59,280 --> 00:01:01,320
Microsoft provides the backend, the servers,
34
00:01:01,320 --> 00:01:03,360
the database, the security, the hosting,
35
00:01:03,360 --> 00:01:04,720
and you just build the front end.
36
00:01:04,720 --> 00:01:06,520
The part people actually see and interact with.
37
00:01:06,520 --> 00:01:07,360
Here's the thing.
38
00:01:07,360 --> 00:01:09,760
Fabric apps is a new item type in Fabric workspaces.
39
00:01:09,760 --> 00:01:11,200
If you've used Fabric before,
40
00:01:11,200 --> 00:01:12,520
you've probably seen items like
41
00:01:12,520 --> 00:01:15,240
Lake Houses, notebooks, or Power BI reports.
42
00:01:15,240 --> 00:01:17,200
Fabric apps sits right alongside those.
43
00:01:17,200 --> 00:01:19,960
It's just another kind of thing you can create in a workspace.
44
00:01:19,960 --> 00:01:22,760
But instead of storing data or running transformations,
45
00:01:22,760 --> 00:01:24,120
it's for building applications.
46
00:01:24,120 --> 00:01:25,200
You get two main options.
47
00:01:25,200 --> 00:01:26,680
First, the data app.
48
00:01:26,680 --> 00:01:29,240
This connects directly to an existing Power BI
49
00:01:29,240 --> 00:01:30,000
semantic model.
50
00:01:30,000 --> 00:01:31,480
So if you've already built a data model
51
00:01:31,480 --> 00:01:32,880
with measures and relationships,
52
00:01:32,880 --> 00:01:34,720
you can plug a Fabric app right into it.
53
00:01:34,720 --> 00:01:36,120
Second, the blank app.
54
00:01:36,120 --> 00:01:38,600
This one comes with its own SQL database
55
00:01:38,600 --> 00:01:40,640
and you define the schema yourself.
56
00:01:40,640 --> 00:01:42,640
Both are useful, just for different scenarios.
57
00:01:42,640 --> 00:01:43,720
So why does this matter?
58
00:01:43,720 --> 00:01:46,560
Before Fabric apps, if you wanted to build a data-driven web
59
00:01:46,560 --> 00:01:48,920
application, you had to manage a lot of stuff yourself.
60
00:01:48,920 --> 00:01:52,360
You needed a server and API, authentication and hosting.
61
00:01:52,360 --> 00:01:53,800
That's a lot of moving parts.
62
00:01:53,800 --> 00:01:56,040
And each one is a potential point of failure.
63
00:01:56,040 --> 00:01:58,160
Fabric apps packages all of that into one service.
64
00:01:58,160 --> 00:02:00,960
And you create the app and Fabric sets up everything automatically.
65
00:02:00,960 --> 00:02:04,400
You get a SQL database, a GraphQL API, authentication
66
00:02:04,400 --> 00:02:06,840
through Microsoft Entra ID and static hosting
67
00:02:06,840 --> 00:02:09,560
for your front-end files, all of it, out of the box.
68
00:02:09,560 --> 00:02:11,040
What this means for you is simple.
69
00:02:11,040 --> 00:02:12,800
You can build a real working application
70
00:02:12,800 --> 00:02:14,800
without being a full stack developer.
71
00:02:14,800 --> 00:02:16,600
You don't need to know how to set up a server,
72
00:02:16,600 --> 00:02:19,480
configure an API gateway, or manage user sessions.
73
00:02:19,480 --> 00:02:20,880
Fabric handles all of that.
74
00:02:20,880 --> 00:02:23,920
You just need to focus on the part that matters.
75
00:02:23,920 --> 00:02:27,360
What your app looks like and what it does.
76
00:02:27,360 --> 00:02:28,360
The building blocks.
77
00:02:28,360 --> 00:02:30,040
Let's break down those four pieces I mentioned,
78
00:02:30,040 --> 00:02:31,520
because this is where you'll really understand
79
00:02:31,520 --> 00:02:33,840
what Fabric apps is doing behind the scenes.
80
00:02:33,840 --> 00:02:36,480
First up is the SQL database, the place where your app's data
81
00:02:36,480 --> 00:02:36,840
lives.
82
00:02:36,840 --> 00:02:39,520
It's a transactional database, so it handles reads and writes.
83
00:02:39,520 --> 00:02:41,800
You can insert new records, update existing ones,
84
00:02:41,800 --> 00:02:42,880
or delete things.
85
00:02:42,880 --> 00:02:45,520
It works exactly like a normal SQL server database.
86
00:02:45,520 --> 00:02:47,920
So if you've used that before, you already know the drill.
87
00:02:47,920 --> 00:02:49,800
The difference here is you don't have to set it up.
88
00:02:49,800 --> 00:02:52,360
Fabric creates it automatically when you create the app.
89
00:02:52,360 --> 00:02:54,120
Next is the GraphQL API.
90
00:02:54,120 --> 00:02:56,520
Think of this as the messenger between your apps front
91
00:02:56,520 --> 00:02:57,920
end and the database.
92
00:02:57,920 --> 00:03:01,000
When your app needs to show data, it sends a query through the API
93
00:03:01,000 --> 00:03:03,160
and the API fetches that data from the database
94
00:03:03,160 --> 00:03:04,160
and sends it back.
95
00:03:04,160 --> 00:03:06,800
When a user submits a form or updates a record,
96
00:03:06,800 --> 00:03:10,200
the API takes that data and writes it to the database.
97
00:03:10,200 --> 00:03:12,480
GraphQL is a modern way of building APIs.
98
00:03:12,480 --> 00:03:14,600
You ask for exactly the data you need, nothing more,
99
00:03:14,600 --> 00:03:16,680
nothing less, efficient and flexible.
100
00:03:16,680 --> 00:03:19,400
Then there's authentication handled by Microsoft EntraID,
101
00:03:19,400 --> 00:03:21,880
which used to be called Azure Active Directory.
102
00:03:21,880 --> 00:03:23,360
When someone tries to use your app,
103
00:03:23,360 --> 00:03:25,760
they have to sign in with their Microsoft Work or School
104
00:03:25,760 --> 00:03:26,280
account.
105
00:03:26,280 --> 00:03:28,200
Fabric handles the entire login process.
106
00:03:28,200 --> 00:03:30,600
It checks that the person is who they say they are
107
00:03:30,600 --> 00:03:33,320
and confirms they have permission to access the app.
108
00:03:33,320 --> 00:03:35,760
You don't need to build a login screen, manage passwords,
109
00:03:35,760 --> 00:03:37,320
or worry about security.
110
00:03:37,320 --> 00:03:38,360
It's all built in.
111
00:03:38,360 --> 00:03:40,280
Finally, static hosting.
112
00:03:40,280 --> 00:03:42,320
This is where your apps front end files live.
113
00:03:42,320 --> 00:03:45,840
The HTML, CSS, and JavaScript that make up the user interface.
114
00:03:45,840 --> 00:03:47,680
Fabric serves these files from a URL,
115
00:03:47,680 --> 00:03:50,400
so users can access the app from their browser.
116
00:03:50,400 --> 00:03:52,520
When you make changes, you deploy the new files
117
00:03:52,520 --> 00:03:55,160
and Fabric updates the hosted version automatically.
118
00:03:55,160 --> 00:03:56,120
Now, here's the thing.
119
00:03:56,120 --> 00:03:58,200
You don't need to become a developer to use this.
120
00:03:58,200 --> 00:04:00,160
The templates handle most of the setup.
121
00:04:00,160 --> 00:04:01,400
When you create a new Fabric app,
122
00:04:01,400 --> 00:04:03,200
you can start from a template that already
123
00:04:03,200 --> 00:04:06,160
has authentication wired up, the API configured,
124
00:04:06,160 --> 00:04:07,640
and a basic front-end structure.
125
00:04:07,640 --> 00:04:08,640
You just customize it.
126
00:04:08,640 --> 00:04:11,600
The rule magic is that these pieces work together automatically.
127
00:04:11,600 --> 00:04:14,320
You create the app and Fabric provisions the database,
128
00:04:14,320 --> 00:04:16,720
sets up the API, configures authentication,
129
00:04:16,720 --> 00:04:19,120
and prepares the hosting all in the background.
130
00:04:19,120 --> 00:04:20,640
You don't have to connect them manually
131
00:04:20,640 --> 00:04:22,840
or write configuration files.
132
00:04:22,840 --> 00:04:23,600
It just works.
133
00:04:23,600 --> 00:04:24,520
So those are the pieces.
134
00:04:24,520 --> 00:04:27,320
But how do they actually connect to the data you already have?
135
00:04:27,320 --> 00:04:30,480
That's what we'll cover next, how it connects to your data.
136
00:04:30,480 --> 00:04:33,600
So you've got this app with a database, an API,
137
00:04:33,600 --> 00:04:35,440
authentication, and hosting.
138
00:04:35,440 --> 00:04:37,200
But where does your actual data come from?
139
00:04:37,200 --> 00:04:38,600
Because honestly, you probably already
140
00:04:38,600 --> 00:04:40,480
have data sitting somewhere in Fabric.
141
00:04:40,480 --> 00:04:43,120
Maybe you've got a semantic model with carefully built measures.
142
00:04:43,120 --> 00:04:44,800
Maybe you've got data in a lake house.
143
00:04:44,800 --> 00:04:47,120
Fabric apps doesn't make you start from scratch.
144
00:04:47,120 --> 00:04:48,880
It connects to what you already have,
145
00:04:48,880 --> 00:04:50,280
and there are two ways to do it.
146
00:04:50,280 --> 00:04:52,360
Option one is the data app template.
147
00:04:52,360 --> 00:04:54,680
This connects your app directly to an existing Power BI
148
00:04:54,680 --> 00:04:55,600
semantic model.
149
00:04:55,600 --> 00:04:58,000
All those measures you build, all those relationships
150
00:04:58,000 --> 00:04:59,840
you defined, all those calculations,
151
00:04:59,840 --> 00:05:02,360
they're available to your app through DAX queries.
152
00:05:02,360 --> 00:05:05,200
Your app can show the exact same numbers as your Power BI report.
153
00:05:05,200 --> 00:05:06,800
But in a completely custom interface,
154
00:05:06,800 --> 00:05:08,960
you're not limited to Power BI's visual controls.
155
00:05:08,960 --> 00:05:11,880
You can build your own charts, layouts, and interactions.
156
00:05:11,880 --> 00:05:14,480
The data underneath is the same-governed trusted model
157
00:05:14,480 --> 00:05:15,600
you already have.
158
00:05:15,600 --> 00:05:17,040
This is powerful because you don't have
159
00:05:17,040 --> 00:05:19,040
to rebuild your business logic.
160
00:05:19,040 --> 00:05:21,840
If you've spent months getting a measure exactly right,
161
00:05:21,840 --> 00:05:24,400
calculating revenue the way your finance team wants it,
162
00:05:24,400 --> 00:05:27,720
handling currency conversions, applying the correct filters,
163
00:05:27,720 --> 00:05:29,040
that work carries over.
164
00:05:29,040 --> 00:05:31,600
Your app just queries the model and gets the right answer.
165
00:05:31,600 --> 00:05:34,280
And because it's the same model, your Power BI report
166
00:05:34,280 --> 00:05:36,360
and your Fabric app will always agree.
167
00:05:36,360 --> 00:05:39,880
No more, the report says one thing, but the app says another.
168
00:05:39,880 --> 00:05:41,480
Option two is the blank app template.
169
00:05:41,480 --> 00:05:44,880
This one creates its own SQL database inside the app.
170
00:05:44,880 --> 00:05:47,160
You define your schema using TypeScript in the code
171
00:05:47,160 --> 00:05:49,760
and Fabric creates the database tables for you automatically.
172
00:05:49,760 --> 00:05:51,720
This is the right choice when you're building an app
173
00:05:51,720 --> 00:05:54,560
that needs to store its own data, maybe a to-do list,
174
00:05:54,560 --> 00:05:56,760
an inventory tracker, a simple CRM.
175
00:05:56,760 --> 00:05:58,640
The data lives in the app's database
176
00:05:58,640 --> 00:06:00,920
and your app reads and writes to it directly.
177
00:06:00,920 --> 00:06:02,200
Here's something interesting.
178
00:06:02,200 --> 00:06:05,440
That SQL database also has a read-only analytics endpoint.
179
00:06:05,440 --> 00:06:07,960
Fabric automatically mirrors a copy of your operational data
180
00:06:07,960 --> 00:06:11,120
into one lake and that endpoint sits on top of that copy.
181
00:06:11,120 --> 00:06:12,920
So while your app is doing transactional work,
182
00:06:12,920 --> 00:06:14,760
creating orders, updating records,
183
00:06:14,760 --> 00:06:17,880
the analytics endpoint lets you build Power BI reports
184
00:06:17,880 --> 00:06:20,760
on that same data without affecting your app's performance.
185
00:06:20,760 --> 00:06:23,000
It's like getting a reporting layer for free.
186
00:06:23,000 --> 00:06:25,960
So to summarize, if you already have a semantic model,
187
00:06:25,960 --> 00:06:27,680
use the data app template.
188
00:06:27,680 --> 00:06:30,360
If you're building something new that needs its own storage,
189
00:06:30,360 --> 00:06:32,200
use the blank app template.
190
00:06:32,200 --> 00:06:33,800
Both paths lead to the same place,
191
00:06:33,800 --> 00:06:36,400
a working application connected to your data.
192
00:06:36,400 --> 00:06:38,320
Fabric apps versus Power BI.
193
00:06:38,320 --> 00:06:40,720
Fabric apps and Power BI aren't replacements.
194
00:06:40,720 --> 00:06:41,520
They're complimentary.
195
00:06:41,520 --> 00:06:44,120
They do different things, so you use both where they fit.
196
00:06:44,120 --> 00:06:45,880
Power BI is a business intelligence tool.
197
00:06:45,880 --> 00:06:48,680
It's built for governed reporting, ad hoc analysis,
198
00:06:48,680 --> 00:06:50,880
and sharing insights across your organization.
199
00:06:50,880 --> 00:06:52,440
When you need to slice data by region
200
00:06:52,440 --> 00:06:54,640
and drill into a specific product category,
201
00:06:54,640 --> 00:06:57,120
Power BI does that better than anything else.
202
00:06:57,120 --> 00:07:00,240
When your finance team leads paginated reports, Power BI has that.
203
00:07:00,240 --> 00:07:02,480
When executives want to ask questions in plain English,
204
00:07:02,480 --> 00:07:04,560
Power BI has natural language queries.
205
00:07:04,560 --> 00:07:07,040
It's a mature product with years of development.
206
00:07:07,040 --> 00:07:09,080
Fabric apps is an application development tool.
207
00:07:09,080 --> 00:07:12,560
It's built for custom, user, experiences on top of your data.
208
00:07:12,560 --> 00:07:14,920
When warehouse workers need a form to update inventory levels,
209
00:07:14,920 --> 00:07:15,840
that's a fabric app.
210
00:07:15,840 --> 00:07:18,040
When you need a dashboard with custom animations
211
00:07:18,040 --> 00:07:20,160
and a layout that matches your brand guidelines,
212
00:07:20,160 --> 00:07:21,080
that's a fabric app.
213
00:07:21,080 --> 00:07:23,200
When you need something that feels like a real application,
214
00:07:23,200 --> 00:07:25,480
not a report, that's where Fabric apps comes in.
215
00:07:25,480 --> 00:07:27,120
Think of it like a modern office building.
216
00:07:27,120 --> 00:07:29,640
Power BI is the conference room where you analyze data.
217
00:07:29,640 --> 00:07:32,440
You look at the numbers, explore, find insights.
218
00:07:32,440 --> 00:07:34,960
Fabric apps is the front desk where you interact,
219
00:07:34,960 --> 00:07:37,960
enter data, checkers status, complete a task,
220
00:07:37,960 --> 00:07:40,280
different purposes, different experiences,
221
00:07:40,280 --> 00:07:42,520
where Power BI shines is analysis.
222
00:07:42,520 --> 00:07:44,840
Cross filtering, drill through natural language queries,
223
00:07:44,840 --> 00:07:46,240
paginated reports.
224
00:07:46,240 --> 00:07:47,920
These features took years to build.
225
00:07:47,920 --> 00:07:49,600
Fabric apps doesn't have them yet,
226
00:07:49,600 --> 00:07:51,400
and it probably never will in the same way.
227
00:07:51,400 --> 00:07:52,640
That's not what it's for.
228
00:07:52,640 --> 00:07:54,600
Where Fabric apps shines is custom experiences.
229
00:07:54,600 --> 00:07:56,000
You control the layout completely,
230
00:07:56,000 --> 00:07:58,400
you can add animations, build custom navigation,
231
00:07:58,400 --> 00:07:59,880
create interactions that aren't possible
232
00:07:59,880 --> 00:08:01,120
in Power BI's canvas.
233
00:08:01,120 --> 00:08:01,920
And here's the key.
234
00:08:01,920 --> 00:08:03,960
You can write data back to the database.
235
00:08:03,960 --> 00:08:05,680
Power BI reports are read only.
236
00:08:05,680 --> 00:08:07,720
In a Fabric app, users can update records,
237
00:08:07,720 --> 00:08:09,520
submit forms, change data.
238
00:08:09,520 --> 00:08:10,960
Here's the insight that matters.
239
00:08:10,960 --> 00:08:13,240
The semantic model becomes the shared foundation.
240
00:08:13,240 --> 00:08:15,440
Both tools can use the same governed data.
241
00:08:15,440 --> 00:08:17,920
You build your model once and then Power BI reports
242
00:08:17,920 --> 00:08:19,560
and Fabric apps both pull from it.
243
00:08:19,560 --> 00:08:22,680
Your measures are consistent, your security rules are consistent,
244
00:08:22,680 --> 00:08:24,680
your data is consistent, the model becomes
245
00:08:24,680 --> 00:08:26,080
the single source of truth.
246
00:08:26,080 --> 00:08:28,320
Both tools are just different ways of interacting with it.
247
00:08:28,320 --> 00:08:30,000
So when you hear goodbye Power BI,
248
00:08:30,000 --> 00:08:33,040
what people really mean is, hello, more options.
249
00:08:33,040 --> 00:08:34,800
They're not saying Power BI is dead,
250
00:08:34,800 --> 00:08:37,440
they're saying they have another way to build on their data.
251
00:08:37,440 --> 00:08:39,680
And for Power BI users, here's the real takeaway.
252
00:08:39,680 --> 00:08:42,280
Your skills become more valuable, not less.
253
00:08:42,280 --> 00:08:45,000
Data modeling, DAX, understanding business logic,
254
00:08:45,000 --> 00:08:47,600
these are the foundation that makes Fabric apps work.
255
00:08:47,600 --> 00:08:49,480
Without a good semantic model, your Fabric app
256
00:08:49,480 --> 00:08:50,760
has nothing to connect to.
257
00:08:50,760 --> 00:08:52,200
The people who understand the data
258
00:08:52,200 --> 00:08:55,040
will be the ones building the best apps.
259
00:08:55,040 --> 00:08:56,440
What you can actually build?
260
00:08:56,440 --> 00:08:57,600
Let's make this real.
261
00:08:57,600 --> 00:09:00,520
What does a Fabric app actually look like in practice?
262
00:09:00,520 --> 00:09:02,240
What kind of things can you build with it?
263
00:09:02,240 --> 00:09:04,800
One common use case is an inventory management dashboard
264
00:09:04,800 --> 00:09:05,840
with write back.
265
00:09:05,840 --> 00:09:07,480
Imagine you're running a warehouse.
266
00:09:07,480 --> 00:09:10,880
Products come in and go out, stock levels change throughout the day.
267
00:09:10,880 --> 00:09:13,360
In a traditional Power BI report, you can see the data,
268
00:09:13,360 --> 00:09:14,640
but you can't act on it.
269
00:09:14,640 --> 00:09:16,120
If you notice a product is running low,
270
00:09:16,120 --> 00:09:18,680
you have to open a separate system to place an order.
271
00:09:18,680 --> 00:09:20,560
With a Fabric app, you build a dashboard
272
00:09:20,560 --> 00:09:23,080
where you click a button in the stock updates right there.
273
00:09:23,080 --> 00:09:24,560
The data flows back to the database.
274
00:09:24,560 --> 00:09:26,360
The next time someone opens the report,
275
00:09:26,360 --> 00:09:27,680
the numbers have changed.
276
00:09:27,680 --> 00:09:29,880
Another example is internal operational dashboards
277
00:09:29,880 --> 00:09:31,200
for specific teams.
278
00:09:31,200 --> 00:09:34,040
HR might want a tool for tracking employee onboarding.
279
00:09:34,040 --> 00:09:36,280
Finance might want a dashboard for expensive approvals.
280
00:09:36,280 --> 00:09:38,560
Logistics might want a real time view of shipments.
281
00:09:38,560 --> 00:09:40,440
These are things you could build with Power BI,
282
00:09:40,440 --> 00:09:41,720
but they'd be read only.
283
00:09:41,720 --> 00:09:44,120
With a Fabric app, each team gets a custom interface
284
00:09:44,120 --> 00:09:45,720
that matches how they actually work.
285
00:09:45,720 --> 00:09:47,480
Forms, buttons, status updates,
286
00:09:47,480 --> 00:09:49,640
and it feels like a real application, not a report.
287
00:09:49,640 --> 00:09:51,000
There's also rapid prototyping.
288
00:09:51,000 --> 00:09:52,800
This is where Fabric apps really shines.
289
00:09:52,800 --> 00:09:54,760
You can go from an idea to a working app
290
00:09:54,760 --> 00:09:56,200
in hours instead of weeks.
291
00:09:56,200 --> 00:09:59,560
Let's say your team needs a tool to track customer feedback.
292
00:09:59,560 --> 00:10:01,760
In the old world, you'd submit a request to IT,
293
00:10:01,760 --> 00:10:03,800
wait for a developer to become available,
294
00:10:03,800 --> 00:10:04,880
go through a design review,
295
00:10:04,880 --> 00:10:06,880
and eventually get something months later.
296
00:10:06,880 --> 00:10:09,520
With Fabric apps, you can build a prototype in an afternoon.
297
00:10:09,520 --> 00:10:11,120
It might not be perfect, but it's good enough
298
00:10:11,120 --> 00:10:13,280
to test with real users and get feedback.
299
00:10:13,280 --> 00:10:16,000
And if it works, you can polish it into a production app.
300
00:10:16,000 --> 00:10:18,040
Data exploration tools are another good fit.
301
00:10:18,040 --> 00:10:21,080
If you've got a semantic model with lots of interesting data,
302
00:10:21,080 --> 00:10:23,160
you can build a custom interface for exploring it.
303
00:10:23,160 --> 00:10:26,040
Maybe you want a dashboard that lets executives browse sales data
304
00:10:26,040 --> 00:10:28,000
by region with a clean layout
305
00:10:28,000 --> 00:10:29,480
that matches your company's branding.
306
00:10:29,480 --> 00:10:32,360
Power BI can do this, but you're limited to its visual controls.
307
00:10:32,360 --> 00:10:34,560
With a Fabric app, you control every pixel.
308
00:10:34,560 --> 00:10:37,200
The layout, the colors, the interactions, all custom.
309
00:10:37,200 --> 00:10:38,640
Let me give you a real example.
310
00:10:38,640 --> 00:10:42,280
One company used Fabric apps to build a real-time inventory tracker
311
00:10:42,280 --> 00:10:43,600
for their warehouse team.
312
00:10:43,600 --> 00:10:45,320
Before this, the warehouse team was working
313
00:10:45,320 --> 00:10:47,640
with spreadsheets that were updated once a day.
314
00:10:47,640 --> 00:10:50,640
By the time they saw the numbers, they were already outdated.
315
00:10:50,640 --> 00:10:53,120
The Fabric app connected to their SQL database
316
00:10:53,120 --> 00:10:56,160
showed livestock levels and let workers update quantities
317
00:10:56,160 --> 00:10:57,240
as items moved.
318
00:10:57,240 --> 00:10:59,000
It replaced a system that took weeks to build
319
00:10:59,000 --> 00:11:00,520
with something that took a few days.
320
00:11:00,520 --> 00:11:02,360
Another team built a flight tracking app.
321
00:11:02,360 --> 00:11:05,160
They had a SQL database with flight schedules, delays,
322
00:11:05,160 --> 00:11:06,280
and data assignments.
323
00:11:06,280 --> 00:11:07,840
The Fabric app read from that database
324
00:11:07,840 --> 00:11:10,400
and displayed everything in a clean interface.
325
00:11:10,400 --> 00:11:13,160
As new data came in, the app updated automatically.
326
00:11:13,160 --> 00:11:15,560
The team didn't need to manage a server or build an API.
327
00:11:15,560 --> 00:11:18,080
They just created the app, connected it to their database,
328
00:11:18,080 --> 00:11:19,080
and it worked.
329
00:11:19,080 --> 00:11:21,000
The key insight here is that these are apps
330
00:11:21,000 --> 00:11:23,760
that would have taken weeks or months to build from scratch.
331
00:11:23,760 --> 00:11:25,520
Now they're possible in a few days.
332
00:11:25,520 --> 00:11:27,280
That's the promise of Fabric apps.
333
00:11:27,280 --> 00:11:29,600
Not that it replaces everything you already do,
334
00:11:29,600 --> 00:11:31,480
but that it makes new things possible.
335
00:11:32,480 --> 00:11:33,640
The limitations.
336
00:11:33,640 --> 00:11:35,920
Now before you start planning your next big project,
337
00:11:35,920 --> 00:11:37,200
let's talk about the boundaries.
338
00:11:37,200 --> 00:11:39,120
Fabric apps is powerful, but it's not magic
339
00:11:39,120 --> 00:11:41,040
and it's not ready for everything just yet.
340
00:11:41,040 --> 00:11:42,720
The biggest thing to know is that fabric apps
341
00:11:42,720 --> 00:11:43,920
is still in public preview.
342
00:11:43,920 --> 00:11:46,200
That means things can change, features can break,
343
00:11:46,200 --> 00:11:48,080
and the documentation might not be complete.
344
00:11:48,080 --> 00:11:49,920
Microsoft is still figuring out what works.
345
00:11:49,920 --> 00:11:51,680
So if you build something today,
346
00:11:51,680 --> 00:11:52,840
you might have to rebuild it
347
00:11:52,840 --> 00:11:55,120
when the feature reaches general availability.
348
00:11:55,120 --> 00:11:56,840
That's the nature of preview software.
349
00:11:56,840 --> 00:11:57,840
It's great for learning,
350
00:11:57,840 --> 00:11:59,600
but you probably don't want to bet your entire business
351
00:11:59,600 --> 00:12:00,600
on it just yet.
352
00:12:00,600 --> 00:12:01,760
Second limitation.
353
00:12:01,760 --> 00:12:04,760
Authentication is limited to EntraID single sign on.
354
00:12:04,760 --> 00:12:07,520
The Microsoft login system for work and school accounts.
355
00:12:07,520 --> 00:12:10,400
You cannot add guest users, allow anonymous access,
356
00:12:10,400 --> 00:12:12,320
or use a custom authentication provider.
357
00:12:12,320 --> 00:12:14,240
This means your apps are only for internal users.
358
00:12:14,240 --> 00:12:16,080
You can't share them with customers or partners.
359
00:12:16,080 --> 00:12:17,880
If you need a customer facing dashboard,
360
00:12:17,880 --> 00:12:20,200
power BI embedded is still the way to go.
361
00:12:20,200 --> 00:12:22,280
Fabric apps is for your organization's people
362
00:12:22,280 --> 00:12:24,280
and only your organization's people.
363
00:12:24,280 --> 00:12:25,480
Third, cost.
364
00:12:25,480 --> 00:12:27,680
Fabric apps runs on your existing fabric capacity,
365
00:12:27,680 --> 00:12:28,880
but it's not free.
366
00:12:28,880 --> 00:12:30,680
Every query, every API call,
367
00:12:30,680 --> 00:12:34,280
every file served consumes capacity units or CUs.
368
00:12:34,280 --> 00:12:35,920
If you're on a small plan like F2,
369
00:12:35,920 --> 00:12:38,040
which costs about $260 a month,
370
00:12:38,040 --> 00:12:40,000
you need to watch your usage carefully.
371
00:12:40,000 --> 00:12:43,000
A few heavy queries can eat up your capacity quickly,
372
00:12:43,000 --> 00:12:44,600
and if you're using AI coding agents
373
00:12:44,600 --> 00:12:47,000
to help build your app, those costs tokens too.
374
00:12:47,000 --> 00:12:49,960
You can burn through a monthly budget faster than you'd expect.
375
00:12:49,960 --> 00:12:52,280
Fourth, no built-in support for complex,
376
00:12:52,280 --> 00:12:55,000
multi-step transactions or stored procedures.
377
00:12:55,000 --> 00:12:56,320
If your app needs to do something
378
00:12:56,320 --> 00:12:58,640
like charge a credit card, update inventory,
379
00:12:58,640 --> 00:13:00,920
and send a confirmation email as a single operation,
380
00:13:00,920 --> 00:13:02,920
Fabric apps doesn't handle that natively.
381
00:13:02,920 --> 00:13:04,320
You need to build that logic yourself
382
00:13:04,320 --> 00:13:05,520
or use a different tool.
383
00:13:05,520 --> 00:13:07,200
Fifth, consistency.
384
00:13:07,200 --> 00:13:09,000
When you use AI to generate your app,
385
00:13:09,000 --> 00:13:11,160
every prompt produces a different result.
386
00:13:11,160 --> 00:13:13,640
The same prompt can give you a completely different layout,
387
00:13:13,640 --> 00:13:15,400
different colors and different behavior.
388
00:13:15,400 --> 00:13:16,760
If you're building multiple apps,
389
00:13:16,760 --> 00:13:18,280
they might look nothing alike.
390
00:13:18,280 --> 00:13:20,400
You can fix this by defining a design system
391
00:13:20,400 --> 00:13:22,200
and being very specific in your prompts,
392
00:13:22,200 --> 00:13:23,400
but it takes effort.
393
00:13:23,400 --> 00:13:25,000
And finally, front-end development
394
00:13:25,000 --> 00:13:27,080
still requires some understanding of code.
395
00:13:27,080 --> 00:13:30,160
Even with AI help, you need to know enough to guide the process.
396
00:13:30,160 --> 00:13:31,720
The AI can write the code,
397
00:13:31,720 --> 00:13:33,440
but you need to be able to tell it what you want
398
00:13:33,440 --> 00:13:34,960
and recognize when it's gone wrong.
399
00:13:34,960 --> 00:13:36,840
If you've never written a line of JavaScript,
400
00:13:36,840 --> 00:13:38,360
you'll find this challenging.
401
00:13:38,360 --> 00:13:39,480
So what does this mean for you?
402
00:13:39,480 --> 00:13:42,240
Fabric apps is powerful, but it's not a silver bullet.
403
00:13:42,240 --> 00:13:43,800
Go in with realistic expectations.
404
00:13:43,800 --> 00:13:46,160
Use it for internal tools, prototypes, and apps
405
00:13:46,160 --> 00:13:47,800
where you control authentication.
406
00:13:47,800 --> 00:13:49,640
And don't abandon Power BI.
407
00:13:49,640 --> 00:13:53,960
It's still the right tool for governed reporting and analysis.
408
00:13:53,960 --> 00:13:55,520
How the pieces fit together.
409
00:13:55,520 --> 00:13:57,720
Let's step back and look at the whole picture.
410
00:13:57,720 --> 00:13:59,960
This is where the RHA moment happens.
411
00:13:59,960 --> 00:14:01,720
Fabric apps isn't a single product.
412
00:14:01,720 --> 00:14:02,720
It's a platform.
413
00:14:02,720 --> 00:14:04,880
It takes the data you already have in fabric,
414
00:14:04,880 --> 00:14:08,200
your semantic models, your SQL databases, your one-leg storage,
415
00:14:08,200 --> 00:14:11,000
and gives you a way to build custom experiences on top.
416
00:14:11,000 --> 00:14:12,320
The connection is the key.
417
00:14:12,320 --> 00:14:15,080
Your semantic model becomes the single source of truth.
418
00:14:15,080 --> 00:14:18,320
Both Power BI and your fabric apps pull from the same model.
419
00:14:18,320 --> 00:14:20,200
When you define a measure in that model,
420
00:14:20,200 --> 00:14:23,320
both your report and your app use the same calculation.
421
00:14:23,320 --> 00:14:25,320
When you update data in your SQL database,
422
00:14:25,320 --> 00:14:27,800
both your app and your Power BI report reflect the change.
423
00:14:27,800 --> 00:14:31,280
No more duplicating logic, no more wondering which version is correct.
424
00:14:31,280 --> 00:14:34,040
This is what Microsoft means when they say end to end.
425
00:14:34,040 --> 00:14:36,680
From data ingestion to reporting to custom applications,
426
00:14:36,680 --> 00:14:37,840
all in one platform.
427
00:14:37,840 --> 00:14:40,400
The data flows from your source systems into one-leg,
428
00:14:40,400 --> 00:14:41,720
gets transformed and modeled,
429
00:14:41,720 --> 00:14:43,520
and then surfaces through whatever tool
430
00:14:43,520 --> 00:14:45,160
makes sense for the job.
431
00:14:45,160 --> 00:14:46,880
Power BI for governed analysis,
432
00:14:46,880 --> 00:14:48,840
fabric apps for custom interactions,
433
00:14:48,840 --> 00:14:50,600
both build on the same foundation.
434
00:14:50,600 --> 00:14:52,400
For a beginner, the takeaway is simple.
435
00:14:52,400 --> 00:14:55,240
Fabric apps extends what you can do with your data.
436
00:14:55,240 --> 00:14:57,240
It doesn't replace what you already have.
437
00:14:57,240 --> 00:15:00,080
Think of it as adding a new room to a house you already live in.
438
00:15:00,080 --> 00:15:03,440
The foundation is the same, the plumbing and electrical are the same,
439
00:15:03,440 --> 00:15:06,360
but now you have a new space to use however you want.
440
00:15:06,360 --> 00:15:07,440
Your next steps.
441
00:15:07,440 --> 00:15:09,000
So where do you actually start?
442
00:15:09,000 --> 00:15:10,720
Let me walk you through a few concrete steps.
443
00:15:10,720 --> 00:15:12,360
If you have a fabric capacity,
444
00:15:12,360 --> 00:15:15,280
go enable the fabric apps preview in your tenant settings.
445
00:15:15,280 --> 00:15:18,000
It's in the admin portal under tenant settings.
446
00:15:18,000 --> 00:15:19,960
You'll need to flip the toggle for fabric apps
447
00:15:19,960 --> 00:15:23,240
and also enable the semantic model execute queries rest API
448
00:15:23,240 --> 00:15:24,760
without both nothing will work.
449
00:15:24,760 --> 00:15:28,360
Next, create a new workspace and try the blank app template.
450
00:15:28,360 --> 00:15:30,520
Don't worry about building anything useful yet.
451
00:15:30,520 --> 00:15:31,800
Just go through the process.
452
00:15:31,800 --> 00:15:34,000
Create the app, look at the generated files
453
00:15:34,000 --> 00:15:36,160
and see what gets created in your workspace.
454
00:15:36,160 --> 00:15:38,440
The SQL database, the API endpoint,
455
00:15:38,440 --> 00:15:39,840
the hosting configuration.
456
00:15:39,840 --> 00:15:41,800
Just seeing the structure will help you understand
457
00:15:41,800 --> 00:15:43,440
how it all fits together.
458
00:15:43,440 --> 00:15:45,600
If you already have a Power BI semantic model,
459
00:15:45,600 --> 00:15:47,000
try the data app template,
460
00:15:47,000 --> 00:15:48,760
connect it to your model and see what happens
461
00:15:48,760 --> 00:15:50,960
when the app reads your measures and relationships.
462
00:15:50,960 --> 00:15:52,800
You don't need to write any code for this,
463
00:15:52,800 --> 00:15:54,560
the template handles everything.
464
00:15:54,560 --> 00:15:57,240
Then use an AI coding agent to make small changes
465
00:15:57,240 --> 00:15:59,400
at a filter, a change a color, move a chart.
466
00:15:59,400 --> 00:16:01,200
The prompts cost tokens,
467
00:16:01,200 --> 00:16:03,080
but a few small experiments will teach you more
468
00:16:03,080 --> 00:16:04,600
than watching 10 tutorials.
469
00:16:04,600 --> 00:16:06,840
You'll see how the AI interprets your requests
470
00:16:06,840 --> 00:16:08,040
and what kind of results you get.
471
00:16:08,040 --> 00:16:10,040
The most important thing you can do right now
472
00:16:10,040 --> 00:16:12,720
is understand where fabric apps fits in your organization.
473
00:16:12,720 --> 00:16:14,200
Identify one use case,
474
00:16:14,200 --> 00:16:16,880
a small internal app that solves a real problem.
475
00:16:16,880 --> 00:16:19,040
Maybe it's a dashboard your team checks every morning
476
00:16:19,040 --> 00:16:21,040
or a form that replaces a spreadsheet.
477
00:16:21,040 --> 00:16:22,120
Pick something small,
478
00:16:22,120 --> 00:16:24,680
something you can build in a day or two and try to build it.
479
00:16:24,680 --> 00:16:27,000
One last thing, this is the beginning of something big.
480
00:16:27,000 --> 00:16:29,760
Fabric apps is in preview now, but it will mature.
481
00:16:29,760 --> 00:16:32,080
Getting familiar with it now means you'll be ready
482
00:16:32,080 --> 00:16:33,640
when it's ready for production.
483
00:16:33,640 --> 00:16:35,320
The people who understand this tool early
484
00:16:35,320 --> 00:16:37,800
will be the ones building the best solutions later.
485
00:16:37,800 --> 00:16:38,720
So that's the system.
486
00:16:38,720 --> 00:16:40,960
Fabric apps is a new way to build on your data,
487
00:16:40,960 --> 00:16:43,320
not a replacement for the tools you already use.
488
00:16:43,320 --> 00:16:46,320
Learn it, experiment with it, but don't abandon what works.
489
00:16:46,320 --> 00:16:48,440
Subscribe for more plain English breakdowns
490
00:16:48,440 --> 00:16:50,000
of Microsoft's data platform
491
00:16:50,000 --> 00:16:53,680
and share this with someone who's confused about the hype, it'll help them too.