<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Matt Hummel</title>
    <description>The latest articles on DEV Community by Matt Hummel (@mattbuildsapps).</description>
    <link>https://dev.to/mattbuildsapps</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2686545%2Fad0735c5-f154-48b7-83d7-5fe213cf56e4.jpeg</url>
      <title>DEV Community: Matt Hummel</title>
      <link>https://dev.to/mattbuildsapps</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mattbuildsapps"/>
    <language>en</language>
    <item>
      <title>Power Apps Filter vs LookUp vs Collections (Quick Guide for Beginners)</title>
      <dc:creator>Matt Hummel</dc:creator>
      <pubDate>Sat, 04 Apr 2026 15:18:14 +0000</pubDate>
      <link>https://dev.to/mattbuildsapps/power-apps-filter-vs-lookup-vs-collections-quick-guide-for-beginners-3afe</link>
      <guid>https://dev.to/mattbuildsapps/power-apps-filter-vs-lookup-vs-collections-quick-guide-for-beginners-3afe</guid>
      <description>&lt;p&gt;If you're learning Power Apps, these three come up fast:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Filter&lt;/li&gt;
&lt;li&gt;LookUp&lt;/li&gt;
&lt;li&gt;Collections&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They’re simple on their own — but easy to mix up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep This Straight
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Filter → multiple records (table)&lt;/li&gt;
&lt;li&gt;LookUp → one record&lt;/li&gt;
&lt;li&gt;Collections → stored data in memory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most issues come from ignoring that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Things Go Wrong
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Common mistakes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using LookUp when multiple results exist&lt;/li&gt;
&lt;li&gt;Using Filter when you only need one record&lt;/li&gt;
&lt;li&gt;Storing everything in a collection “just in case”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The app might still work at first… then break later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Examples
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Filter (for lists)&lt;/li&gt;
&lt;li&gt;Filter(Requests, Status = "Approved")&lt;/li&gt;
&lt;li&gt;LookUp (for one record)&lt;/li&gt;
&lt;li&gt;LookUp(Users, Email = User().Email)&lt;/li&gt;
&lt;li&gt;Common mistake&lt;/li&gt;
&lt;li&gt;Filter(Users, Email = User().Email)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now you’ve got a table, not a record — which complicates everything later.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Filter + LookUp&lt;br&gt;
LookUp(&lt;br&gt;
    Filter(Orders, Status = "Pending"),&lt;br&gt;
    OrderID = varOrderID&lt;br&gt;
)&lt;br&gt;
Collections&lt;br&gt;
ClearCollect(colOrders, Orders)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Use when reusing data — not for everything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Example That Breaks
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;LookUp(Approvals, Status = "Pending")&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Works… until multiple records match.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Better:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Filter(Approvals, Status = "Pending")&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple Rule&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Need a list → Filter&lt;/li&gt;
&lt;li&gt;Need one record → LookUp&lt;/li&gt;
&lt;li&gt;Need to store data → Collections&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;Most issues aren’t complicated — just small misunderstandings early on.&lt;/p&gt;

&lt;p&gt;And your app will usually still work… until it doesn’t.&lt;/p&gt;

&lt;p&gt;🔗 Full Post&lt;/p&gt;

&lt;p&gt;[&lt;a href="https://bit.ly/filter-lookup" rel="noopener noreferrer"&gt;https://bit.ly/filter-lookup&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;💬 Question&lt;/p&gt;

&lt;p&gt;What’s something confusing you’ve run into with Filter or LookUp?&lt;/p&gt;

</description>
      <category>powerapps</category>
      <category>powerplatform</category>
      <category>lowcode</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Your Power App Isn’t Slow — It’s Built Wrong</title>
      <dc:creator>Matt Hummel</dc:creator>
      <pubDate>Sun, 29 Mar 2026 01:50:24 +0000</pubDate>
      <link>https://dev.to/mattbuildsapps/your-power-app-isnt-slow-its-built-wrong-5f9m</link>
      <guid>https://dev.to/mattbuildsapps/your-power-app-isnt-slow-its-built-wrong-5f9m</guid>
      <description>&lt;h2&gt;
  
  
  Why Most Power Apps Feel Slow (It’s Not the Platform)
&lt;/h2&gt;

&lt;p&gt;Most slow Power Apps aren’t a platform issue — they’re a design issue.&lt;/p&gt;

&lt;p&gt;Apps usually start off fine… then slowly get worse.&lt;br&gt;&lt;br&gt;
Longer load times, laggy clicks — just frustrating to use.&lt;/p&gt;

&lt;p&gt;The tricky part?&lt;/p&gt;

&lt;p&gt;It’s almost never one big problem.&lt;/p&gt;

&lt;p&gt;It’s a bunch of small things stacking up.&lt;/p&gt;




&lt;h2&gt;
  
  
  Common Causes of Slow Power Apps
&lt;/h2&gt;

&lt;p&gt;Here are some of the biggest ones I’ve run into:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Loading Too Much Data
&lt;/h3&gt;

&lt;p&gt;It’s easy to pull in everything, but that slows things down fast.&lt;/p&gt;

&lt;p&gt;👉 Only load what the screen actually needs.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Too Much on One Screen
&lt;/h3&gt;

&lt;p&gt;Trying to do everything on one screen makes it heavy.&lt;/p&gt;

&lt;p&gt;👉 Break things into smaller screens.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Overcomplicated Formulas
&lt;/h3&gt;

&lt;p&gt;When formulas stack on top of each other (especially with lookups), performance drops.&lt;/p&gt;

&lt;p&gt;👉 Simpler formulas usually run faster.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Repeated Data Calls
&lt;/h3&gt;

&lt;p&gt;Calling the same data source over and over adds unnecessary load.&lt;/p&gt;

&lt;p&gt;👉 Pull the data once, store it, and reuse it.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Ignoring Delegation
&lt;/h3&gt;

&lt;p&gt;If your app isn’t returning all the data you expect, it’s likely not performing well either.&lt;/p&gt;

&lt;p&gt;👉 Pay attention to delegation warnings early.&lt;/p&gt;




&lt;h3&gt;
  
  
  6. Everything Runs on Load
&lt;/h3&gt;

&lt;p&gt;When everything fires at once, users are stuck waiting.&lt;/p&gt;

&lt;p&gt;👉 Spread logic out instead of doing everything upfront.&lt;/p&gt;




&lt;h3&gt;
  
  
  7. No Feedback to the User
&lt;/h3&gt;

&lt;p&gt;Even small delays feel worse when nothing is happening.&lt;/p&gt;

&lt;p&gt;👉 Add loading indicators or simple feedback.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;None of this is complicated.&lt;/p&gt;

&lt;p&gt;But when you’re building fast, it’s easy to miss.&lt;/p&gt;

&lt;p&gt;Fixing even a couple of these can make a noticeable difference in how your app feels.&lt;/p&gt;




&lt;h2&gt;
  
  
  What About You?
&lt;/h2&gt;

&lt;p&gt;What’s the biggest thing that slowed your Power Apps down?&lt;br&gt;&lt;br&gt;
Or something you fixed that made it noticeably faster?&lt;/p&gt;

</description>
      <category>powerapps</category>
      <category>powerplatform</category>
      <category>lowcode</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Power Apps Beginner Guide: How I’d Build My First App (Step-by-Step)</title>
      <dc:creator>Matt Hummel</dc:creator>
      <pubDate>Sun, 22 Mar 2026 05:57:19 +0000</pubDate>
      <link>https://dev.to/mattbuildsapps/power-apps-beginner-guide-how-id-build-my-first-app-step-by-step-4eie</link>
      <guid>https://dev.to/mattbuildsapps/power-apps-beginner-guide-how-id-build-my-first-app-step-by-step-4eie</guid>
      <description>&lt;p&gt;When I first started learning Power Apps, I felt stuck almost immediately.&lt;/p&gt;

&lt;p&gt;There were a lot of concepts thrown at me all at once — data sources, galleries, forms, formulas — and most tutorials either skipped steps or assumed I already understood part of the platform.&lt;/p&gt;

&lt;p&gt;Looking back, I think I made it harder than it needed to be.&lt;/p&gt;

&lt;p&gt;If I had to start over today, I wouldn’t try to learn everything upfront. I’d just build a simple app that teaches the core patterns.&lt;/p&gt;

&lt;p&gt;Here’s exactly what I would do.&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Should Build First
&lt;/h2&gt;

&lt;p&gt;Don’t try to build something impressive right away.&lt;/p&gt;

&lt;p&gt;Start with an app that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;connects to a data source
&lt;/li&gt;
&lt;li&gt;displays a list of records
&lt;/li&gt;
&lt;li&gt;lets you view or edit a single item
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s it.&lt;/p&gt;

&lt;p&gt;This pattern shows up in most real-world Power Apps. Once you understand it, everything else starts to make more sense.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 1: Create a Canvas App
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Go to:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create → Canvas App → Tablet&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At this stage, don’t worry about layout or styling. Focus on getting something working.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Connect a Data Source
&lt;/h2&gt;

&lt;p&gt;Use something simple like a SharePoint list or Excel file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example structure:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Title
&lt;/li&gt;
&lt;li&gt;Status
&lt;/li&gt;
&lt;li&gt;Created
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing I didn’t realize early on — your app is only as good as your data. Keeping this simple makes everything easier.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Add a Gallery (Your List View)
&lt;/h2&gt;

&lt;p&gt;Insert a vertical gallery and set:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Items = YourDataSource&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: Add a Form (Details View)
&lt;/h2&gt;

&lt;p&gt;Insert an Edit Form and connect it to the same data source.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Item = Gallery1.Selected&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 5: Add a Save Button
&lt;/h2&gt;

&lt;p&gt;Add a button and set:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SubmitForm(Form1)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;At this point, you have a working app.&lt;/p&gt;

&lt;p&gt;It may not look great, but it functions — and that’s what matters early on.&lt;/p&gt;

&lt;p&gt;Optional: Add Navigation Between Screens&lt;/p&gt;

&lt;p&gt;If you want to make it feel more like a real app, add a second screen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Then use:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Navigate(Screen2)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A common structure is:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Screen 1 → list of items&lt;/li&gt;
&lt;li&gt;Screen 2 → details/edit form&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What Slowed Me Down Early On
&lt;/h2&gt;

&lt;p&gt;There were a few things that made learning Power Apps harder than it needed to be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;trying to understand everything before building anything&lt;/li&gt;
&lt;li&gt;overcomplicating the first app&lt;/li&gt;
&lt;li&gt;focusing too much on UI early&lt;/li&gt;
&lt;li&gt;using variables everywhere without a clear reason&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of those helped at the beginning.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Actually Matters
&lt;/h2&gt;

&lt;p&gt;If you’re just starting out, focus on understanding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;galleries&lt;/li&gt;
&lt;li&gt;forms&lt;/li&gt;
&lt;li&gt;basic formulas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That foundation carries you much further than trying to learn advanced concepts too early.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Your first Power Apps app doesn’t need to be impressive.&lt;/p&gt;

&lt;p&gt;It just needs to work.&lt;/p&gt;

&lt;p&gt;Once you’ve built something simple end-to-end, the rest of the platform starts to feel a lot more approachable.&lt;/p&gt;




&lt;h2&gt;
  
  
  What About You?
&lt;/h2&gt;

&lt;p&gt;If you’re learning Power Apps right now:&lt;/p&gt;

&lt;p&gt;What are you trying to build?&lt;br&gt;
What’s been the most confusing part so far?&lt;/p&gt;

&lt;p&gt;I’m curious to hear how others are approaching it.&lt;/p&gt;

</description>
      <category>powerapps</category>
      <category>lowcode</category>
      <category>microsoft</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Power Apps Delegation Explained (Why Your App Only Shows 500 Rows)</title>
      <dc:creator>Matt Hummel</dc:creator>
      <pubDate>Wed, 11 Mar 2026 16:51:11 +0000</pubDate>
      <link>https://dev.to/mattbuildsapps/power-apps-delegation-explained-why-your-app-only-shows-500-rows-16pg</link>
      <guid>https://dev.to/mattbuildsapps/power-apps-delegation-explained-why-your-app-only-shows-500-rows-16pg</guid>
      <description>&lt;p&gt;When I first started building Power Apps, delegation warnings confused me more than almost anything else.&lt;/p&gt;

&lt;p&gt;My app worked perfectly during testing.&lt;/p&gt;

&lt;p&gt;The gallery filtered correctly.&lt;/p&gt;

&lt;p&gt;The formulas looked fine.&lt;/p&gt;

&lt;p&gt;Then later users started saying something strange:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Why can’t I find this record?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The data existed in the SharePoint list, but it wasn’t showing in the app.&lt;/p&gt;

&lt;p&gt;After some digging I discovered the problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delegation.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're newer to Power Apps, this is one of the most common issues you'll run into.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Delegation Actually Means
&lt;/h2&gt;

&lt;p&gt;Delegation simply means Power Apps asks the data source to do the filtering instead of doing it locally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You have a SharePoint list with 10,000 records.&lt;/p&gt;

&lt;p&gt;If the query is delegable, Power Apps sends the request to SharePoint like this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Give me all records where Status = Approved."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;SharePoint does the filtering and returns the results.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Fast and scalable.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But if the formula isn't delegable, Power Apps downloads a limited number of records first and then filters them locally.&lt;/p&gt;

&lt;p&gt;And that’s where problems begin.&lt;/p&gt;

&lt;p&gt;The 500 Row Limit Problem&lt;/p&gt;

&lt;p&gt;By default, Power Apps only retrieves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;500 rows&lt;/li&gt;
&lt;li&gt;or up to 2000 rows if you change the setting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your filter isn’t delegable, Power Apps only checks those rows.&lt;/p&gt;

&lt;p&gt;That means if the record you want is row 3000, the app will never find it.&lt;/p&gt;

&lt;p&gt;The data exists.&lt;/p&gt;

&lt;p&gt;But Power Apps never downloaded it.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Common Delegation Mistake
&lt;/h2&gt;

&lt;p&gt;Here’s a filter that causes delegation problems.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Filter(Employees, Year(StartDate) = 2025)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This requires Power Apps to extract the year from every row locally.&lt;/p&gt;

&lt;p&gt;Because of that, the query cannot be delegated.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Delegable Version
&lt;/h2&gt;

&lt;p&gt;Instead of extracting the year, use a date range.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Filter(&lt;br&gt;
    Employees,&lt;br&gt;
    StartDate &amp;gt;= Date(2025,1,1) &amp;amp;&amp;amp;&lt;br&gt;
    StartDate &amp;lt;= Date(2025,12,31)&lt;br&gt;
)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now the data source can handle the filtering.&lt;/p&gt;

&lt;p&gt;No delegation warning.&lt;/p&gt;

&lt;p&gt;And your app will work correctly with large datasets.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Warning Sign to Watch For
&lt;/h2&gt;

&lt;p&gt;Power Apps actually tries to warn you.&lt;/p&gt;

&lt;p&gt;You’ll see a blue underline under part of your formula with a message like:&lt;/p&gt;

&lt;p&gt;"This function may not work correctly on large data sets."&lt;/p&gt;

&lt;p&gt;Early on I ignored those warnings.&lt;/p&gt;

&lt;p&gt;Later I learned they were telling me exactly what the problem was.&lt;/p&gt;

&lt;p&gt;Now I treat them like an early signal something might break once the data grows.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Simple Rule That Helps
&lt;/h2&gt;

&lt;p&gt;One rule that helped me avoid delegation issues:&lt;/p&gt;

&lt;p&gt;If the data source can do the filtering, let it.&lt;/p&gt;

&lt;p&gt;That usually means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep filters simple&lt;/li&gt;
&lt;li&gt;Avoid manipulating columns inside filters&lt;/li&gt;
&lt;li&gt;Let SharePoint or Dataverse handle the query&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your apps will scale much better.&lt;/p&gt;




&lt;h2&gt;
  
  
  Quick Takeaways
&lt;/h2&gt;

&lt;p&gt;If you're newer to Power Apps, remember this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delegation means the data source handles the query&lt;/li&gt;
&lt;li&gt;Non-delegable formulas only evaluate 500–2000 rows&lt;/li&gt;
&lt;li&gt;The blue underline warning usually means your formula may break later&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you understand that, delegation becomes much easier to work with.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Delegation was one of the hardest concepts for me to understand when I first started building Power Apps.&lt;/p&gt;

&lt;p&gt;Mostly because the app still seems to work during testing.&lt;/p&gt;

&lt;p&gt;Then later when your data grows, problems start appearing.&lt;/p&gt;

&lt;p&gt;Once you understand how Power Apps queries data sources, though, the behavior starts to make sense.&lt;/p&gt;

&lt;p&gt;And learning to spot delegation warnings early saves a lot of debugging time later.&lt;/p&gt;




&lt;p&gt;What delegation issues have you run into when working with larger datasets?&lt;/p&gt;

</description>
      <category>powerapps</category>
      <category>powerplatform</category>
      <category>lowcode</category>
      <category>sharepoint</category>
    </item>
    <item>
      <title>Power Apps Variables Explained: Global vs Context vs Collections</title>
      <dc:creator>Matt Hummel</dc:creator>
      <pubDate>Fri, 06 Mar 2026 03:55:48 +0000</pubDate>
      <link>https://dev.to/mattbuildsapps/power-apps-variables-explained-global-vs-context-vs-collections-4l9n</link>
      <guid>https://dev.to/mattbuildsapps/power-apps-variables-explained-global-vs-context-vs-collections-4l9n</guid>
      <description>&lt;p&gt;When I first started learning Power Apps, variables confused me more than almost anything else.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;At first they all seemed the same:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Global variables&lt;/li&gt;
&lt;li&gt;Context variables&lt;/li&gt;
&lt;li&gt;Collections&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  They all store data, so why do three versions exist?
&lt;/h2&gt;

&lt;p&gt;After building a few apps, the difference finally clicked. The real distinction is scope and purpose.&lt;/p&gt;

&lt;p&gt;Once you understand where each variable should live, building Power Apps becomes much easier.&lt;/p&gt;




&lt;h2&gt;
  
  
  Let’s break it down in plain language.
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Global Variables
&lt;/h3&gt;

&lt;p&gt;Global variables are available anywhere in your app.&lt;/p&gt;

&lt;p&gt;You create them using the &lt;strong&gt;Set()&lt;/strong&gt; function.&lt;/p&gt;

&lt;p&gt;These are useful when you need to store information that multiple screens need to access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Common examples include:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Current user information&lt;/li&gt;
&lt;li&gt;Selected record IDs&lt;/li&gt;
&lt;li&gt;App-level settings&lt;/li&gt;
&lt;li&gt;Navigation state&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Set(varUserEmail, User().Email)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now &lt;strong&gt;varUserEmail&lt;/strong&gt; can be used anywhere in the app.&lt;/p&gt;

&lt;p&gt;You’ll often see global variables created when a button is clicked or when a user selects something from a gallery.&lt;/p&gt;

&lt;p&gt;Think of global variables as shared memory across the entire app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Context Variables
&lt;/h2&gt;

&lt;p&gt;Context variables only exist on a single screen.&lt;/p&gt;

&lt;p&gt;They are created using &lt;strong&gt;UpdateContext()&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;These are perfect for controlling screen behavior and UI elements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples include:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Opening or closing popups&lt;/li&gt;
&lt;li&gt;Showing or hiding containers&lt;/li&gt;
&lt;li&gt;Tracking selected items within the screen&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;UpdateContext({showPopup:true})&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you navigate to another screen, that context variable disappears.&lt;/p&gt;

&lt;p&gt;This limited scope is actually a good thing because it keeps screen logic contained and easier to manage.&lt;/p&gt;

&lt;p&gt;Think of context variables as screen-level state.&lt;/p&gt;

&lt;h2&gt;
  
  
  Collections
&lt;/h2&gt;

&lt;p&gt;Collections are different from the other two because they store tables of data.&lt;/p&gt;

&lt;p&gt;You create them using &lt;strong&gt;Collect()&lt;/strong&gt; or &lt;strong&gt;ClearCollect()&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collections are useful when you want to:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Store temporary datasets&lt;/li&gt;
&lt;li&gt;Cache data for performance&lt;/li&gt;
&lt;li&gt;Modify records before saving them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ClearCollect(colEmployees, Employees)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now colEmployees contains a table of employee records that you can filter, update, or display in galleries.&lt;/p&gt;

&lt;p&gt;Think of collections as temporary in-memory tables inside your app.&lt;/p&gt;




&lt;h2&gt;
  
  
  Quick Comparison
&lt;/h2&gt;

&lt;p&gt;Here’s the simple way to remember the difference.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Global variables&lt;/strong&gt;&lt;br&gt;
App-wide values used across screens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context variables&lt;/strong&gt;&lt;br&gt;
Screen-level variables used for UI logic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collections&lt;/strong&gt;&lt;br&gt;
Tables of data stored locally inside the app.&lt;/p&gt;




&lt;h2&gt;
  
  
  When I Usually Use Each One
&lt;/h2&gt;

&lt;p&gt;After working with Power Apps for a while, this became my general rule:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use global variables when multiple screens need the value.&lt;/li&gt;
&lt;li&gt;Use context variables when the value only matters on the current screen.&lt;/li&gt;
&lt;li&gt;Use collections when you're storing multiple records or manipulating data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That small distinction makes apps much easier to structure and debug.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Variables are one of those concepts that seem confusing at first, but once they click, your Power Apps development gets much smoother.&lt;/p&gt;

&lt;p&gt;Understanding the scope of each variable type helps keep your apps cleaner and easier to maintain.&lt;/p&gt;




&lt;h2&gt;
  
  
  What About You?
&lt;/h2&gt;

&lt;p&gt;How do you usually structure variables in your apps?&lt;/p&gt;

&lt;p&gt;Do you rely mostly on global variables, or try to keep things scoped with context variables?&lt;/p&gt;

&lt;p&gt;Always curious how other Power Apps developers approach this.&lt;/p&gt;

</description>
      <category>powerapps</category>
      <category>powerplatform</category>
      <category>microsoft</category>
      <category>lowcode</category>
    </item>
    <item>
      <title>Power Apps Naming Conventions I Wish I Used From Day One</title>
      <dc:creator>Matt Hummel</dc:creator>
      <pubDate>Wed, 04 Mar 2026 00:17:49 +0000</pubDate>
      <link>https://dev.to/mattbuildsapps/power-apps-naming-conventions-i-wish-i-used-from-day-one-adb</link>
      <guid>https://dev.to/mattbuildsapps/power-apps-naming-conventions-i-wish-i-used-from-day-one-adb</guid>
      <description>&lt;p&gt;When I first started building Power Apps, I didn’t think naming conventions mattered.&lt;/p&gt;

&lt;p&gt;Everything worked… until my app grew and formulas became impossible to read.&lt;/p&gt;

&lt;p&gt;A few simple naming habits completely changed how easy my apps were to maintain.&lt;/p&gt;

&lt;p&gt;When you first start building Power Apps, naming things doesn’t feel important.&lt;/p&gt;

&lt;p&gt;You’re focused on getting the app working.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So you leave names like:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Label1&lt;/li&gt;
&lt;li&gt;Gallery3&lt;/li&gt;
&lt;li&gt;ButtonSubmit2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At first it works fine.&lt;/p&gt;

&lt;p&gt;Then your app grows… and suddenly your formulas look like a mess.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;If(Label12.Visible, Gallery3.Selected.Title, TextInput5.Text)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;At that point, finding anything becomes painful.&lt;/p&gt;

&lt;p&gt;After building more apps, I realized naming conventions make Power Apps much easier to maintain.&lt;/p&gt;

&lt;p&gt;This post covers a simple naming structure that keeps apps organized and easier to read.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Naming Conventions Matter
&lt;/h2&gt;

&lt;p&gt;Power Apps apps can grow quickly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One screen might contain:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;dozens of controls&lt;/li&gt;
&lt;li&gt;multiple variables&lt;/li&gt;
&lt;li&gt;several data sources&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without a naming structure, it becomes hard to understand what anything does.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consistent naming makes apps easier to:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;read&lt;/li&gt;
&lt;li&gt;debug&lt;/li&gt;
&lt;li&gt;maintain&lt;/li&gt;
&lt;li&gt;collaborate on&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Microsoft’s own Power Apps coding guidance recommends using consistent naming for screens, controls, variables, and collections because it improves readability and maintainability.&lt;/p&gt;

&lt;p&gt;Think of naming conventions like organizing tools in a toolbox.&lt;br&gt;
Everything has a place.&lt;/p&gt;

&lt;h2&gt;
  
  
  Basic Naming Pattern
&lt;/h2&gt;

&lt;p&gt;A common structure for controls is:&lt;/p&gt;

&lt;p&gt;prefix_Purpose&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;btn_SubmitForm&lt;/li&gt;
&lt;li&gt;txt_UserEmail&lt;/li&gt;
&lt;li&gt;lbl_StatusMessage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The prefix tells you what type of control it is.&lt;/p&gt;

&lt;p&gt;The name tells you what it does.&lt;/p&gt;

&lt;p&gt;When you’re writing formulas, this saves a lot of time.&lt;/p&gt;




&lt;h2&gt;
  
  
  Common Control Prefixes
&lt;/h2&gt;

&lt;p&gt;Here are some common Power Apps control prefixes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Buttons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;btn_Submit&lt;/li&gt;
&lt;li&gt;btn_SaveForm&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Labels&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;lbl_Status&lt;/li&gt;
&lt;li&gt;lbl_ErrorMessage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Text Inputs&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;txt_Email&lt;/li&gt;
&lt;li&gt;txt_UserName&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Galleries&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gal_Employees&lt;/li&gt;
&lt;li&gt;gal_RequestList&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Forms&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;frm_Request&lt;/li&gt;
&lt;li&gt;frm_EmployeeEdit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Dropdowns&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;drp_Department&lt;/li&gt;
&lt;li&gt;drp_Status&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Checkboxes&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;chk_Approved&lt;/li&gt;
&lt;li&gt;chk_IsActive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Icons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ico_Delete&lt;/li&gt;
&lt;li&gt;ico_Edit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The goal is simple:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;prefix&lt;/strong&gt; = control type&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;name&lt;/strong&gt; = what it does&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So when you see something like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;btn_SubmitRequest&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Many developers use these prefixes because they quickly show the control type when writing formulas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Naming Screens
&lt;/h2&gt;

&lt;p&gt;Screens should clearly describe what they do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Home Screen&lt;/li&gt;
&lt;li&gt;Employee Request Screen&lt;/li&gt;
&lt;li&gt;Approval Screen&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Bad:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Screen1&lt;/li&gt;
&lt;li&gt;Dashboard&lt;/li&gt;
&lt;li&gt;Page2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Descriptive screen names also help accessibility tools like screen readers understand the app layout.&lt;/p&gt;




&lt;h2&gt;
  
  
  Naming Variables
&lt;/h2&gt;

&lt;p&gt;Variables should tell you what they store and where they are used.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example pattern:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gblUserEmail&lt;/li&gt;
&lt;li&gt;locIsLoading&lt;/li&gt;
&lt;li&gt;varSelectedItem&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Typical prefixes:&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Prefixes and Meanings
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;gbl Global variable&lt;/li&gt;
&lt;li&gt;loc Context variable&lt;/li&gt;
&lt;li&gt;var General variable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes it easier to quickly understand the scope of a variable when reading formulas.&lt;/p&gt;

&lt;h3&gt;
  
  
  Naming Collections
&lt;/h3&gt;

&lt;p&gt;Collections usually start with col.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;colEmployees&lt;/li&gt;
&lt;li&gt;colNavigationMenu&lt;/li&gt;
&lt;li&gt;colActiveRequests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A good rule is to describe what the collection contains.&lt;/p&gt;




&lt;h3&gt;
  
  
  A Real Example
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Instead of this:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gallery1&lt;/li&gt;
&lt;li&gt;Label4&lt;/li&gt;
&lt;li&gt;Button2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use something like:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gal_Employees&lt;/li&gt;
&lt;li&gt;lbl_EmployeeName&lt;/li&gt;
&lt;li&gt;btn_SaveEmployee&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now your formulas read like actual logic:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;btn_SaveEmployee.Visible&lt;br&gt;
gal_Employees.Selected.Name&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Much easier to understand.&lt;/p&gt;

&lt;p&gt;The Most Important Rule&lt;/p&gt;

&lt;p&gt;There isn’t one perfect naming system.&lt;/p&gt;

&lt;p&gt;Different teams use slightly different patterns.&lt;/p&gt;

&lt;p&gt;The important part is consistency.&lt;/p&gt;

&lt;p&gt;A consistent naming structure makes apps easier to navigate, debug, and maintain over time.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Power Apps lets you build solutions very quickly.&lt;/p&gt;

&lt;p&gt;But if you skip naming conventions early, the app can become difficult to maintain later.&lt;/p&gt;




&lt;h3&gt;
  
  
  A few simple naming habits make a big difference:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;use clear prefixes&lt;/li&gt;
&lt;li&gt;describe the purpose of controls&lt;/li&gt;
&lt;li&gt;keep names consistent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your future self will thank you.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Curious what naming conventions other Power Apps developers are using. Do you follow a standard pattern or something different?&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>powerapps</category>
      <category>powerplatform</category>
      <category>lowcode</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Pull Office 365 User Data in Power Apps (Simple Example)</title>
      <dc:creator>Matt Hummel</dc:creator>
      <pubDate>Tue, 03 Mar 2026 22:06:53 +0000</pubDate>
      <link>https://dev.to/mattbuildsapps/pull-office-365-user-data-in-power-apps-simple-example-21i</link>
      <guid>https://dev.to/mattbuildsapps/pull-office-365-user-data-in-power-apps-simple-example-21i</guid>
      <description>&lt;h2&gt;
  
  
  Pull Office 365 User Data into Power Apps
&lt;/h2&gt;

&lt;p&gt;One problem I ran into early when building Power Apps was working with &lt;strong&gt;user information&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Things like:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who is the current user?&lt;/li&gt;
&lt;li&gt;What department are they in?&lt;/li&gt;
&lt;li&gt;Who is their manager?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At first I handled this the wrong way — manually storing user data in lists or tables. That works for small demos, but it quickly becomes messy in real apps.&lt;/p&gt;

&lt;p&gt;A better approach is using the &lt;strong&gt;Office 365 Users connector&lt;/strong&gt;, which pulls user information directly from Microsoft 365.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Is Useful
&lt;/h2&gt;

&lt;p&gt;User data shows up in a lot of apps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;approval workflows
&lt;/li&gt;
&lt;li&gt;assigning records
&lt;/li&gt;
&lt;li&gt;sending emails
&lt;/li&gt;
&lt;li&gt;filtering data by user
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of maintaining a separate user list, you can pull the data directly from your organization’s directory.&lt;/p&gt;




&lt;h2&gt;
  
  
  Add the Office 365 Users Connector
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;In Power Apps Studio:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Data&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add data&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Search for &lt;strong&gt;Office 365 Users&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Add the connector&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once it’s added, you can start using it in formulas.&lt;/p&gt;




&lt;h2&gt;
  
  
  Get the Current User
&lt;/h2&gt;

&lt;p&gt;Power Apps already provides a simple function:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;User().FullName&lt;br&gt;
User().Email&lt;br&gt;
User().Image&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For many apps, this is all you need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get More Profile Information
&lt;/h2&gt;

&lt;p&gt;The Office 365 Users connector lets you retrieve additional profile data.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Office365Users.MyProfile()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Office365Users.MyProfile().DisplayName&lt;br&gt;
Office365Users.MyProfile().JobTitle&lt;br&gt;
Office365Users.MyProfile().Department&lt;br&gt;
Office365Users.MyProfile().Mail&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This lets you display things like job title or department inside your app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get a User’s Manager
&lt;/h2&gt;

&lt;p&gt;This is especially useful for approval apps.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Office365Users.Manager(User().Email).DisplayName&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Get a User’s Manager
&lt;/h2&gt;

&lt;p&gt;This is especially useful for approval apps.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Office365Users.Manager(User().Email).DisplayName&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Or retrieve their email:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Office365Users.Manager(User().Email).Mail&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now approvals can automatically route to the correct manager.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance Tip
&lt;/h2&gt;

&lt;p&gt;Avoid calling the connector repeatedly across many controls.&lt;/p&gt;

&lt;p&gt;Instead store the profile in a variable when the app loads:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Set(varUserProfile, Office365Users.MyProfile())&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Then reference the variable:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;varUserProfile.DisplayName&lt;br&gt;
varUserProfile.Department&lt;br&gt;
varUserProfile.JobTitle&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This keeps your app faster and formulas cleaner.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;When I first started working with Power Apps, I didn’t realize how much useful data was already available through Microsoft 365 connectors.&lt;/p&gt;

&lt;p&gt;Using the Office 365 Users connector makes it easy to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;retrieve user profiles&lt;/li&gt;
&lt;li&gt;find managers&lt;/li&gt;
&lt;li&gt;personalize apps&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Reduce manual data maintenance
&lt;/h2&gt;

&lt;p&gt;If you're building internal business apps, this connector quickly becomes one of the most useful tools in Power Apps.&lt;/p&gt;

&lt;p&gt;I’m currently documenting my &lt;a href="https://matthummel.com/power-apps/pull-office-365-user-data/" rel="noopener noreferrer"&gt;Power Platform learning journey&lt;/a&gt; and sharing what I learn while building real apps.&lt;/p&gt;

</description>
      <category>powerapps</category>
      <category>microsoft365</category>
      <category>lowcode</category>
      <category>webdev</category>
    </item>
    <item>
      <title>From Reader to Contributor: Why I’m Finally Posting on Dev.to</title>
      <dc:creator>Matt Hummel</dc:creator>
      <pubDate>Tue, 03 Mar 2026 12:42:29 +0000</pubDate>
      <link>https://dev.to/mattbuildsapps/from-reader-to-contributor-why-im-finally-posting-on-devto-231</link>
      <guid>https://dev.to/mattbuildsapps/from-reader-to-contributor-why-im-finally-posting-on-devto-231</guid>
      <description>&lt;p&gt;Why I’m Finally Posting on Dev.to&lt;/p&gt;

&lt;p&gt;I’ve been reading Dev.to for a while.&lt;/p&gt;

&lt;p&gt;I’ve learned from other builders here. Picked up patterns. Solved problems because someone else shared theirs.&lt;/p&gt;

&lt;p&gt;But I never posted anything myself — until now.&lt;/p&gt;

&lt;p&gt;For the past few years, I’ve been working in the Microsoft Power Platform after spending about 15 years building traditional web projects. And honestly, the transition wasn’t smooth.&lt;/p&gt;

&lt;p&gt;Delegation errors confused me.&lt;br&gt;
I mixed up triggers and actions.&lt;br&gt;
I built flows that ran way more times than they should have.&lt;/p&gt;

&lt;p&gt;Low-code didn’t mean simple.&lt;/p&gt;

&lt;p&gt;Over time, though, something clicked. The Power Platform isn’t about replacing “real development.” It’s about solving business problems faster — especially when requirements change constantly.&lt;/p&gt;

&lt;p&gt;Most of what I’ve learned came from breaking things in real projects and figuring out why they broke.&lt;/p&gt;

&lt;p&gt;That’s what I’ll share here:&lt;/p&gt;

&lt;p&gt;• Practical Power Apps lessons&lt;br&gt;
• Common Power Automate mistakes&lt;br&gt;
• What I’d do differently now&lt;br&gt;
• Real-world patterns that actually scale&lt;/p&gt;

&lt;p&gt;No polished demos. No marketing spin. Just honest lessons from someone building and learning as he goes.&lt;/p&gt;

&lt;p&gt;If you’re newer to Power Platform — or transitioning from traditional dev like I did — you’re not alone.&lt;/p&gt;

&lt;p&gt;Let’s build smarter.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>community</category>
      <category>devjournal</category>
      <category>microsoft</category>
    </item>
  </channel>
</rss>
