
Search Content
186 results found with an empty search
- 5 SharePoint + Power Apps Features You Should Be Using (But Probably Aren’t)
If you’ve been around the Power Platform for even a minute, you know SharePoint is one of the most common data sources for Power Apps. It’s everywhere. But here’s the thing: most makers are only scratching the surface. You might know that you can build a canvas app on top of a SharePoint list, but that’s just the tip of the iceberg. In this article, you’ll learn five different ways SharePoint and Power Apps work together , some simple, some advanced, that can dramatically improve your apps and your SharePoint experience. Whether you’re customizing list forms, embedding apps directly into SharePoint pages, or experimenting with Dataverse virtual tables, you’ll walk away with new tricks to put into action. And of course, if you prefer to watch than read, there is a full YouTube video SharePoint and Power Apps are better together . Sometimes those demos are better in action, than in stills. Why Power Apps and SharePoint Work So Well Together SharePoint has been the backbone of collaboration and content management in Microsoft 365 for years; heck I started with it in 2003 😲. Power Apps gives you the ability to turn that data into apps without writing code. Together, they create a supercharged combo: Familiar data storage in SharePoint (lists, libraries, permissions). Custom user interfaces and automation with Power Apps. Seamless integration into Teams, Outlook, Copilot, and the rest of Microsoft 365. And not only is the combo also but it is popular. My back of the napkin math says that the most popular data source for Power Apps is SharePoint. I have no proof but... I have been doing this since day one and I feel pretty good about my assessment. Now let’s break down the 5 integrations every maker should know. 1 - Customize SharePoint List Forms with Power Apps First lets talk about using Power Apps to make the SharePoint browser experience better. By default, SharePoint list forms are basic. They work, but they’re not exactly exciting. With Power Apps, you can turn those forms into customized, interactive apps. What you can do: Add multiple screens (like a step-by-step wizard). Embed a Power BI dashboard right into the form. Add any of the 1,500+ Power Platform connectors to do things like Trigger Outlook emails Teams notifications Pull in other data sources Use conditional formatting, logic, and dynamic controls. Step-by-step: Open your SharePoint list. Go to Integrate > Power Apps > Customize forms . Power Apps will open a pre-built form tied to your list. Use the Power Apps designer to customize it however you want. Publish back to SharePoint. Pro tips: Don’t overdo it, heavily customized forms can get fragile. Permissions are controlled by SharePoint, not Power Apps. You can’t export these forms to other lists or environments. A custom SharePoint list form with a PBI Tile and Outlook button built with Power Apps. 2 - Embed Power Apps in SharePoint Pages Sometimes you want to add a Power Apps app to a SharePoint page. This keeps users inside SharePoint by embedding apps right on your intranet pages. Less clicking and less tabs equals less likely they get lost or distracted. How it works: Edit a modern SharePoint page. Add a new web part and search for Power Apps . Paste in the app URL. Resize and position the app for a natural fit. Bonus tip: If you don't mind extra tabs, instead of embedding, use the button web part to link users directly to an app. It keeps the page clean but makes apps one click away. A SharePoint Page with a Button Web Part for launching Power Apps and a Power Apps web part for displaying the app on the page. 3. Store Files in SharePoint Document Libraries Here’s a big one: when your app needs to handle files, always choose SharePoint document libraries , not list attachments. In my humble opinion, SharePoint is the literal best place to store a file to be used interactively for Power Apps. Why? Because users get: Inline previews and thumbnails (images, PDFs, Office docs). The ability to edit files directly in the browser. Automatic versioning and co-authoring. How to connect in Power Apps: In Power Apps, click Add data . Select SharePoint . Choose your site and document library. Build galleries or forms to interact with the files. A Power Apps gallery configured as a SharePoint Document Library explorer showing the file thumbnails. 4. Use SharePoint Lists as a Data Source This one’s the classic: SharePoint lists as your app’s backend. It’s simple, effective, and included in most Microsoft 365 licenses. You already knew this one but I felt obligated to include it anyway. Why it works well: SharePoint lists act like tables. Permissions are already baked in. It’s cost-effective compared to Dataverse. But… You’ll hit delegation limits if your data grows too big. It’s not meant to be an enterprise-scale database. A Power Apps app for managing Inventory Check In and Check Out with the data stored in SharePoint. 5. Explore Virtual Tables with Dataverse Sometimes we want to do crazy, over the top things. If your company is building in Dataverse and sometimes you wished you could pull in SharePoint, you can. Dataverse supports virtual tables that can connect directly to SharePoint lists. This lets you: Build model-driven apps or Power Pages without migrating the data. Combine SharePoint data with other Dataverse tables. Things to watch out for: Not all SharePoint column types are supported. Errors are common—it takes testing and patience. Licensing costs are the same as Dataverse, so often it’s smarter to migrate. There is a lot of gotchas, and rarely are the best answer. The interface for adding a Virtual Table in Dataverse. Recap: SharePoint + Power Apps = Better Together To sum it up, here are five ways SharePoint and Power Apps work hand-in-hand: Customize list forms. Embed apps in pages. Store files in document libraries. Use lists as data sources. Experiment with Dataverse virtual tables. Each option opens up new opportunities for your apps and your business processes. Next Steps Want to take these ideas further? At PowerApps911 we specialize in helping organizations like yours: Build custom Power Apps that solve real business problems. Train your team through Power Apps training and mentoring programs. Support you in using not just SharePoint and Power Apps, but also Power Automate, Power BI, and Microsoft Copilot. If we can do anything to help just click the Contact Us button in the top right corner and we are here for you.
- How to Patch Dataverse Lookup Fields in Power Automate (Step-by-Step Guide)
Why Lookups Matter This one’s for the Dataverse people. 👋 When you’re setting up your data model, Lookup fields can play a big role for several reasons. These columns make it much easier to connect your data, keep things consistent, and make your apps feel smarter and more reliable. Good database design is really the foundation of any successful Power Platform project. But here’s the catch: it’s not just about building the right tables and relationships. It’s also about knowing how the rest of the platform will interact with those choices. And every once in a while, you’ll stumble across something that isn’t as obvious as you’d expect. Patching Lookup fields in Power Automate is a perfect example of that. The Challenge with Patching Lookup Fields in Power Automate At first glance, it feels like it should be easy. Getting a record from Dataverse is pretty straightforward: use the Get Row action, drop in the GUID, and you’re good to go. So naturally, you’d expect updating (patching) a Lookup field to work the same way. But that’s where things get tricky. It turns out that patching a Dataverse Lookup field in Power Automate requires very specific formatting. The good news? Once you know the secret, it’s smooth sailing. The Solution While the GUID is important, you also need the Entity Set Name (which is just the Dataverse term for a table name). Luckily, it’s easy to find: Go to your Dataverse tables overview . Open the table you want. In the left panel under Table Properties , click Tools . Select Copy Set Name (for example, pa911_testdata). Now, head back to your Power Automate flow: In your Create Item or Update Item action, find the Lookup field. Paste your Set Name, followed by parentheses () (example: pa911_testdata()). Add the GUID inside the parentheses. Code: pa911_testdata(GUID) It should look like this: Your final result should look like this (an actual table is being used for this example) And that’s all there is to it! You can even pass the GUID through a variable, dynamic content, or inside an Apply to each . As long as the string is formatted properly, it’ll work every time. Recap Dataverse Lookup fields are powerful for connecting your data and building a strong data model. But when it comes to patching them in Power Automate, the formatting can trip you up if you don’t know the trick. Here’s the quick takeaway: You need both the GUID and the Entity Set Name . Format it like: EntitySetName(GUID) Use it directly in your Power Automate flow (variables and dynamic content work too). With this approach, updating Dataverse Lookup fields in Power Automate becomes simple and predictable. No more guesswork, just smooth automation. If you're looking for some quick help with Dataverse, Lookups, Power Automate or maybe something else, we are just a click away. Reach out, and let us know how we can help!
- Mastering Power FX for Better Apps
Power FX: Built for Makers Power FX is the engine behind how your apps and automations behave. If you’ve ever written a formula in Excel, you’re already halfway there. Microsoft designed Power FX to feel familiar and intuitive, so your spreadsheet skills translate directly into building smarter, faster solutions. Pro Tip: Microsoft’s Power FX Reference is a must-have bookmark. It’s searchable, well-structured, and kept up to date with every new function. Read the Helper Text (Yes, Really) That little pop-up box when you write a formula? It’s called helper text, and it’s more powerful than most people realize. It walks you through what’s required, what’s optional, and where you are in the formula, step by step. That blue highlight? It’s your guide that tells you where you currently are! For example, typing "If( " will show you exactly what content this formula requires: the logical test and the true result. Optional parts are hidden behind ellipses (…); just type a comma or semicolon to move forward. Once you know how to read it, writing complex formulas becomes much less frustrating and a lot more efficient. Don’t Ignore the “Error” Functions Power FX includes built-in ways to catch and handle errors gracefully, a must for building apps your users can trust. Use IsError() or IfError() to catch issues without showing red error messages. Example: IfError(1/0, "Oops, something went wrong") This keeps your app running smoothly and gives users clear, helpful feedback when something doesn't go as expected. Use Variables, But Use Them Intentionally It’s tempting to Set() everything, but too many global variables can turn into a debugging nightmare. Use them where they make sense. Then consider alternatives like passing values directly or using ClearCollect() to store and reuse data. Local variables (UpdateContext()) are great for managing screen-specific state without cluttering your app. Shane dives deeper into this in his 201 training , especially how to avoid "variable soup." Key Takeaway Power FX is designed to be approachable, but mastering its features, like helper text, error handling, and smart variable use, can dramatically improve the reliability and maintainability of your apps. Build with intention, and you’ll build apps your users love. If you're looking for some quick help with Power FX or maybe something else you are working on, we are just a click away. Reach out, and let us know how we can help!
- Case File: Is SharePoint a Database?
Scene: A cold interrogation room. A single chair under a blinding light. Sitting in that chair? SharePoint. The crime it’s accused of? Pretending to be a database for Power Apps. Let’s open the case file and see what the evidence says. But of course, if you prefer the full details in action, then check out my full-length video on Is SharePoint a Database? Exhibit A: Can SharePoint Even Connect? First things first: does SharePoint show up in Power Apps as a data source? Yep. You can add a SharePoint list, pull in records, and build screens. Personally, I still think this is the most common scenario for Canvas apps. But wait, there is even more than you might notice at first glance. You can also connect to SharePoint Document Libraries. 🤯 And do you know where the absolute best place in the world to store files is for a Power Apps app? SharePoint. With your files stored there, instead of in a file column or even an attachment, you can leverage all of the power of Office Online to view and edit those files. Try editing a file stored in Dataverse or SQL, I will wait... yeah, not really a thing. Add SharePoint as a Data Source just like all of the other "databases" Exhibit B: Column Types Traditional databases love complexity. SQL Server offers more data types than you’ll ever need (and probably a few you’ll never understand, I don't). SharePoint? It keeps it simple. You don’t pick between decimal, int, and float, you just use Number. And SharePoint gives you Choice columns , which let users pick from a dropdown of values. SQL doesn’t have that out of the box. The list of Column types for SQL and SharePoint Dataverse offers the best of both worlds but still gets a little confusing. In the end, SharePoint definitely wins the user-friendly award here. Exhibit C: Relationships with SharePoint as a database In SQL, setting up relationships means defining primary keys, foreign keys, and constraints. Powerful, yes but also super hard to do well. SharePoint simplifies things with Lookup columns. If you want your Employees list to reference a Departments list? Just add a lookup and you’re done. No foreign keys required or understanding what that even means, it just works. SharePoint create a Lookup column Dataverse does do this even better than SharePoint. The ability to dot notate your way through the relationship is awesome. It would be the winner if we were keeping score. Exhibit D: Scale This is where SharePoint’s story falls apart. The official documentation says a list can hold 30 million items. 🤣 Reality check? Not if you actually want to use them. In practice, SharePoint is fine for a few thousand records when being used as a database . With indexed columns, maybe 25,000. But performance slows as the numbers climb. SQL and Dataverse, on the other hand, handle millions of rows without breaking a sweat. SharePoint list view threshold warning Exhibit E: Security SharePoint surprises us here. Unlike SQL, which usually manages security at the table level, SharePoint lets you configure row-level permissions. Not sure I would recommend you ever do this in SharePoint but technically possible. Item-level security is not perfect; it is tedious and doesn’t scale well but the flexibility is there. Dataverse still has the most robust security model (table, row, column, and org-level), but it’s also the hardest to configure. Exhibit F: ALM (Application Lifecycle Management) Moving apps from dev to test to prod? SharePoint is the weak link. Lists don’t package nicely into solutions, and replicating schema across environments is a pain. Best answer might be to create your SharePoint lists with PowerShell but that is a lot of work, and new stuff to learn for many people. Dataverse shines here with solutions, and SQL is straightforward with scripts. SharePoint? Let’s just say you don’t want to build a career on ALM with it. A Power Apps solution with Dataverse app and table Exhibit G: Normalization vs Reality Every DBA loves normalization , splitting data into multiple tables with relationships. I know in college we literally spent 2 years on this concept. 🤮 But Power Apps doesn’t always love it. Heavily normalized data can slow your app way down. SharePoint’s wide-table style (even with some repeated data) often makes apps faster and simpler. Sometimes the “bad database design” is actually the right choice for Power Apps performance. Don't shoot the messenger. The Verdict So, is SharePoint a database? Yes, technically. It stores tabular data, supports relationships, and connects to Power Apps. No, if you’re comparing it to SQL Server. It doesn’t scale or normalize the same way. But who cares? In Power Apps, the real question is: does it meet the needs of your app? SharePoint is the most popular Power Apps data source in the world, in my educated opinion. Largely because it’s included in Microsoft 365 licenses for Standard Power Apps. Dataverse and SQL are better for scale and ALM, but SharePoint is the “free” option that just works for thousands of makers. So maybe we stop asking “Is SharePoint a database?” and start asking “ Does SharePoint work for this app? ” Case closed. If you’re wrestling with data sources in Power Apps, don’t go alone into the interrogation room. Hit that contact button and call in the pros. Sometimes all it takes is a quick 30-minute consult to crack the case, and other times we roll out the full PowerApps911 squad to build something big. Either way, we’ve solved thousands of cases just like yours and we’re always ready for the next investigation.
- Power Platform Admin Center: Classic Retires September 3, 2025 - Here’s What You Need to Know
Big news for Power Platform admins: the Classic Power Platform Admin Center is being retired on September 3, 2025 . If you’ve been relying on the old interface, now’s the time to get comfortable with the new Power Platform Admin Center . The good news? The new experience isn’t just a facelift - it brings new features, better organization, and smarter insights to make administration easier. Let’s explore what’s changing, what’s brand-new, and how to get ready for the transition. Why Is the Classic Power Platform Admin Center Going Away? Microsoft is phasing out the Classic Admin Center to deliver a task- and outcome-driven design . Instead of burying settings under menus, the new Admin Center groups things by what admins actually want to achieve. Key Benefits of the New Admin Center Simplified navigation - outcome-focused menus make tasks quicker. Smarter insights - proactive recommendations via the Actions tab. Modern monitoring - dashboards and health tracking built-in. Future-focused - ready for features like Copilot governance, pipelines, and improved security. When Will the Classic Power Platform Admin Center Be Retired? The official cutoff date is September 3, 2025 . After this, the Classic Admin Center will no longer be available. If you log in today, you’ll already see the banner notification: "Access to the classic admin center will end starting on September 3, 2025." That’s your friendly nudge to start preparing now. What’s New in the Power Platform Admin Center? The New Admin Center introduces: Manage - Environments, groups, products, tenant settings Actions - Recommendations and alerts to improve governance Monitor - Dashboards and health insights for apps and environments Licensing - Billing, license usage, and capacity add-ons Security - Permissions and compliance Deployment - Pipelines and catalogs Support - Help and service requests New Features You Didn’t Have in the Classic Admin Center Here’s why the new Power Platform Admin Center is more than just a UI update - it comes with brand-new capabilities. Monitor (Dashboards & Alerts): Track operational health, download event logs, and set up custom alerts for performance issues. Deployment Management (Pipelines & Catalogs): Manage ALM workflows and app catalogs directly in the Admin Center. Improved Search & Filtering: Faster access to environments, apps, and settings. Modern Microsoft UI & Scalability: Aligned with Microsoft’s design system for a consistent experience. Self-Service Data Export (Preview): Export inventory and usage data without needing custom reports. Mapping Classic Pages to the New Admin Center If you’re wondering where things moved, here’s a quick reference: Classic Page New Admin Center Location Home Home Environments Manage > Environments Advisor (Recommendations) Actions > Recommendations Security Security Analytics (Dataverse, Power Automate) Manage > Products Billing & Licenses Licensing > Products Tenant Settings Manage > Tenant Settings Help + Support Support How to Navigate the New Power Platform Admin Center Visit admin.powerplatform.microsoft.com . By default, the new experience is ON. (The toggle back to Classic disappears after Sept 3, 2025.) Use the left-hand menu to access: Manage, Licensing, Monitor, Security, Deployment, Copilot, and Support. Check out Monitor for performance insights and Actions for proactive governance tips. What You Should Do Before September 2025 ✅ Start using the new Admin Center now - don’t wait until it’s mandatory. ✅ Update internal documentation and screenshots - switch Classic visuals to New. ✅ Train your team - make sure everyone knows the new navigation. ✅ Review governance and security - align settings with the updated layout. Conclusion The end of the Classic Power Platform Admin Center marks the beginning of a smarter, more intuitive experience. With features like Monitor dashboards, deployment management, and self-service exports , the new Admin Center isn’t just replacing Classic - it’s moving administration into the future. Ready to make the switch? Our team at PowerApps911 can help you set up, train your admins, and optimize your governance strategy in the new Admin Center. Click the button below to contact us.
- Building a Vacation Request App in Power Apps, Approvals without Flow
In this blog post, we're going to do a high-level overview of Shane’s Vacation Request app. By understanding why he built the app the way he did, it will help to piece everything together. If you would like a step-by-step breakdown, make sure to check out the video below: Understand The Functionality Used First off, and this is important, many of the things you will learn in the video can be applied to all different kinds of apps, which I think gets lost sometimes. So try to also watch the video from that perspective as well. Whether it be the approval process, deep-linking, the controls and galleries, or how the screens are set up. All of these techniques and functionalities can be applied to many different kinds of apps, timesheets, inspections, employee reviews, etc. You may not be building a Vacation request app, and that’s fine, but understanding how the functionality is used and how it could be reused is very important. The Breakdown In the video, Shane walks you through building a vacation request app with approvals, WITHOUT POWER AUTOMATE. He incorporates email notifications and deep-linking so users can easily find and approve/reject requests. This is very important from both a functionality and usability perspective. He also includes modern controls to give the user a simple, clean, easy-to-use design. No Flow? No problem! By eliminating a flow(s) from the equation, it keeps everything in one place, the canvas app. This can be important when building apps for both internal use and customer projects. If you were to go the flow route, there would then be another tool that would need to be maintained. So, keeping everything in one place, the Power App, it makes things easier to manage. Important to note: I’m sure you have either heard of or used the out-of-the-box Approval flow in Power Automate, which isn’t a bad thing. But many times when customers come to us about creating an approval process, we like to share both approaches and let them decide which route to go with. One con of the Power Automate approvals we sometimes bring up is that they are less customizable, and sending reminders can be more difficult. Reminders are not impossible with the approval flow by any means, but can require more steps in the flow to ensure they run as expected, which also adds more complexity. Deep linking magic. By incorporating deep-linking, which is generally highly recommended for approval-type apps, users can hop directly from the email or button straight into the exact screen they need. This is important when building apps where managers, finance, CEO’s, etc, will need to review something. You want to make it as easy as possible for them to find what they are looking for without clicking through several screens and buttons. Deep-links are embedded in the Office365SendEmail.V2 email, so you will have full control over the email subject, body, formatting, and so on. The app also includes the ability to send reminders, which is a much simpler approach in Canvas apps. Modern, stylish visuals. By incorporating modern controls and some cool visual flair into the app, you are giving the users something they will want to use. Design and a clean interface can sometimes feel like an afterthought, but it’s actually very important for the user experience. Now you don’t need to go crazy and try to create the greatest-looking app of all time or anything. But being conscious of your users as you are building will help you to create an app that users will want to use. It’s always a good idea to ask yourself a few questions: “Would I want to use this app?” and “Could I just open the app, and understand what I am supposed to do?”. Most apps shouldn’t require extensive end-user training; they should be simple and straightforward in what users are expected to do. In a Nutshell… Hopefully, you found this breakdown both informational and helpful. Again, the full video is linked above if you want to watch it and get the step-by-step breakdown. As always, if you have any questions or need any Power Platform assistance, just reach out to us; we're always happy to help.
- No round() in Power Automate? Here's What to Do Instead (Plus Advanced Math via MathJS)
If you’ve ever tried to round numbers in Power Automate, you’ve probably discovered something annoying: there’s no built-in Power Automate rounding function. That’s right. You can’t just do: round(3.14159, 2) …because it doesn’t exist. But don’t worry - there are workarounds. And suppose you’re looking to go even deeper with math operations (logarithms, powers, roots, algebra). In that case, there’s a powerful solution using the open-source MathJS library included in this blog post as well. How to Round Numbers in Power Automate Even though there's no official Power Automate round() function, you can still round numbers using the formatNumber() expression: formatNumber(3.14159, '#0.00') outputs 3.14 . Need a whole number? Just drop the decimals: formatNumber(3.14159, '#0') outputs 3 . This works great for formatting and even for use in simple logic conditions. But if you're doing deeper numeric operations, this approach has its limits. Want Real Math? Create a MathJS Custom Connector For anything beyond basic formatting - like: round(2.717854, 3) → 2.718 pow(5, 6) → 15625 log(10000, 10) → 4 sqrt(4) → 2 You can even use variables/algebra like this, or use the array concept to pass multiple operations at once: Expression: [ a = 1.2 * (2 + 4.5), a / 2] Result: [7.8, 3.9] How it Works You pass a math expression (expr) to MathJS via a custom connector. The connector handles the calculation and returns the result. Power Automate Action Definition: Power Automate Result: Key Features of MathJS No API key needed Supports hundreds of math functions - full list at functions for MathJS Free service with: 10-second max evaluation time 10,000 requests/day Works well for loops, expressions, conditionals, and calculated values in flows Requires premium licensing How to Create the Custom Connector You can import the custom connector using the MathJS.swagger.json file. Here's a video on how to import the file. Once imported: Add it as a step in your Power Automate flow Use the expr field to write any valid MathJS expression Get your result directly back in the response As always, if you have any questions or you're looking for Power Platform assistance, just reach out; we're always happy to help. Happy Building!
- The Hidden Cost of Standing Still
In today's digital landscape, standing still is not a neutral act. We often see organizations clinging to outdated tools: unsupported Access databases, untouched SharePoint workflows, or custom apps only one person understands. These systems may still “work,” but they’re slow, fragile, and prone to failure, leading to lost time, frustrated users, and growing technical debt. Microsoft’s recent announcement about the retirement of SharePoint Alerts is a perfect example of how the tech landscape is evolving. Microsoft is phasing out older functionality in favor of modern, secure, and integrated solutions like Power Automate and SharePoint Rules. Waiting to make these updates doesn’t just risk disruption, it can multiply costs when rushed fixes or full rebuilds become unavoidable. This article breaks down what we see every day: the real-world impact of delays, the hidden costs of standing still, and the business case for proactive modernization. You deserve to understand them. Real-World Impact: The cost of delays What starts as a “quick fix” or a decision to “wait until next quarter” can easily turn into a costly scramble when systems fail or can no longer be supported. Delays can: Undermine user trust in outdated tools that are slow, unreliable, or confusing. Increase support costs as IT teams spend more time maintaining/babysitting legacy systems instead of building new value. Limit access to new features and integrations, making it harder to innovate or respond to business needs. Create compliance and security risks when unsupported platforms fall out of alignment with modern standards. Let’s get real. These aren’t just “what ifs,” they’re the stuff of IT urban legends (except they actually happened)! Southwest Airlines faced over $1 billion in losses after its legacy systems failed to adapt during a holiday disruption. The cost of waiting goes far beyond licensing or development, it affects productivity, customer experience, and even brand reputation. When to Modernize vs. When to Wait Ok, now that we are all on board, let’s make a plan. Not every system needs to be rebuilt today. Knowing when to modernize is critical. Spotting the right moment to modernize doesn’t require a crystal ball. Look for these telltale signs: You’re spending more time maintaining than improving. If your team is constantly fixing bugs or working around limitations, it’s time to consider a rebuild. Your tools are holding back your business. They are flip phones in a smartphone world. Legacy systems that can’t integrate with modern platforms or scale with your needs are costing you more than you think. You’re dependent on a single person to keep things running. If only one person understands how your system works, you’re one resignation away from a crisis. You’re delaying updates due to fear of disruption. The longer you hit snooze on modernization, the bigger the wake-up call when change finally comes. You’re exposed to security or compliance risks. Unsupported platforms and outdated processes can leave you vulnerable. If none of these apply, it might be okay to wait, but with a plan. Set a timeline, budget for the future, and revisit regularly. If any of these scenarios ring a bell, it’s time to sound the modernization alarm. Think “Avengers, assemble!” but with less spandex and more system upgrades. Setting your team up for success Ready to kick off your modernization adventure? Here are some steps to get you started on the right foot! Watch the full free webinar here . This one-hour session will give you tools to plan and prioritize your modernization efforts! Audit your current systems to identify outdated apps, unsupported databases, or manual processes that are slowing your team down. If this sounds daunting, tools like Microsoft’s CoE toolkit can help with transparency! Get trained. With low-code technology, subject matter experts within your organization can be the ones helping you lead the modernization charge. Shane’s upcoming Power Apps & Power Automate 201 course offers expert-led sessions designed to help your team build modern Power Platform solutions with confidence. Identify the cost of modernization. Collaborate with technology experts who have experience developing similar solutions; external guidance can be highly valuable. Your partners can assist you in forecasting timelines and costs, enabling the establishment of realistic expectations. Of course, this is where we tell you to contact us . Don’t wait for a system failure or forced retirement; start planning your modernization strategy today.
- Triaging Incident Reports with Power Platform and Copilot Studio
Incident reporting is super important for organizations. But how do we keep a simple paper cut from elevating all the way to the CEO? In a recent video, Shane Young introduces how you can use the analytical power of Copilot to analyze your data, including the initial report, witness statements and even incident images, to properly route your report. Does that sound appealing? In this post, we’ll break it all down, showing you how Power Apps , Power Automate , and Copilot Studio can work together to enhance incident management through effective Copilot Studio incident triage. This integration allows for the transformation of raw field data into actionable insights. Though Shane used Dataverse in this example, because it was easier to include in a solution, you can use this technique with any other data source, such as SharePoint or SQL. Step 1: Report the Incident (Power Apps Canvas App) The first piece of the puzzle is a mobile-friendly Power Apps canvas app. Built with field users in mind, the app helps users submit the important data for the initial report including: Incident location Date and severity Category and description Witness statements Photos of the incident Step 1: Report the incident Step 2: Triggering the Flow (Power Automate) Once an incident is submitted, Power Automate jump starts the process. A cloud flow watches a table (in this case Dataverse) and fires every time a new incident record is added. That flow sends the incident data to an Agent built with Copilot Studio , and it tells the agent to get to work. Step 2: Triggering the Flow Step 3: Let the Agent Think (Copilot Studio) What really takes this process to the next level is incorporating a Copilot agent to do some high-level analysis of the data. The agent accesses all the report data from the initial incident report, witness statements, and incident photos. Then it determines if the incident is truly low , medium , or high severity. Here’s what it does: Pulls the incident report details Retrieves witness statements Gets the photo and uses AI Builder to describe what’s in it Uses a SharePoint-hosted knowledge document to evaluate the severity Saves the AI-generated photo description to Dataverse Sends a summary email and updates the incident record. Step 3: The Copilot agent takes over Extracting Insights from Photos One highlight Shane makes in this process is how the agent calls another Power Automate flow to analyze the photo. This uses AI Builder’s Image Classification with Prompt action to describe the image and assess urgency. Shane builds this by adding an Agent flow (Tool) to his agent. The cool thing about this is that it is just like a Power Automate Flow. Shane reminds us how easy this is, and that if you can do flows in Power Automate, you can build capability like this into your Copilot agent! Agent flow calls AI Builder You can then edit instructions for the Image Classification tool by selecting Edit button under the Prompt, and then simply add natural language instructions for the AI Builder flow action. Using this technique, you can modify how AI Builder handles your image description. Edit the Instructions to AI Builder action Final Output: A Reasoned Response, Not Just a Reaction Instead of blindly escalating reports based on user judgment, this system adds real intelligence to the process. It: Reduces false alarms Stores meaningful, AI-enhanced data for review Empowers business users to evolve incident evaluation rules The image below is an example email that the flow generates. Notice Shane’s description at the top compared with Copilot’s analysis of the witness statements and photos leading to the Action Taken conclusion. Final Output Build This Copilot Studio Incident Triage Yourself Check out Shane's videos below: Build the Power App Build the Autonomous Agent Consulting, Training, and More If you want help implementing a solution like this in your own organization, or you want to train your team on Power Apps, Power Automate, AI Builder, or Copilot Studio, then reach out to us here at PowerApps911 . We offer consulting as well as live (including in-person) and on-demand online classes to get you there faster. We can also build your entire solution from the ground up! Questions or Ideas? Got thoughts on how this system could go further? Something you'd want to try with your team? Drop your questions or requests on the YouTube video . We strive to make content that appeals to you, so please let us know!
- How to Use Deep Linking in Power Apps Canvas Apps
If you’ve ever wanted to launch your app and take your users exactly where they need to go, then you need deep linking in Power Apps Canvas Apps. Deep linking allows you to pass data and navigate directly to specific items or screens in your app using URL parameters. Sounds hard but, it is not. This post will walk you through: What deep linking is and why it matters How to use the Param function in Power FX How to work with multiple parameters Real-world examples of deep linking By the end, you’ll understand how to implement deep linking in Power Apps. Next week, we’ll build on this with a fully functional vacation request app that puts these mechanics to work. Note: While it isn't hard, there are a lot of moving parts. If you are struggling to implement, check out this video for a full walkthrough of Power Apps Deep Linking: Updated: Power Apps Deep Linking What is Deep Linking in Power Apps? Deep linking in Power Apps is the ability to launch an app with URL parameters that can be read by the app to perform actions like navigating to a specific screen, displaying a custom message, or even opening the exact record the user needs to review. Typically, these records are created in your app and then sent to the user via Outlook emails or Teams messages. Why it matters: Better user experience – take users where they need to go immediately. Simplified navigation – eliminate extra clicks. Integration with Microsoft tools – use deep links in email, SharePoint, or Teams. The OnSelect property of a Power Apps button that dynamically generates a deep link for the selected Item in the Gallery. The link has 2 parameters. Cow is set to 1 and EID is set to the ID of the Item. Step 1: Using Param in Power Apps with Power FX The Param function is your starting point for deep linking. It’s a Power FX function that reads data from the URL. Here’s a basic example: Label.Text = Param("Msg") Now, if you open your app with this URL: https://apps.powerapps.com/play/e/default-9416a1d9-2b7f-4847-8223-18c2057145e3/a/a8faf8f2-96b7-45da-9c54-d17f877847f9?tenantId=9416a1d9-2b7f-4847-8223-18c2057145e3&hint=705bc13c-a6b0-438e-97ce-ee04e1d6c65f&sourcetime=1754079731074&Msg=Hello%20World. Your label will display “Hello World.” Note: This is a URL of my app, it will not open for you. You would replace everything before &Msg with the URL of your app. Step 2: Navigating with Param You can also use Param to decide which screen a user should see first. You would place the following code in the App > StartScreen property: If(Param("Screen") = "Approvals", 'Approval Screen', Welcome ) With this setup, if you open your app using: https://apps.powerapps.com/play/e/default-9416a1d9-2b7f-4847-8223-18c2057145e3/a/a8faf8f2-96b7-45da-9c54-d17f877847f9?tenantId=9416a1d9-2b7f-4847-8223-18c2057145e3&hint=705bc13c-a6b0-438e-97ce-ee04e1d6c65f&sourcetime=1754079731074&Screen=Approvals The app will take the user directly to the Approvals screen. Step 3: Using Multiple Params in Power Apps Deep linking gets even better when you combine multiple parameters. So we could combine the two previous examples and have them both in the same URL. https://apps.powerapps.com/play/e/default-9416a1d9-2b7f-4847-8223-18c2057145e3/a/a8faf8f2-96b7-45da-9c54-d17f877847f9?tenantId=9416a1d9-2b7f-4847-8223-18c2057145e3&hint=705bc13c-a6b0-438e-97ce-ee04e1d6c65f&sourcetime=1754079731074&Screen=Approvals&Msg=Hello%20World. This deep link will: Navigate the user directly to the Approvals screen Display “Hello World.” in a label Keep in mind, you can have as many Parameters in your URL as you need, though I have never needed more than two. Typically, one to control the screen and a second to control which record is displayed on that screen. Pro Tips for Power Apps Deep Linking Use clear parameter names – keep them short and descriptive (e.g., Screen, Msg, RecordID). Combine deep linking with variables – use Power FX to store Param values and reuse them across screens. Store them in Formulas if they aren't going to change, Global Variables if you need to manipulate the variable throughout the app. Test your links in multiple browsers to make sure URL encoding works correctly. Include deep links in Power Automate notifications , Outlook emails , or Teams messages for a seamless experience. Real-World Use Cases Approvals: Send managers a link that opens directly to their pending approvals. Data-driven navigation: Link to a specific record for quick access. Notifications: Add deep links to email or Teams messages to reduce user clicks. What’s Next This post focused on the mechanics of deep linking in Power Apps Canvas Apps. Next week, we’ll take it a step further with a fully functional vacation request app that puts deep linking to work. In the meantime, check out the full deep linking video here: https://www.youtube.com/watch?v=inHj96OGc5I Need Help? If you’re ready to add deep linking or any other Power Apps feature to your app but don’t have the time or want expert guidance, the team here at PowerApps911 is happy to help. Fill out the contact form , and we’ll get to work making your app awesome.
- Our take on the January 2025 Power Apps Feature Update
We’re following along with Microsoft as they’re releasing new features for Public Preview including the new Power Platform admin center, the new Power Apps Plan designer, the new Data Workspace functionality, and new SQL to Dataverse features. The Power Platform admin center has been upgraded, and you can select the toggle at the top right of the home screen to see what it looks like. You’ll note the new by-task organization of it in clickable links on the left-side navigation rail. For example, if you want to manage your Environments, you select the Manage button. Also new in this interface are the new Monitor (which is still being rolled out) and Deployment hubs. Lastly, the home screen of the admin center allows you to customize your view by adding/removing cards as well as drag-and-drop functionality with the cards to arrange them just so. The Power Apps plan designer is a new way to enlist Copilot to help you in crafting solutions to your business problems. You can get to it by toggling on the new Power Apps experience from the top right of the home page. Now you can add natural language prompts to let Copilot know the specifics of your business problem. Copilot will provide an outline of your business problem, giving you some proposed apps, data tables, and flows as a solution. Copilot allows you to continue to add prompts through the design process to help you refine what’s going on. Shane has recently provided a video of how this works if you want to see it in practice. You will need to have a Dataverse equipped environment to experience this functionality, but it is a superb way to streamline the business problem process, getting from problem to solution in a very short time. Power Apps plan designer showing the Doggie Daycare Manager The Data Workspace is the new visual editor to see your tables created on a canvas and to view them together along with their relationships. It’s a great way to create, add, and modify new tables manually or with Copilot’s help. You get there from the Create new tables choice from the Tables tab. You can toggle which columns you want to show, add new columns, and create/manage table relationships. Microsoft is working to add this same functionality with existing tables, but for now, you can add existing tables to the Data Workspace in “read-only” mode. If you want to edit existing tables, you’ll still have to open that table in a separate tab. Overall, this is a really nice interface for interacting with your tables and their relationships. Data Workspace showing the tables from the Doggie Daycare Manager solution Microsoft gave SQL developers some love in January. They’ve included the ability to define SQL Server environment variables in your solution. As you create the environment variable, you can now select “SQL” as the connector and then enter the connection details in the “New environment details” parameter. New Environment dialogue showing SQL Server option under the Connector Also, connections to virtual tables now include PostgreSQL . It’s easier than ever to connect to your SQL data with Dataverse. Virtual table creation showing PostgreSQL option. We’ll certainly be trying out these new features this month!
- Why Design Matters (Yes, even in Power Apps)
Let’s be honest: most internal apps don’t exactly scream “award-winning user experience.” And maybe that’s fine - until it isn’t. When users don’t engage with your app or when support requests start piling up, it’s easy to point fingers at functionality. But more often than not, the real culprit is design - or the lack thereof. The apps you build today will live longer, cost less, and work better if you get design right from the start. Design Drives Adoption We have all been in the place where we quit something and walk away because it feels overwhelming, and your users are no different. You can build the most functional Power App in the world, but if it feels clunky, cluttered, or confusing, users will avoid it. Design is not decoration, it’s communication. Your design should communicate to users where to look and what to do. Good User Experience (UX) Extends the Life of Your App Apps with poor UX age faster. They break under the weight of user frustration. They get rewritten, reworked, or worse - abandoned. On the flip side, a well-designed app becomes a reliable part of a team's workflow. People learn it faster, require less training, and adapt to changes more easily because the foundation is intuitive. People tend to invest in the success of things that are more attractive to them. They excuse small errors and are more likely to contribute to its success by providing feedback. The better the UX, the longer your app stays useful and relevant. Quality Design = Lower Long-Term Cost Quality user experience often gets missed in project budgets: Good UX might cost more upfront, but bad UX costs you every day after launch. Poor design slows adoption, increases support needs, and leads to avoidable rework. Designing for the user early reduces long-term friction, minimizes maintenance, and saves serious money – whether measured in hours, help desk tickets, or actual rebuilds. Good design isn’t an expense. It’s an investment. Show, Don’t Tell Telling you is one thing, but a picture is worth a thousand words. Take the example below: Don’t worry, we’re not using a real app for the “bad” example here. But I’d be lying if I said I haven’t seen designs this rough out in the wild. The consultant who helped me mock it up practically needed eye bleach, and rightly so. It’s cluttered, overwhelming, and hard to use. Both screens are meant to show color options for a templating app, designed to help users build Power Apps that follow a consistent brand style. And yet, one of them is clearly worse. Why? The colors are similar, and the core functionality is the same. Now take a look at the cleaner version. Instructions are still available, but they’re tucked behind clearly labeled buttons instead of being splashed across the screen. You’re not losing information. You’re gaining clarity. The original version is packed with controls meant to showcase how your color choices might look in action. But the updated screen achieves the same goal with a single large image that demonstrates gradients and contrast more effectively. Ask yourself: Which one would you rather use? Which one feels more approachable? Which one would your users be more likely to adopt and give feedback on? Here’s the real kicker. The well-designed app screen was built over two years ago, and it’s still in use today with very few changes. That’s the power of good design. How to Level Up Your Design Game First of all, you don’t have to hire a graphic designer or become a creative professional to implement principles of good UX. The internet is packed with resources teaching the basics of interface design, and if you want to improve the design of your Power Apps – or anything else you’re building – you can start here: Learn the principles. Start with the basics of visual hierarchy, spacing, alignment, and contrast (they’re simple, but powerful). Check out https://lawsofux.com/ for a great series of resources that covers the basics (with advanced topics as well). Watch how people use your app. User behavior is a better guide than your opinion. Create interfaces, then physically watch users interact with your app, either in person or via screenshare. You’ll learn a ton by watching mouse movement – are your controls placed intuitively, or is there a lot of searching around to find where to click? If your test users have to ask questions, consider that an opportunity to improve your design. Remember, every question you get from your test users is a possible support call down the road. Design in such a way that instructions are unnecessary. You don’t have to reinvent the wheel. Study interfaces you enjoy using. Figure out why they work. Study designs on sites like https://dribbble.com/ and try to replicate them in the Power Apps Studio. Check out the training projects on https://www.frontendmentor.io/ and complete the challenges in Power Apps. Don’t trust defaults. The current generation of Modern Controls lacks a lot of customization options. And the default settings for classic Power Apps controls are, quite frankly, ugly. But classic controls still give you the most flexibility, and you can make them look good. Just get to know all your properties. Get professionally trained! PowerApps911 offers hands-on training to help you raise your game. Check out our live Extreme Makeover, Power Apps Edition training, offered throughout the year. Of course, the other option – if you’d rather skip the learning curve – hire us. We offer: UI/UX design services for Power Apps. Maybe you’ve got a brilliant app that is functional but lacks in the design department. We can handle the design load and help bring creativity to your great functionality. Ground-up app design . We can handle it all, from start to finish, and you can get a strategically and creatively designed app that hits the ground running from day one. Workshops and trainings to help your team get hands-on design skills that actually apply to what you’re building Final Thought Design is often treated like frosting on a cake. In reality, it’s the flour. You can’t bake a good cake without it. If you care about usability, longevity, and return on investment, design can’t be an afterthought - it has to be built in from the beginning. And if you’re ready to do that, we’re here to help! 👉 Power Apps Makeover – our hands-on course to level up your app design game! Our need help with something else? Just Contact Us !











