top of page
hero-bg-1.png

Search Content

174 results found with an empty search

  • Example App: Better Incident Reporting with Power Apps

    How about we all stop tracking Incidents in these ridiculous oversized Excel spreadsheets? They are clunky, hard to use, and share too much info with everyone. I can’t tell you how many customers have shown me their current solution and there is a whole lot of PII for anyone to steal. 😢 Today let me show an example of an Incident Reporting app based off of some customer apps and discussions we have had. Nothing too elaborate but hopefully gets your mind going on what is possible when you build your own custom solution using Power Apps. With solutions like this we focus on a few things: • Ease of use, anyone should be able to pick up the app and use it, no training required • Well structured and secured data, what could does it do to collect the data if you can’t keep it safe and generate reports on it later • The ability to capture photos and witness in a structured, related manner • Follow our business needs, too often when using off the shelf solutions the process follows the software, here we make the software follow the business process Okay. That is enough of the setup, let’s see it. And speaking of seeing it, if you want to see the app in action then check out the video Power Apps Advanced Example: Modern Incident Reporting . The video shows the working demo and some of the code behind the scenes. Incident Reporting Apps Walkthrough Below is a break down of all of the screens and some key details. Remember with Power Apps you can make the app anything you want, so this is meant to inspire you, not dictate to you how it all works. Mobile App Welcome Screen Often Incidents happen away from your desk (unless you are clumsy like me🤕) so we often build these apps as Mobile apps. That way they can be opened on any modern phone or tablet and get to work. The Warehouse, the breakroom, the job site, or even your desk, the app is always ready to go. Creating a New Incident By making it quick and simple to log incidents—even in high-stress situations—this app helps ensure more complete data capture, which leads to better reporting and faster resolution of safety hazards. After clicking New the user is taken to one screen that will prompt them for the information they need to capture. All fields are optional in this example. The goal often with these apps is to encourage them to get as much information as quickly as possible. When reporting on a spill it isn’t critical but this same app will be used to report a traffic accident or other possible stressful events. Getting as many details as possible is the key. Some customers choose also to have different logic when they choose high severity. So while only the safety coordinator is notified when there are trip hazards, the entire executive tier is notified when there is an injury requiring medical attention or worse. The great part about Power Apps is you can easily add that custom logic based on your business. One other nice thing about this screen. When you go to enter Location that is usually simple so you just have a small line, but when you enter Description you actually click the + and you are taken to a full screen for getting the description entered. This encourages maximum detail. Adding Witnesses with Proper Relationships With Power Apps connected to Dataverse, sensitive data like personal information can be secured with role-based permissions. This means only authorized personnel can access PII—unlike Excel files that often get emailed around without restrictions. Sometimes there are zero witnesses of the mystery spill in the breakroom; sometimes there are 25 of Timmy falling off the table with a lampshade on his head at the company holiday party. 🤣 Either way, the app needs to be flexible unlike that Excel solution that just has a bunch of columns. Here they can add as many witnesses as available. Each one will be stored as its own record in a separate table and then related back to the incident. Your typical parent child data model. Faster and more flexible for reporting. Awesome. Oh yeah, and unlike that Excel solution we can actually secure the child data, like PII. Do you know how often we see that type of data leaked in the XLSX file? 😲 Remember, if you need help with building this Incident Reporting Apps, or any other ideas you have we are happy to help. Contact A picture is worth 1000 words Like witnesses sometimes you need 1 picture and sometimes you need a dozen. So once again there is a flexible, many to one relationship for photos. Also, while this screen just grabs the image, keep in mind that adding metadata or notes about the image would be very straightforward. Sometimes 1000 words doesn’t cut it so letting the user add notes can be helpful. You could even add the ability to add annotations but now I am just showing off. Submitting the Incident Report Now that they have captured all of the information it is time to Submit it. This will save all of the data and establish all of the relationships so you can easily report on it later. But it doesn’t have to end there. On Submit you could add logic to do a multitude of things: • Send an email to the safety team with a link directly to this incident (deep linking) • Generate a PDF of the incident for saving or submitting to insurance • Have notifications or alerts go based on the priority or severity of the event • Start an approval or assignment process to get incident taken care of Once again, the great part about Power Apps is that you can make the software do what the business process dictates, not the other way around. View Existing By breaking things up into two apps you build a best of class solution for each app, instead of a big crazy app for everyone. This approach not only keeps the reporting app simple and user-friendly but also ensures that the management app can offer more advanced functionality tailored to supervisors and administrators. In the demo app there is a simple screen for finding and viewing existing Incident Reports. Often with this screen you would limit the incidents to the ones submitted by the logged in user or for their area of responsibility. You will notice that this app does not have edit capabilities. That was a design decision for the demo. Typically you will have 2 apps. One app for easily submitting the Incident Report and then another for responding to and managing the incident. The management app is often a desktop app because you do that work at your desk, not in the field. By breaking things up into two apps you build a best of class solution for each app, instead of a big crazy app for everyone. Remember when we started, one of our goals was to make our reporting app as easy to use as possible without training. Adding a bunch of editing and other functionality they don’t need just clutters things up. Closing thoughts Incident reporting apps are very common in the businesses we talk to. By building a straight forward Power Apps app to manage the process they get better data and better outcomes based on their business needs, not what the 3rd party app can do. If you need help with this or any Power Apps project let us know. Click that Contact button and we will be happy to give you a hands-on demo of this app or discuss any of the thousands of business solutions we have built for customers that range from a one woman shop in Alabama to multiple companies across the globe who are on the top of the Fortune list.

  • Deep Dive in using Dataverse Lookup Columns

    Dataverse lookup columns are essential for managing relationships between tables in Power Apps. Whether you're building a Canvas App or integrating with Power Automate, understanding how lookups work can help you create more efficient and scalable applications. This post will walk you through everything you need to know about using lookup columns in Dataverse. If you're more of a visual learner, you can check out everything covered here (and more) in the YouTube video: Deep Dive in Using Dataverse Lookup Columns What Are Dataverse Lookup Columns? A lookup column in Dataverse creates a relationship between two tables. Instead of storing plain text or numbers, it stores a reference to a record in another table. This is useful when you need to maintain data integrity and avoid duplication. For example, in an Employees table, you might want to link each employee to a Region . Instead of storing region names as plain text, you can create a lookup column that connects to a Regions table. This ensures consistency and allows you to easily pull in related information such as a region code, manager, or goal. Tip: When creating the table, you'll look up against (like Regions in this example), take extra care when choosing your Primary Column . This text column will be the default in lookups and is often the only column you can display. Creating a Lookup Column in Dataverse To set up a lookup column: Navigate to Tables in Dataverse and open the table where you want to add the lookup. For our example, this is the Employees table. Click Add Column and choose Lookup as the data type. Select the related table (the Regions table in this example). Save the column and verify that the relationship has been created. Using Lookup Columns in a Canvas App Once you've created the lookup, you can use it inside a Power Apps Canvas App. Here are a few common scenarios: 1. Displaying Lookup Data in a Gallery If you add a Gallery control to show employees, you can display related region names using: ThisItem.WorkRegion.RegionName ThisItem.WorkRegion is the full record of the item you're looking up. This means that instead of just .RegionName , you could reference .RegionManager , .Goal , or any other column from the record. This is called a polymorphic lookup and is a great feature of Dataverse lookup columns. 2. Filtering by Lookup Column To filter employees by a specific region: Filter(Employees, WorkRegion.RegionCode = "EU") Since the lookup column stores an entire record, you must specify the field you want to filter on (for example, RegionCode ). 3. Saving Data with a Form If you use a Form Control , the lookup column will automatically show a dropdown with related records, making it easy to select values. Nothing special to do here. 4. Patching a Lookup Field If you prefer using Patch instead of forms, you need to provide a record when updating a lookup column: Patch(Employees, Defaults(Employees), { FirstName: "John", WorkRegion: LookUp(Regions, RegionName = "North America") }) In that example, we used RegionName as the text to look up. Often, you'll want to use something you know will always be unique (like the GUID primary ID column). It doesn't matter, as long as LookUp returns a matching record. Using Lookup Columns in Power Automate When working with lookup columns in Power Automate , you might need to use OData queries to filter or retrieve data. The lookup column’s system name often follows this format: _cr662workregion_value eq 'GUID' For example, to filter employees by region in a List Rows action: _cr662workregion_value eq '2a6ddb65-cfeb-ef11-be21-6045bdedb9f2' In the video, we went into detail about how to find these exact values for your tables. If you're struggling, check out the video for a walkthrough. You can also expand related data using the `$expand` parameter. Relationship Behaviors and Cascading Actions Dataverse lets you define how relationships behave when a parent record is deleted. The most common options include: Referential: Deleting a parent does not affect child records. Restrict Delete: Prevents deletion if related child records exist. Cascade Delete: Deleting a parent removes all related child records. Wrapping Up Dataverse lookup columns are a powerful tool for creating structured relationships between tables. Whether you're displaying data in Power Apps, filtering records, or integrating with Power Automate, understanding how lookups work will help you build more robust applications. If you have any questions or want to learn more, click the Contact button—we're happy to help! We have consulting and training options to assist you with this or any other challenges you might have.

  • Introducing the SharePoint Copilot Agent: Your Site’s New Best Friend

    Have you ever felt like navigating SharePoint is a bit like wandering through a massive library without a librarian? You're pretty sure the information you need is somewhere on the shelves, but finding it feels like a treasure hunt without a map. Well, guess what? Microsoft just handed us the map—and it's called the SharePoint Copilot Agent ! A few important notes and limitations you should be aware of before getting started. To use the SharePoint Copilot Agent features you will need a Microsoft 365 Copilot license. Currently, SharePoint Copilot Agents only work with files up to 3 mb. SharePoint lists are not currently supported with Agents. How to use the existing SharePoint Copilot Agent. From your SharePoint site, in the upper right corner, you will see a Copilot icon. Click on the Copilot  icon, and you will see a flyout with a Chatbot specific to your SharePoint site, with a few default choices. The chat bot can search through all of your Documents and pages in your SharePoint site. Below is an image to the supported document types. Now, from the open chatbot window we can ask a question like, Are we off for Christmas You will see we are then presented with a response as well as a reference as to where it got this information. Which was an internal document on this SharePoint site. Now, what happens if you have documents with conflicting information? Well let’s see. So, we are now going to ask a question like, Can I bring my dog to office?   In this case, we know we have 2 documents on our site for pet policy. One is in our Customer Docs folder and the other is in our Documents (Company Documents) Library. Since we want to know what our company’s policy on pets, we are going to navigate to the Documents  Library. From the Document library we can now click on the Copilot Agent Site , and from the dropdown select our Documents agent 1  which we created specifically for this library. Now if we ask if the same question again, Can I bring my dog to office?  We will get a completely different response because we are only looking for this information in this specific document library. Now It's time to create your first SharePoint Copilot Agent! In our example, we will be navigating to our Customer Docs  Library. At the top, click on Create an agent . You will get a new agent pop up, that is ready to go right away. But we want to make a few changes and refine the scope a little. Click Edit . In the Edit agent pop up, feel free to change the Name, Image, and Description. Then, click on Sources . With Sources, you have the ability to add additional sites if you want. Or you could select specific files you want to include so the chatbot knows to search those as well. In this case we only want it to search this specific Document Library, so we won’t be making any changes here. Now click on Behavior . From Behavior, you can set a custom Welcome message. Letting users know what is going on. You can set your own Starter Prompts. These are basically suggestions for what the ChatBot can do. These will help your users get started using the chatbot. You can also set instructions for the agent. This will tell the agent how to interact when using the chatbot. We like to keep things fun around here so we changed our instructions a little, see screen shot below. (You don’t have to do that, you could also leave the default instructions if you wanted.) Then just click Save  and then close the Agent window. Great job! You just created your first SharePoint Copilot Agent! You will notice the Agent is now selected and we can start prompting to test it out. So, let’s ask it the same question we asked earlier to kick things off, Can I bring my pet to work?  (You will see the response in the screenshot, and it is only looking in this document library for the answer.) You will also notice we can view the Reference document where it got this information from, it’s never a bad idea to verify. Now if we ask, Could I ask my manager for more information?  Something important to note here is that your Copilot Agent has access to the Microsoft Graph. So, it pulled in Shane’s managers name, Nicola, which is really nice. Another cool feature of the SharePoint Copilot Agent is the ability to select a specific file and ask questions just for the selected file. So, in our example we will select a file and then ask the chatbot, Summarize this file please . And just like that, it summarized our document! Ok, switching gears for just a second. We are going to head back over to our Documents  library to show off another cool feature of SharePoint Copilot Agents. Let’s say you have 2 similar excel files in your document library and need to compare them. With your SharePoint copilot agent, this is no problem! In this example, we have 2 Payroll files and want to compare them so it will find the differences, we can simply ask, Compare these files please . We will then see, it gives us the key difference between the 2 files, saving us time from having to do it manually. We also previously mentioned you could create SharePoint Copilot agents for Sites and Libraries. But you can also quickly and easily create an agent for a specific folder or file as well. If you select a file in your document library and click the ellipses , from the flyout you will see Create an agent . This agent will be specific to the file selected. Switching back to our Customer Docs  Library, notice you will now see a Customer Docs Chatbot.agent  file. If you click on that file, it will open the Chatbot in a full window for you. So how do users access these SharePoint Copilot Agents? Are they just instantly available for users after it’s created? Great questions! In the upper right, click on the dropdown  next to the agent. 27.  You will see 2 different sections, you have Approved for this site  and Recommended for you . The Approved Agents have been shared and are accessible to all of your users with Copilot license. Whereas the Recommended one, is only available to Shane since it has not been shared yet. To make our Customer Docs Chatbot available to everyone, we can click on the ellipses next to the chatbot. From the dropdown, select Set as Approved  and then it would be globally accessible. You may notice there is also a Share  button. By using the Share button, you could select specific users or groups who you would like to share this Agent with. There is a third option for sharing your Chatbot, and that is you can share it to Teams and use it in Teams. (We did not have this option show up for us for whatever reason, but just know it is possible and should be available) – NOT SURE WE WANT TO INCLUDE THIS. As a final note on sharing and security, if a file(s) are not shared with users for security reasons, the chatbot will not use those documents in it’s response. This is important to know. Hopefully this was helpful in getting you started with SharePoint Copilot Agents. And helps get you thinking about how you could use SharePoint agents to help you and your team work more efficiently. Shane also has a video that goes along with these steps, you can watch here .   Wrapping It Up: Time to Level Up Your SharePoint Game The SharePoint Copilot Agent is more than just a chatbot; it's like having a personal assistant who's always on call, ready to help you navigate the maze of information with ease. What would you ask your Copilot Agent first?  Drop your ideas in the comments below—we'd love to hear how you plan to make the most of this game-changing tool!

  • 6 Apps & Flows That Run Our Business

    At PowerApps911, we rely on efficient and cost-effective business tools, just like you. Instead of settling for generic, subscription-based apps that only partially meet our needs, we’ve embraced the Power Platform to create tailored solutions that address our specific challenges. Why Build Custom Solutions Instead of Buying SaaS? Traditional software often requires businesses to adapt their processes to fit the tool—a frustrating and inefficient experience. But with the Power Platform, we’ve flipped this dynamic. Now, we can design solutions that align perfectly with our workflows, empowering us to operate more effectively. The Advantages of Custom Solutions: Tailored Fit:  Each app is built to match our exact processes, ensuring seamless integration with our operations. Rapid Development:  Thanks to low-code tools, we can build functional apps in days rather than months. Empowerment:  Business experts can create these solutions directly, reducing reliance on traditional developers. Below, I share six examples of how we’ve solved real business problems using Power Apps and Power Automate. These solutions are tailored for our needs but can serve as inspiration for how specific and effective your own tools can become. Are these solutions a perfect fit for your business? Not exactly—they’re tailor-made for ours. However, they showcase the adaptability and customization potential of the Power Platform, inspiring you to imagine just how precisely you can address your own unique challenges. Also, keep in mind even though we have built 1,000s of apps and flows for customers we rarely build our own tools with that much focus. Many of them are on iteration 50 or more as we are constantly improving and tweaking it. Another beauty of the platform, the tools and the apps are at their best when things are very agile. Oh yeah, and if you want to see any of these business solutions in action then check out the video 6 Apps & flows that run our business - Power Automate & Power Apps Examples Applicant Tracking System Managing hundreds of job applications annually can be overwhelming, especially for a team of 30. To address this, we use a custom Applicant Tracking System (ATS) built with Microsoft Forms, Power Automate, and SharePoint. Process Overview:  Applicants submit their information via a Microsoft Form embedded on our careers page. Power Automate processes the form responses, applies filters for priority applications, and stores the data in a SharePoint list. Key Feature:  Automated Teams notifications allow reviewers to evaluate key responses quickly and collaboratively make hiring decisions. Enhancements:  Custom Power Apps forms on SharePoint streamline the data review and rejection process. Weekly Meeting Scheduler For our Power Platform University program, we host weekly classes for rotating groups of students. Managing these meetings was once a time-consuming task until we automated the process. Solution Details:  I fill out the app with the subject and body and hit Send. It triggers a flow that gets the current list of students from the Training API. It then generates a Teams meeting and sends each student a proper Teams invite. Time Saved:  Previously, it took 30 minutes to prepare these invites manually. Now, it’s done in under a minute. Bonus Feature:  Custom logic ensures recurring schedules (e.g., Thursdays at 3 PM) are automatically accounted for. Help Request Manager Customer inquiries are central to our business, and we handle thousands of them annually. Our Help Request Manager flow ensures no request goes unnoticed. If you have ever filled out our Contact Us form, you have been in this process. Core Functionality:  A Cognito Form collects customer requests, which Power Automate then routes to the designated team member for the day. The flow then facilitates all of the back and forth via Teams with the consultant and emails to the requestor. It might be the most complicated flow I know of. Adaptive Cards in Teams:  Responses are managed directly within Teams, eliminating email clutter for the PowerApps911 team. Additional Benefits:  The flow automatically updates SharePoint with inquiry statuses and tracks correspondence. Also, if the requestor says yes, they can automatically add themselves to our mailing list. I decided a picture of the whole flow was most interesting. 🤣 To say it does a lot is an understatement. Office Hours Scheduling One of the best features of being a paid Training student is the monthly live office hour sessions where you can get your own questions answered. The problem was not enough people were attending. So, we gave them an option to get a real meeting invite, none of that ICS garbage. How It Works:  Students select their preferred session (AM/PM), triggering a flow that adds them to a hidden list of attendees in a Teams meeting. Key Advantage:  Students receive calendar invites directly, enhancing attendance and reducing friction. I almost forgot, this solution has a full build video here . Do you want to get your questions answered? Sign up for one of our paid training options with Office Hours and you can attend and get your answers! Custom CRM System Our custom-built CRM, powered by Dataverse and integrated with QuickBooks, is at the heart of our operations. It’s a sophisticated model-driven app that simplifies customer and project management. Highlights: Tracks client details, projects, time sheets, and billing information. Seamless integration with QuickBooks through a Dataverse plugin. Biggest Win:  Automating time entry approvals and syncing data with QuickBooks saves over 10 hours of manual work weekly. Troubleshooting with Blank Apps Troubleshooting large apps or flows can be challenging, so we rely on creating “blank apps” to replicate issues in an isolated environment. Fail Fast Philosophy:  By recreating the problem in a controlled app, we can quickly identify whether the issue lies in our code or the platform itself. Key Takeaway:  This approach reduces debugging time and prevents unintended disruptions in live apps. Final Thoughts Building apps and flows isn’t just about solving problems; it’s about empowering teams and enhancing user experiences. Each of these solutions has not only made our operations smoother but also inspired us to push the boundaries of what’s possible with the Power Platform. If you need help with solving some of your business problems with your own custom solutions, then hit that contact button and let us know. We can help you with anything from a 30-minute bug fix to a 30-year partnership. Training, mentoring, architectural double checking, and more. We are experts and happy to share that expertise with you.

  • 2024 Power Platform Functionality Highlights

    As we wrap up the year, we know everyone is already in holiday mode, so instead of diving into complex new stuff, we’re taking a moment to reflect on the exciting functionality updates across the Power Platform in 2024. This year has been filled with innovation that continues to empower makers and users alike. Let’s dive into the highlights, broken down by product, to give you a quick recap before the new year. Power Apps The Power Apps Studio saw updates this year with the addition of Copilot , new Modern controls , and an updated interface for makers : Copilot:  Made the formula bar more intuitive, automatically suggesting formula inputs as you type. You can even add remarks to your formula code, and Copilot will interpret these as coding suggestions. Modern Controls:  Many modern controls are now production-ready, offering robust theming and customization options. These sleek controls, like combo boxes, date pickers, and the new data table (still in preview), make creating polished apps easier than ever. Enhanced Interface:  The updated interface introduced hover menus for controls like galleries and combo boxes, providing quick access to settings without extra clicks. Tree view icons now better represent control types, while the Data and Media panels simplify resource management with smart removal buttons for unused assets. Power Automate Power Automate delivered notable updates in 2024, focusing on usability and integration: Modern Designer:  Bugs have been ironed out, and Copilot now provides intuitive suggestions while designing and testing flows. Power Automate Desktop:  Seamless integration between desktop and cloud flows is now possible, with Power FX support for desktop flows and improved functionality for the recorder tool. Tweaking automations has never been easier. Copilot for Automations:  Copilot has improved significantly, turning natural language into functional automations. If you haven’t used it yet, now is the time to explore this game-changing feature. Power Pages 2024 Power Pages updates focus on enhancing the way makers create and connect their web experiences: Copilot for Pages and Forms:  Easily create pages and forms using Copilot, which leverages natural language and the summarization API for actionable insights. Add insights to your lists and forms with Copilot integration with the summarization API. Improved Data Connectivity:  A new setup wizard simplifies the creation of virtual tables in Dataverse and linking to external data sources, making integrations more accessible than ever. Power Fx Integration:  While still in preview, Power Fx began rolling out in Power Pages, giving makers more flexibility to customize logic directly within their sites. Enhanced Data Model:  All new sites now include an enhanced data model by default, setting a strong foundation for scalable and efficient data management. Power BI Power BI delivered some powerful updates in 2024, focused on enhancing collaboration, visual storytelling, and data-driven decision-making: Copilot Integration:  Introduced natural language queries, AI-generated report summaries, and automated data cleaning to streamline workflows and enhance usability. DAX Enhancements:  Released the general availability of DAX Query View, support for live connections, and new INFO functions for improved metadata insights. Feature Updates:  Added visual calculations, dynamic format strings for measures, and enhancements to card and slicer visuals, offering greater flexibility and interactivity in reporting. Improved User Experience:  Features like Dark Mode, advanced geospatial mapping with the Path Layer, and small multiples in card visuals further enhanced Power BI's analytical capabilities and ease of use.   Shane releases new videos on his YouTube Channel , and those videos, plus exclusive extras (app downloads, code snippets), are available ad-free on our training site for just $15 per month (you can include office hours for $20 per month)!

  • E-Signatures with docusign and Power Platform

    Seriously, does anyone enjoy getting a document, printing it out, signing it with a pen, scanning, and then sending it back to the requestor? Anyone??? I didn't think so. Thankfully the ability to esign documents is pretty common these days and accepted in most scenarios.  So today let's look at an end to end scenario using Power Apps, Power Automate, and docusign. And don't worry, while this is a getting started scenario we are going to do way more than hello world. We are going to:  - Build a Power Apps app that creates a PDF dynamically from our data - Add Signature blocks to the PDF with some HTML fun - Send the HTML to Power Automate to generate the PDF - Then use docusign actions to create an envelope and send it for signature - Once the document is signed have another flow upload it to SharePoint Now the blog post isn't going to be the 100 pages long it needs to be to teach you all of this. Below we have some more details but if you want to learn how to build all of this then you will need to check out my YouTube video:  Docusign for Power Apps and Power Automate   Power Apps to filter your data and create HTML While giving you a PDF and saying here look Mom we got it signed would have been easy, that isn't real. The whole magic of Power Apps is you can build what you want.  You could build your app to filter out invoices, generate a SOW, PO, or a contract for signature, or maybe to send internal HR documents that need a signature. By using the App you can build a nice interface to generate the unique content you need to send for signature. In the video we show filtering employee data but it doesn't matter, all that matters is you get well formed HTML with signature blocks hidden in it.  Power Automate to create a PDF The process of creating the PDF is the same as always with Power Automate. Create an HTML file in OneDrive for Business, convert that to PDF with the built in action, and then save the new PDF file. The good news is you don't have to change any of that when using docusign. When you generate the HTML in Power Apps you add HTML tags like below: Name: \\n1\\\\ Date: \\d1\\\\ Signature: \\s1\\\\ These tags will be replaced with docusign parts in the later actions.  docusign Actions In docusign now you are going to use a lot of actions. To make the process as flexible as possible they have every step in its own action. So you will need to create an envelope, add recipients, add tabs, and finally send the envelope.  No one step is hard, you just need to work through them logically and make sure you get everything you want. For example, in my HTML above I showed 3 blocks I wanted: Name, Date, and Signature. So I need to add three tabs for a recipient on an envelope. I am sure yours will be different.  Saving the Signed Document Back to SharePoint Alright, they have signed your PDF now you probably want to capture that file. In my case I wanted to put it in SharePoint. Turns out that is a pretty simple flow since there is a Power Automate cloud flow trigger for When an envelope status changes. Then you just get the document and save it to SharePoint. Boom! Practical Applications Think about HR departments needing approvals for hiring, project managers needing sign-offs for deliverables, or finance teams requiring authorization on budget documents. This kind of automated approval workflow can drastically reduce administrative load, eliminate bottlenecks, and keep projects moving forward smoothly. For example, in the scenario from the video, the system was used to collect managerial sign-off on employee lists filtered by department. The Power App allows users to dynamically adjust which data they want approved, and the entire process—from document creation to manager signature—is completed in a fully digital space, with every step tracked automatically. Closing Thoughts The combination of Power Apps, Power Automate, and DocuSign provides a powerful toolkit for businesses looking to streamline approval workflows. Not only does it save time, but it also provides the reliability and traceability that manual processes often lack. By reducing the need for human touchpoints, it minimizes the chances for errors and keeps everything moving smoothly—something every organization can benefit from. If you're interested in setting up something similar for your team, consider starting with a simple process that you can automate end-to-end. With tools like these, small changes can lead to big improvements in productivity and employee satisfaction. And of course, if you need help with this or anything Power related hit the Contact Us button. We have options from a 30 minute call to help you get unstuck to a 30-month project to help you automate EVERYTHING. Just let us know how we can help.

  • Breaking Free from Gallery.Selected: Better Control in Power Apps with Variables

    Are you tired of being stuck with the limitations of Gallery.Selected in your apps? Do you like having control of your app? Tired of confusing sequence for you users? Then take back control by switching to variables instead of Gallery.Selected. In this guide, we’ll dive into how to shift from using Gallery.Selected to a variable-based approach for better control, smoother navigation, and an overall improved user experience in Power Apps. We’ll go step-by-step on how you can introduce a single variable to manage record selections, handle new records more intuitively, and add more customization to your app—all while making your code cleaner and more efficient. And if you are more into seeing is believing then check out my 12-minute YouTube video Don't use PowerApps Gallery Selected Item Why Ditch Gallery.Selected? Using Gallery.Selected feels like a no-brainer when you first start building with Power Apps. It’s straightforward and provides an easy way to reference the record that a user clicks on. But… it’s not without its limitations: Lack of control: Once a user selects a record, Power Apps doesn’t let you control the next steps as much as you might like. This can lead to unintended highlights and inconsistencies, especially when users create or cancel new records. Inconsistent behavior: When a new record is created, the gallery often still highlights the previously selected item. Awkward, right? Limitations in multi-screen apps: Using Gallery.Selected across screens becomes tricky and isn’t as intuitive for users or developers. These limitations make a compelling case for switching to a variable-based approach, where we can leverage context and global variables to create a more reliable, user-friendly experience. Step 1: Setting Up Your Variable First things first, let’s create a variable to replace Gallery.Selected. You’ll use this variable to store the record information whenever a user clicks on an item in the gallery. Go to the gallery’s OnSelect property and add the following line of code to create a new variable (we’ll call it varRecord for simplicity): Set(varRecord, ThisItem) Now, instead of relying on Gallery.Selected, set your form’s Item property to varRecord. This will allow the form to reflect the selected record without directly depending on the gallery's selection. Step 2: Updating the Visual Cues Let’s add a few visual tweaks to make the selection experience smoother and more intuitive for users. This part is all about using varRecord to highlight the selected record, without those pesky issues tied to Gallery.Selected. Go to your gallery’s TemplateFill property and replace any reference to ThisItem.IsSelected with a condition that highlights based on varRecord . Here’s a quick example using the ID of each record: If(ThisItem.ID = VARrecord.ID, Color.LightBlue, Color.Transparent) Update any other properties that rely on ThisItem.IsSelected, like font weight or colors, using varRecord instead. Remember in the example above ID is the primary key column from the SharePoint list. If you are using another data source then you might not have ID as a column. Dataverse, for example, uses a unique identifier column that is named similar to the table name. The key is you need to find the primary column. Step 3: Customizing the New and Cancel Buttons Now that we’ve removed Gallery.Selected from the picture, let’s get our new and cancel record actions working flawlessly. For New Records: When a user clicks the “New” button, update varRecord to a blank value. This way, your gallery won’t highlight a record while the new form is open. Set(varRecord, Blank());NewForm(Form1) You may also want to repeat this step on the Cancel button. Or other places in your app you wish to clear the selected item. This approach ensures that your gallery and forms remain synchronized with each other, providing users with a seamless experience. Step 4: Setting Default Records (Optional) Want your app to open with a specific record highlighted? You can set varRecord to a default record (like “Greg” or “Chewy”) when the app starts. This is perfect if you want a particular item to show up as the default view when users first open the app. Steps: In your app’s OnStart property, add: Set(varRecord , LookUp(YourDataSource, ID = 1)) // Replace ID = 1 with your desired default Now, your app opens with the specific record highlighted automatically. No more blank first screens! In the video, you will see additional functionality, like adding a custom label that appears when the variable is blank and the form isn't in new mode like shown below. Now that you have complete control of when something is or isn't "selected" you can build whatever custom experience you would like. Benefits of Using a Variable Switching to a variable-based approach isn’t just a workaround—it’s an upgrade! Here are a few benefits: Better control : Gain more control over your gallery’s behavior, ensuring that records are only highlighted when and where you want them. More intuitive navigation : New and canceled records are handled seamlessly, without confusing the user with leftover highlights. Cleaner code : Using a single variable simplifies the app’s logic, making your code easier to read and maintain. Final Thoughts So there you have it! Ditching Gallery.Selected and embracing variables can give you and your users a smoother, more reliable experience in PowerApps. And, of course, it’ll make your app code cleaner, giving you less to troubleshoot when things go sideways. If you’re looking for even more PowerApps tips and tricks, we’re constantly adding new tutorials and updates. And if you’re curious about more ways to enhance your PowerApps skills, check out our training sessions. We offer everything from 30 minutes of mentoring to 30 years of project building, just hit the contact button and let us know what you need.

  • AI & Me: Nicola's Honest Journey from Skepticism to Excitement

    Nicola here, CEO at PowerApps911, sharing my honest thoughts on AI – I'm both thrilled and a little terrified. If you're leading an organization, a department, a team, or working in product development, you've likely been thinking about AI and its potential to boost productivity or enhance your product/service. I know I have. Initially, I felt like many of you – a bit hesitant but happy to use ChatGPT for things like content improvements, brainstorming games for team meetings, or drafting PTO flyers for school. This was easy to jump into since I spend around 14 hours a day with Shane, who brings up something AI-related at least once an hour 😊. I loved the productivity boost, especially since ChatGPT helped in areas that aren’t my strong suit, but I still didn’t quite grasp the game-changing potential. Then, the team working on our AI services asked us to brainstorm problems and inefficiencies in our organization that we’d love to solve. I was hesitant at first, still unclear on AI’s unique capabilities. I even asked, “How is this different from the solutions we already build with the Power Platform?” Their answer? AI doesn’t just follow instructions – it can interpret data and provide insights. Unlike standard automation, AI can think critically about the data it processes and give meaningful answers. And then… the wheels really started turning. I began thinking about areas of our business I’d love to make more efficient to better serve our clients and create a better work environment for our team. Some ideas were: Creating a solution to simplify time entry. We’re a time and materials-based consulting company, and as much as we might wish to avoid timesheets, they’re essential. Making that process easier for our team would be fantastic! We have a lot of meetings; maybe AI could look at calendars and suggest (or even prepopulate!) time entries based on meeting data. It could analyze historical patterns and recommend or prepopulate entries, streamlining the whole process. Improving the resource shuffle. If you manage resources like we do, you know the challenges of adjusting as projects delay, new projects arise, or skill needs change. We have a solid resource management tool and a team of skilled project managers juggling resources constantly. But what if AI could make it just a bit easier? Imagine AI recommending resource shifts that optimize skills and availability or suggesting allocations based on our project pipeline. Before this brainstorming, we were working on an internal project to make it easier to identify completed projects similar to new opportunities. In many organizations, this information is stuck in people’s heads. Someone asks, “Have you ever done a project that uses XYZ?” and we rely on team memory, sometimes asking everyone to find an answer. We tried solving this by tagging documents with skill and technology information and short project descriptions, but with a backlog of projects dating back to 2018, it was slow going. Then Daniel LeMay, one of our AI experts, stepped in and suggested AI could solve it faster and better. Now, he’s working on a solution to analyze all our past project content and automatically tag new ones as they’re completed. These are just a few examples. Once I fully grasped the possibilities, I quickly came up with ten ideas. If you're like me and need a quick discussion with someone to understand AI and its potential, contact us . We’re excited about what AI can do, and we’d love to brainstorm with you. If you decide to move forward with AI, we offer AI Services and Training – we can build for you or teach you to build. We’re here to be the partner you need.

  • Power Pages: A Simple and Secure Way to Build Web Pages

    Interest in Power Pages as a solution has become one of the fastest growing requests from our clients.  And it is pretty easy to see why.  Need a student registration website? An ordering portal for your vendors? A scheduling tool for subcontractors? Power Pages offers a secure solution for external users and connects seamlessly to your Dataverse environment. If you have processes that involve people outside of your company and right now rely on manual processes (email!), then consider Power Pages.  Yes, there are licensing costs, but we ran some ROI numbers for our own org and building a Power Pages solution will ultimately save us time and money! But how low code is it? Power Platform is working to make application development accessible to people with little to no coding experience, and Power Pages is no exception. However, it is not quite as low code as some of its companion tools. As the child of Dynamics 365 Portals, Power Pages is built on Dataverse and is essentially a model-driven app on the back end. In its current form, you can only achieve so much with out of the box functionality and will need HTML, CSS, JavaScript and/or Liquid to go further. Currently, organizations can make very basic pages using low-code and need to leverage full dev to create more sophisticated interfaces. The Microsoft team is working to include more and more Power FX to Pages , which is great news, but it is still in the early stages. You can build for two different types of users: Authenticated or Anonymous  Building for Authenticated Users Power Pages Authenticated users are users who obtain secure access to your website by logging in through an authentication provider website. More simply put, authenticated users are logged in to your website. Before you decide to start building for authenticated users, understand how you want each type of user to use the site.  We call this, user roles. User roles help define what each type of user can access, view, and modify within the website. By establishing clear roles, you can tailor content and features to specific user needs, ensuring that sensitive information is only available to authorized users. When planning a Pages project, map out who will use your solution, and the different functions they will perform. Identify what tables in Dataverse they will have access to and make a plan to configure and test each users access role as you develop. Keep in mind that security in Dataverse is not relevant to Power Pages. It has its own thing which operates on the account and contact tables. By carefully planning user roles and enforcing security measures, organizations can create robust, secure websites that serve your audience’s needs without compromising on safety or compliance. Anonymous Users and Power Pages If you have no need to restrict the content to only certain users, then building for Anonymous users might be the right way to go. Anonymous access does not require users to log in. In these cases, your user role planning is focused on one user type- everyone. Even though user roles for anonymous users may seem simple, it is important to carefully plan and control what information is accessible. While sharing event details and documents is straightforward, it’s essential to ensure that sensitive data or internal resources are restricted and properly secured. Defining clear boundaries for anonymous users helps maintain the integrity of your organization’s information while still providing a user-friendly experience. Ready to build? Join our live three day workshop , November 12-14 (only $650!!), which will give you all the tools you need to get started with Power Pages. If you are still not sure, check out these videos or just reply to this email and ask us a question. Intro to Power Pages ( youtube.com ) How to Configure Power Pages for Item Redirection ( youtube.com )

  • Export to CSV from Power Apps: A Complete Guide

    I feel like just about every commercial app out there has the concept of Export to CSV. Turns out people like to grab their data and open it up in Excel. 🤷 Who Knew. So today, let's walk through how easy it is to add Export to CSV into your Power Apps. Basically, we select some table data, encode it in JSON, and then ship it off to Power Automate which has built in actions to make it super easy. Once the data is in Power Automate you can create a file an then save the file off to SharePoint, OneDrive, send it via an email attachment or basically anything else you can dream of. That is the beauty of flow, once you have the CSV file you can do anything you want. And speaking of Selecting items in a Gallery, we even cover how to Select All and Deselect All in the video version of this. Video: Power Apps Export to CSV with Power Automate Pro Tip:  This tutorial assumes you’ve already got your Power App setup and you’re just focusing on the exporting bit. We’re skipping the app creation part today and heading straight into the exciting stuff: generating a JSON, converting it into CSV, and getting it where it needs to go. Check out the video above if you want to see the app creation and item selection. Creating the JSON from Power Apps First things first, we need to get our data into a JSON format. Power Apps can output data in various forms, but for exporting, JSON is the golden ticket. Step 1: Using the JSON Function In Power Apps, the JSON() function is your new best friend. This function allows you to take any table of data (like the items in your app) and convert it into JSON format. That’s the format Power Automate loves to work with. Here's how to create a JSON variable in Power Apps: UpdateContext({varJSON: JSON(yourTable, JSONFormat.IndentFour)}) This will take your data and turn it into a JSON string, which we’ll use in the next step to create our CSV. Now depending on your table, the previous step might be way more complicated. There JSON function doesn't work against controls or some advanced data types. In the video, we go through all of that but below you can see an example of just how complicated things can get. That is intense, and why the video is a bit longer but that is a good insight of what this looks like in the real world. Parsing JSON in Power Automate Next, it’s time to head into Power Automate. This is where the magic of converting our JSON data into a CSV file happens. Step 2: Parsing the JSON Inside your Power Automate flow, the first step after receiving the JSON from Power Apps is to parse  it. This basically tells Power Automate what data you’re working with and how it’s structured. Add the Parse JSON  action to your flow. Under "Content," insert the JSON data coming from Power Apps. Generate a schema by clicking "Generate from sample" and paste the sample JSON you want to parse. Boom! 🎉 Now Power Automate understands what’s inside your JSON file, and you can start working with that data. Converting JSON to CSV Now that Power Automate knows what your data looks like, let’s convert it into CSV format. Step 3: Create CSV Table Action We’ll use the Create CSV Table  action in Power Automate to handle this. Here’s how: Add the Create CSV Table  action. Choose your parsed JSON output as the input for this action. If you want to customize the columns, select Custom  under "Columns" and specify the fields you want in your CSV (like Order Date, Total Amount, etc.). This action will generate a perfectly formatted CSV file with all your data. Now in the screenshot you can see some Expressions. Reminder, while you will bring over some raw data from Power Apps you can still fix it up. Order Date I updated to make a nicer looking format and Total Amount I set to look like currency. Once again, all of the gory details are covered in the video. Sending Your CSV File via Email With your CSV file ready to go, you can do just about anything with it. In this example, we’re going to email the file as an attachment. Step 4: Sending the CSV as an Attachment Add the Send an Email (V2)  action to your flow. Then, use the following settings: To:  Your desired recipient (or just yourself to test it out!). Subject:  Something like, “Here’s your CSV export!” Body:  You can keep this simple for now, like “Check out the attached CSV file.” Attachment Name:  Export.csv (or whatever you want to call it). Attachment Content:  Use the output from the Create CSV Table  action here. Hit "Save," test it out, and if all goes well, you’ll receive an email with your brand-new CSV file attached. Bonus: Embedding Data as HTML Table (Optional) If you want to get even fancier, instead of attaching the CSV file, you can embed the data directly in your email as an HTML table. To do this: Add the Create HTML Table  action (instead of CSV). Use the same parsed JSON as the input. In your Send an Email  action, insert the HTML table output into the body of the email. Now, instead of a file attachment, your recipients will see a nicely formatted table right in their inbox! 📬 Wrap Up And that’s it! 🎉 You've just learned how to export data to CSV from Power Apps  using Power Automate. With this knowledge, you can take your data anywhere it needs to go—whether that’s an inbox, cloud storage, or even SharePoint. Exporting CSVs from Power Apps is a super practical feature, especially if you're working with large datasets or need to automate data sharing across different teams. So go ahead, give it a try, and make your life a whole lot easier! If you need help with this or any apps or flows, just click the Contact button and we are happy to help. We have services that range from 30-minute screen shares to full scale project development.

  • AddColumns in Power Apps: A Comprehensive Guide for Data Shaping with Power FX

    As Power Apps developers, we frequently encounter situations where we need to manipulate and reshape data dynamically to meet specific app requirements. One powerful tool for this task is the AddColumns  function. Whether you're working with SharePoint, Dataverse, or SQL data sources, understanding how to use AddColumns effectively can make your app development process smoother and more efficient. Why do we need tools like AddColumns? There are lots of reasons but the most common two are: One, we don't own the data source. Meaning we can't change the columns or what is avaialable we have to "make due" with what they provide. So adding our own to facilate functionality is a must. Two, we want to do something advanced. Creating a dynamic list of the next 10 Mondays in a dropdown, building an editable grid, or some other complex scenario where you need to be nimble. AddColumns lets you do all of this and more. In this post, we’ll explore practical use cases of the AddColumns function, along with other helpful data manipulation tips. So, grab your Power Apps toolkit, and let’s dive in! BTW - If all of this reading isn't your jam and you prefer video, I have got your covered AddColumns in Power Apps . We do all of this and then some. Handling Delegation and Performance Before you dive into the functions, one of the critical things to understand when using AddColumns or any of the data shaping formulas is delegation. Delegation  refers to how much data Power Apps can handle and process on the backend server rather than on the client device. Some functions in Power Apps, including AddColumns, are non-delegable , which means that they can only work on the first 500 (or another limit set by your environment) records of your data. If you're working with large datasets, you must be cautious when applying AddColumns, as it might not return all rows, only the ones within the delegation limit. To prevent this, be mindful of where and how you use the function. To better understand delegation, check out our comprehensive guide on Power Apps delegation . Common things to keep in mind All of these functions are used to generate a table with a new shape. As you will see in the examples you can change a data source table or a table you generate. This generated table doesn't affect the table that is being shaped, meaning if you use AddColumns on a SharePoint list it isn't changing the SharePoint list. These functions are most often used in the Items property of a gallery or dropdown. Or if you need it more available then you can capture the output in a collection. What Is AddColumns and Why Should You Use It? At its core, AddColumns  allows you to create a new column in your existing table, based on a calculation or formula, without altering your original data source. This is crucial because in many cases, you’re not allowed (or don’t want) to modify your backend data, especially if you’re dealing with a complex or restricted system like SharePoint or SQL. For instance, imagine you have an employees list in SharePoint with separate columns for First Name  and Last Name , but you want to display a Full Name  in your app. Instead of modifying the data source to combine these fields, AddColumns allows you to do this directly in Power Apps. Example 1: Creating a Full Name Column Let’s start with a basic example. You want to display the full name of an employee in your Power App. Here’s the formula: AddColumns(Employees, FullName, FirstName & " " & LastName) With this simple line, we’ve created a new column, Full Name , that combines the first and last names without touching the data in the original SharePoint list. Example 2: Sorting by Complex Columns Sorting data in Power Apps is generally straightforward until you deal with complex columns , such as Choice  fields. Let’s say you have a Favorite Color  choice column in your SharePoint list, and you want to sort your employees by their favorite colors. Sorting a complex column directly might throw errors. Here’s where AddColumns comes to the rescue: AddColumns(Employees, FavoriteColorValue, FavoriteColor.Value) Now that you’ve created a new text column for FavoriteColorValue , you can sort by it without issue: SortByColumns(AddColumns(Employees, FavoriteColorValue, FavoriteColor.Value),"FavoriteColorValue") Example 3: Grouping Data and Using AddColumns for Summarization Another exciting use case for AddColumns is when you need to group your data or calculate summaries. For example, you may have a list of sales transactions, and you want to group the data by department while calculating the total sales for each. Using AddColumns along with GroupBy  and Sum  functions, you can achieve this seamlessly: AddColumns( GroupBy(Sales, "Department", "GroupedSales"), TotalSales, Sum(GroupedSales, SalesAmount)) This formula adds a new column, TotalSales , to your grouped data, summarizing the sales amount for each department. Note: The screenshot has HourlyWage in place of SalesAmount. My demo data didn't line up exactly with the point I wanted to make. Example 4: Creating Dynamic Date Ranges Using AddColumns Here’s a quick trick for generating dynamic date ranges. Say you want to create a drop-down list of the next 10 same day of the week, starting from today. AddColumns works perfectly with Sequence , a function that generates a sequence of numbers that we can turn into dates. AddColumns( Sequence(10, 0, 7), SameDay, DateAdd(Today(), Value, TimeUnit.Days)) RenameColumns: Adjusting Column Names for Consistency When working with external data sources or collaborating with multiple teams, you may find that column names are not always consistent or easy to work with. That’s where RenameColumns  comes in handy. This function allows you to rename one or more columns in your dataset without altering the actual data source. For example, if you’re working with a dataset that uses the column named Department  but prefer to display it as Dept  in your app, you can quickly rename it using this function: RenameColumns(Employees, Department, Dept) This simple rename action can make your app easier to maintain, especially when aligning with standardized naming conventions across your organization. DropColumns: Clean Up Unnecessary Data Sometimes, you’re working with a dataset that contains more information than you need. Excess data can slow down your app and make your formulas more difficult to manage. That’s where DropColumns  can help. This function allows you to remove unwanted columns from a table without affecting the data source. For example, let’s say you have an employees table with a Photo  column, but the photo is not needed for a particular view in your app. You can drop that column like this: DropColumns(Employees, Photo) By using DropColumns, you streamline your app's performance and ensure that only relevant data is downloaded to your app. ShowColumns: Focus Only on What’s Needed While DropColumns removes certain columns from a table, ShowColumns  works in the opposite direction: it helps you specify exactly which columns you want to have available. This can be particularly useful when you’re dealing with large datasets but only need a few specific pieces of information. For example, if you only want to display an employee’s First Name , Last Name , and Department , you can use ShowColumns to limit the data returned: ShowColumns(Employees, FirstName, LastName, Department) By focusing only on the necessary data, you enhance both performance and readability in your app, ensuring that users see exactly what they need—nothing more, nothing less. Wrapping Up The AddColumns function is an essential tool for shaping and manipulating data on the fly in Power Apps, allowing you to do some really cool stuff. But don't forget about the functions friends. ShowColumns, DropColumns, and RenameColumns all have their magic moment where they are the perfect answer. And the more Power FX you know, the better. If you need help with this, or anything Power Platform related Click the Contact Us button at the top of the page and we would be happy to help.

  • Archive SharePoint List Items with Power Automate

    Do you use SharePoint as a data source? I bet you do. 🤩 If you do then let's talk about the importance of keeping those list sizes as small as possible and how you can use Power Automate cloud flows to help archive off those unnecessary items. Why Archive SharePoint List Items? Archiving isn't just about tidying up; it's about optimizing your app's performance and enhancing the user experience. 1. Overcoming Power Apps Delegation Limits If you've worked with Power Apps and SharePoint, you've likely encountered delegation limits. By default, Power Apps functions like Search can only work with the first 500 records of your data source (though you can bump this up to 2,000). This means those operations are limited to just those records, leaving the rest of your data untouched. Why is this a problem?  Because if your SharePoint list has more than 2,000 items (and let's be honest, they grow faster than weeds), your app can have challenges with data beyond that limit. This can lead to incomplete data views and frustrated users. 2. Boosting App Performance Large datasets can slow down your app. Each time your app loads, it pulls data from your SharePoint list. The more data it has to fetch, the longer it takes. By archiving old or unnecessary items, you reduce the load on your app, making it snappier and more responsive. The way I have always explained this is for every 1,000 more items in your SharePoint list you can feel a slowdown in overall app performance. Purely a Shane made up stat but, that is what it feels like to me. So shrink them lists! 3. Enhancing User Experience Nobody likes sifting through thousands of records to find what they need. A cluttered app can overwhelm users and decrease productivity. Archiving helps keep your app clean and user-friendly. Seriously, I get questions about why can't I have 1000's of items in my dropdown? WHY! Because for starters what users wants to scroll through that much data? Find a way to only show them what they actually need. 4. Compliance and Data Retention Archiving isn't just about performance; it's also about compliance. Many industries have regulations around data retention. Archiving ensures you're keeping necessary records without cluttering your active workspace. So many compliance rules here, I will not even try to list them. But make sure if you are storing data, you are following the rules. Not only for how long you might need to keep it but also who can see it. How to Archive SharePoint List Items Using Power Automate Alright, now that we've covered the "why," let's get into the "how." We'll use Power Automate to create a flow that automatically moves items from your main SharePoint list to an archive list based on criteria you set. Why Power Automate for archiving? The best answer is because it is included. The same license that is letting you build those Power Apps on top of SharePoint lets you use Power Automate cloud flows. So, building a flow to archive your SharePoint lists items is not only easy but it is also "free". If you want step-by-step for building a flow to archive SharePoint list items then click the link to the video. Now building the flow can be easy or it can be hard. That really depends on your level of comfort with Power Automate and the type of SharePoint columns you are using. Most of your common SharePoint columns are easy and just plug and play. Your flow gets the item to be archived and then has a step to create a new item with that dynamic content. You play connect the dots and boom. You can also delete the item if you want. Now for columns like multiple choice they throw a bit of a curve ball. For those you have to use the Select action to get the exact data out and then insert that output into the field. Attachment Column And then finally you have the hardest of the hard, attachment column. It requires a lot of moving parts and multiple actions. I am not even going to try to explain it, if you need to do attachments you will have to watch the video . And then just make sure you go slowly, easy to get confused. Wrapping It Up There you have it! By archiving your SharePoint list items using a Power Automate cloud flow, you're not just cleaning house—you're optimizing your app's performance, enhancing user experience, and sidestepping those annoying delegation limits. So go ahead, give your app (and your users) the boost they deserve! Need a hand setting this up?  We're here to help! Click the Contact us button. We can help you with this or any of your Power Platform challenges. We offer 30 minutes Teams calls all the way to full on project consulting.

bottom of page