
Search Content
188 results found with an empty search
- Incident Reporting with the Microsoft Power Platform
Incident reporting is a critical aspect across all industries. Whether it's safety concerns, environmental issues, property damage, compliance breaches, data security, or product defects, efficiently managing these reports is crucial. If you are still using paper or a Word document to collect this information, then you are likely missing aspects of data integrity, speed of dissemination (notifications), and the ability to view historical trends. Why Choose the Power Platform? This is where Microsoft Power Platform steps in as a game-changing solution. While there are numerous specialized tools in the market, the Power Platform stands out due to its customizability and integration capabilities. Here’s why it's an ideal choice for your incident reporting needs: Customization at Your Fingertips: Unlike off-the-shelf solutions, the Power Platform allows you to tailor your incident reporting app to meet your unique business requirements. This means you can design workflows and forms that align perfectly with your operational needs. Seamless Integration: The Power Platform excels in connectivity. Using its robust connectors, your incident reporting app can seamlessly integrate with other applications within your organization. This not only increases visibility but also reduces data duplication, ensuring that all relevant stakeholders have the latest information at their fingertips. Cross-Platform Accessibility: With the Power Platform, you can create a solution that is accessible on both mobile and desktop platforms. This ensures that incident reporting can be done on the go, which is crucial for capturing the data immediately! Enhanced Data Analytics: With Power BI you can go beyond just collecting data. You can analyze trends to make data-driven decisions. Transitioning to the Microsoft Power Platform for your incident reporting needs is not just about digitalization; it's about transforming the way you manage critical information. It empowers your organization with efficiency, accuracy, and agility, turning incident reporting into a strategic asset rather than an administrative burden. Here's an example our team has developed: a simple and effective workplace injury reporting app. This app is designed to make the reporting of workplace injuries as straightforward as possible. When an injury occurs, the app allows for quick documentation and notification to the relevant parties. The user-friendly interface ensures that essential information is captured efficiently and accurately. All data is stored in a centralized location, making it easy to access and analyze. This can help in identifying trends, such as common times for injuries or if certain departments are experiencing more incidents. The goal is to provide a practical tool that aids in both incident reporting and workplace safety analysis. If you are ready to move forward with an Incident Report app, or any app within the Power Platform, PowerApps911 is here to help. Want to build your own app but don’t know where to begin? Start with our training . Don’t know which tool is the best to use? Watch this video from our own Shane Young. Want us to mentor you through the build or do the build for you? Fill out the contact form below!
- 5 Essential Power Apps Functions for Enhanced App Development
Welcome to another exciting exploration in the world of Power Apps! Today, we're diving into five "fancy" functions that, while not traditionally fancy, are absolute game-changers for any Power Apps developer. These functions are not just about adding flair to your apps; they're about making your development process more efficient, your apps more powerful, and your user experience smoother. If you wish to see these 5 Power Apps functions in action, then check out this video 5 Fancy Functions in Power Apps from my Power Apps YouTube channel. I show each function and how to use it. Coalesce Function: The First Non-Blank Value Finder The Coalesce function is a hidden gem that returns the first non-blank value in a series of parameters. It's incredibly useful when dealing with optional inputs. Imagine a scenario where you have multiple text inputs, and you want to display the first one that the user fills out. Coalesce simplifies this by checking each input in order and returning the first non-empty one. This function shines in data lookups too, especially when you're checking for existing records before creating new ones. It eliminates redundant code, making your app more efficient. Coalesce(TextInput1.Text, TextInput2.Text, "NA") As you get more comfortable with it, you can make your Patch formulas a lot less complicated. Sequence Function: Generating Number Sequences Made Easy The Sequence function is all about generating a table of sequential numbers. It's perfect for scenarios where you need to create dynamic lists or slots based on user input. For instance, if you need to generate reservation slots or count items based on a number provided by the user, Sequence is your go-to function. It offers flexibility in starting numbers and increments, allowing you to tailor the sequence to your specific needs. The formula below makes a table of 6 numbers. Starting with 0 and increasing by 10 each time. Sequence(6, 0, 10) Below you can see Coalesce in action. Once you get comfortable with it there is a lot of dynamic tables you can build. AddColumns Function: Reshaping Your Data on the Fly AddColumns is part of the data shaping toolkit in Power Apps. It allows you to add new columns to an existing table. This function is particularly useful when you need to calculate or derive new data points from existing data. For example, if you have a table of dates and need to add a column that shows the day of the week for each date, AddColumns makes this task a breeze. It's about enhancing your data without altering the original source. This example takes Today's date returns it plus the next 9 days dynamically by taking Sequences output of 0 to 9 and then adding a column for Date which is Today's date + the Value from sequence. AddColumns(Sequence(10,0),"Date", Today() + Value) Now you have a handy table of today plus the next 9 days. Note for this example it is January 30th. Sequence and Coalesce combine for the win! Notify Function: User Notifications Simplified The Notify function is straightforward yet powerful. It's used to display brief messages to the user, like success or error notifications. The beauty of Notify lies in its simplicity and the ability to customize the duration and type of notification. It's an excellent alternative to more complex modal popups for simple messages. While I often use it for debugging and troubleshooting, it's equally effective for user interactions. Here you are setting Notify to say "Hi Mom!". The message will be red because you choose Error as the type, others are available. And finally 5000 represents the numbers of milliseconds before it disappears. Notify("Hi Mom!",NotificationType.Error,5000) With Function: Reducing Redundancy in Your Code Last but certainly not least, the With function holds a special place in my Power Apps toolkit. It's all about reducing redundancies and making your code cleaner. With allows you to perform calculations or operations on a data set and use the result throughout a block of code. It's particularly useful in scenarios where you need to perform the same calculation multiple times. By using With, you can do the calculation once and reference the result, making your code more readable and efficient. This example from the video shows 2 With functions nested together to calculate the days and weeks between two dates. With({xTotalDays: DateDiff(dpStart.SelectedDate, dpEnd.SelectedDate),xMessage: "Hi"}, With({xLeftOverDays: Mod(xTotalDays, 7)}, (xTotalDays - xLeftOverDays)/7 & " weeks and " & xLeftOverDays & " days between the two dates")) This example is a great illustration of the power without being too complicated. In conclusion, these five functions – Coalesce, Sequence, AddColumns, Notify, and With – are not just tools; they're your allies in creating more efficient, powerful, and user-friendly Power Apps. Whether you're streamlining data lookups, generating dynamic lists, reshaping data, notifying users, or simplifying your code, these functions have got you covered. Embrace them in your next Power Apps project and watch the magic happen! If you need help with your Power Apps projects we are here to help From 30 minute screenshares to fix that one nagging issue to full scale project implementation we have you covered. Just scroll down the page and fill out the Contact Us form and we will be happy to help. Thanks -Shane
- Using AI Builder with Power Automate
I recently experienced the excitement of using data captured from AI models from AI Builder in a Power Automate cloud flow. To get this kind of functionality in the past I used Power Automate Desktop, which worked, but it felt a little clunky to wire together. Though it’s probably been available for quite a while, I just discovered that by using the capability baked into AI models that are available in AI Builder , you can bypass Power Automate Desktop with a very smooth tool to harvest data from a document formatted as a PDF, PNG, or JPEG. Very cool indeed! Finding AI Builder AI Builder is available from the Power Apps maker portal ( make.powerapps.com ). Once you get to the Power Apps home page, look down on the left-hand navigation panel, select the More option, and you’ll see an option to go to the AI hub . AI hub is the landing page for AI builder . There’s so much you can tackle here, but I want to narrow it down to using the AI models portion, since I want to demonstrate how you can use an existing model to pull data into Power Automate. AI models provide a jumpstart Once you’ve selected AI models , AI Builder presents you with options to choose a model. You can filter the results, but you can see all of them by simply selecting All . As of this writing, there are less than twenty, but I bet we’ll see more of these in the future. Notice how some have the label “PREBUILT” where others have “CUSTOM” categories. Additionally, some have the warning “PREVIEW” next to them. At this point I think it’s safe to try all of them, but I’d shy away from using anything with “preview” in a business solution. Side note: If you’re doing this for production, you always want to be careful about automatically picking up data, but one of the cool features of these models is that they let you know a “confidence” factor. This factor lets you know the AI’s confidence that it is extracting correct information from a document. In this example, I’m using Extract information from invoices , which is one of the most popular models. When you select the model, AI Builder presents a preview of it, allowing you to view several documents that are already loaded into the model, along with a scrollable panel showing the Extracted information . There are links below to either Use prebuilt model or Create custom model , along with the possibility to View documentation (which opens another browser tab directly to the documentation for the selected model, very helpful). I was even able to use the Upload new icon to evaluate a random test invoice, and the prebuilt model picked up the data: The arrows to the left and right of the popup panel give you a preview of the other models, which is an excellent way to make sure you grab the one that best suits your purpose. Switching back to the screen above still had my uploaded document in the preview window, too. By selecting the Use prebuilt model you’ll notice that you have options to use the model in an app or flow. In this case I’m letting AI Builder know that I want to use it in a flow. After a moment, a new browser tab opens in Power Automate and asks to verify the connections. After doing that and selecting Continue , Power Automate spits out the following flow: The Manual trigger in the flow is simply asking for an invoice file in PDF, PNG or JPEG format. Notice how the steps of this flow have descriptive notes below the title of the selected steps letting you know about the flow and what it’s doing. Very nice! Right away, you get the idea (even suggested by Power Automate) that you can change the flow to suit your needs. The key step in this flow with respect to AI Builder is the Extract information from invoices step. This step attempts to pull the information from your document, according to the selected model. The Create HTML table step puts basic information into an HTML table. This step is modifiable so you can put whatever data you want into your table. The next step gets the user profile for the person activating the flow, and finally, the flow sends an email to the person activating the flow. The email also includes the original invoice. One cool thing about the Send an email step is worth a look. In the body of the email, Power Automate feeds you the Confidence score for each of the values! What?!? That’s right, the AI Builder step provides this information as step metadata! With this confidence score, you could use some conditions in your flow to route that item past an actual person for a second look. Another cool thing about the Send an email step is that it attaches the document to the email. Power Automate uses the updated Power Platform format for including the document “Name” and the “ContentBytes”. The weird piece is that Power Automate writes a formula for the “Name” string, while the "ContentBytes" come directly from the Dynamic content. That’s a little clunky, but it gets the job done. Wow, that’s a really great start to my flow! Now I can modify my flow to update data. Modifying the flow With Copilot’s help, I create a Dataverse table with most of the information that I’m looking for. I compare it to the model (open in another browser tab) and make some manual adjustments to it, so that I can match the columns from the model. Again, you can build a custom model to perfectly match your invoices, I just wanted to see the capabilities of the already developed model. The nice thing about using Copilot is that you get some sample data, too, so I absolutely recommend having Copilot lend you a hand. With my table called “Invoice Information” I can now go in and change my flow to write the data to my new table. I use the Dataverse Add a new row step in my flow, and because I’ve named my fields like the model, I can easily plug in the dynamic content into the fields. Running the flow has positive results! I can feed it the demo invoice and it picks up data that the model looks for. My “fake” invoice didn’t provide all of the information that my model is able to extract, but it did pick up most of the relevant data and add it to my table. Going back to look at my new Dataverse table, I find that the data is there, and I didn’t have to look at the invoice to input any of it! Summary AI Builder + Power Automate = Amazing! I’m sure you can grasp the potential of this type of AI integration. Being able to have AI read numbers/text from a document for data entry is not a pipe dream - it is available to you right now in the Microsoft Power Platform. You must give it a try!
- Unleashing Productivity with Microsoft 365 Copilot: A Comprehensive Guide
Finally! The wait is over! Copilot for Microsoft 365, you know the one that integrates with Outlook, Word, Excel, PowerPoint, OneNote, Teams, and more is finally available to everyone. So even us small companies can finally purchase and start using its awesome power. In this post, I will walk you through an overview of how to get it and how to activate it. I spent too much time figuring out all of this so I thought I would save you the fun. If you want to see all of this in action then check out my YouTube Video on how to buy and enable Copilot for Microsoft 365 . Getting Started: Purchasing Copilot First things first, let's talk about purchasing Copilot. Head over to admin.microsoft.com , and make sure you have admin access. If you don't, find someone who does. Navigate to the Marketplace and search for "Copilot." You'll find options for licensing quantity, subscription length, and payment methods. Choose what fits your needs and complete the purchase. This should be the direct URL . If it doesn't work for you then you can try this URL and then click Sign in the buy . I think the reason Microsoft didn't document how to buy is because it seems to be slightly different for everyone. Keep trying, you will find the magic recipe. Assigning Licenses Once you've made the purchase, it's time to assign licenses. Go to the 'Manage' section post-purchase, and start assigning licenses to your team members. You can notify them via email about this new tool at their disposal. Activating Copilot in Microsoft 365 Apps Now, let's get Copilot up and running in different clients like Word, Excel, PowerPoint, and OneNote. Here's a quick rundown: 1. Word, Excel, PowerPoint, and OneNote : Open each application, go to 'Account', and click 'Update License'. Ensure you're using the Microsoft 365 apps tied to your company account. Also it's not a bad time to update the apps to the latest version. You might need to restart the app for changes to take effect. 2. Outlook : The process is slightly different here. You might need to switch to the new client for Copilot to appear. Look for the toggle in the top right corner to switch to the new Outlook. 3. Teams : For Teams, signing out and then signing back in seemed to do the trick for me. Exploring Copilot Features Copilot isn't just about dictation or simple tasks. It's about enhancing productivity with AI-powered assistance. For instance, in PowerPoint, you can ask Copilot to create a presentation on a specific topic, like the Civil War, and it will generate a comprehensive slide deck complete with images and speaker notes. It's impressive how it understands context and delivers relevant content. In Word, Copilot can help draft documents, suggest edits, and even write sections based on prompts you provide. Imagine the time saved on drafting reports or proposals! Excel users, get ready for a game-changer. Copilot in Excel can analyze data trends, create complex formulas, and even generate charts, making data analysis a breeze. For OneNote, Copilot can be a fantastic tool for organizing notes, summarizing meetings, or even generating ideas for your next big project. Microsoft 365 Chat: A New Frontier One of the most exciting features is the Microsoft 365 chat, accessible via office.com . Think of it as ChatGPT but with access to your entire Microsoft 365 suite. It can pull information from SharePoint, Outlook, and other Microsoft services to provide comprehensive, context-aware responses. Embracing the Future with Copilot As we step into this new era of AI-assisted work, it's crucial to keep learning and adapting. At PowerApps911, we're committed to helping you navigate these changes. We have training classes available – both free and paid – to get you up to speed with Copilot and other generative AI tools. Intro to AI Course We also offer planning and implementation sources for all things AI. So if you are more trying to figure out how to take advantage of AI to maximize your company then reach out via the Contact Us form below. We have already been having these conversations with businesses like yours, helping them get started with AI.
- Mastering the ForAll Function in Power Apps: A Key to Efficient Data Handling
Hey there, Power Apps enthusiasts! Today, we're diving deep into one of the most powerful and versatile functions in Power Apps – the ForAll function. Whether you're just starting out or you're a seasoned pro, understanding the ForAll function is crucial for efficient data manipulation and bulk operations in your apps. If you want a more hands on experience with using ForAll in Power Apps then check out the YouTube video ForAll and other Functions in Power Apps What is the Power Apps ForAll Function? The ForAll function in Power Apps is like a Swiss Army knife for data manipulation. It allows you to loop through a table – this could be a collection, a data source, or even a table you've manually created – and perform operations on each row of that table. Think of it as a way to apply a formula or action to every item in a collection or table, all at once. Why Use ForAll? Imagine you have a list of employees and you need to update a specific field for multiple records based on certain criteria. Doing this manually for each record would be time-consuming and prone to errors. This is where ForAll comes in, allowing you to automate this process efficiently. Practical Uses of ForAll Bulk Updates : You can use ForAll to update multiple records in a data source. For instance, changing the department of selected employees in a company database. Data Transformation : Add new columns or modify existing ones in a table. For example, adding a row number to each item in a collection. Comparison with AddColumns : While ForAll is a go-to for many scenarios, sometimes the AddColumns function might be more suitable, especially for simpler data additions. Understanding when to use each function is key to optimizing your app's performance. How to Use ForAll Using ForAll starts with specifying the table you want to loop through, followed by the action you want to perform on each row. Here's a basic structure: ForAll(Table, Action) For instance, if you want to update the 'Department' field of selected employees to 'Marketing', your formula might look like this: ForAll(SelectedEmployees, Patch(Employees, ThisRecord, {Department: "Marketing"})) Tips and Tricks - Naming Conventions : When using ForAll, it's helpful to use a naming convention for the current item you're working with, like 'ThisItem' or 'CurrentRow'. This makes your formulas easier to read and maintain. - Performance Considerations : ForAll is powerful, but it's important to use it judiciously, especially with large data sets, as it can impact app performance. - Limitations : Remember, ForAll can't modify the table it's iterating over, and it can't set global variables within its loop. Conclusion The ForAll function is an indispensable tool in your Power Apps toolkit. It opens up a world of possibilities for data manipulation, making your apps more efficient and your workflows smoother. As you get more comfortable with ForAll, you'll find more creative and effective ways to use it in your app development journey. Need More Help? At PowerApps911, we're all about making Power Apps work for you. If you need a hand with ForAll or any other aspect of Power Apps, don't hesitate to reach out. We offer consulting, training, and even quick fixes to get your app up and running smoothly. Just scroll down the page to the Contact Us form and let us know what we can do for you. 😊 If you prefer to learn on your own, there is a downloadable app included with this video in our YouTube resource library for only $15/month! Happy app building, and remember – the power of Power Apps lies in your hands!
- Select Multiple Items and Select All in Power Apps Galleries
When working with Power Apps, one common requirement is the ability to select multiple items from a gallery. Whether it's for sending emails, updating records, or just enhancing user interaction, adding select and multi-select options to your galleries can significantly improve your app's functionality. In this post, we'll dive into how you can integrate checkboxes for item selection and manage dynamic UI elements in your Power Apps galleries. Below you will find the necessary steps to create a basic multiple select gallery experience. If you would like to see a more detailed demonstration with more advanced functionality like, Select All and Deselect All then check out the Power Apps video Power Apps Select Multiple Items in A Gallery Adding Checkboxes to Galleries The most typical user experience for Selecting Multiple Items is to use a Gallery control in Power Apps. The repeating nature of the controls makes building a scrollable experience very painless. The process is broken down into ____ steps. First, add the list of choices as a table to your gallery. Design the gallery to look the way you want with the necessary information the user will need to find their choice(s). If you don't readily have the options available in a table you can make one with the shorthand format of ["Choice 1", "Choice 2", "Choice 3"] as an example. That would go in the Items property of the Gallery. In the video example I used a Table from a Data Source. Now, insert a Check Box control into the gallery. You will know you have done it correctly if the Check Box shows up on each row even though you only added it once. This is best part about galleries, the automatic repeating nature. Also, now clear out the Text property of the Check Box and then drag it over to the left side of the gallery. Believe it or not, you are done with building the gallery. Now your users can check or uncheck the items in the gallery. Congrats. Of course, since they can select multiple we should probably cover how to get the items out. Getting the items they have selected in the gallery You can get the Table of items that they selected by using Filter and the galleries AllItems property. Assuming your gallery is named Gallery1 and your Checkbox is CheckBox3 use a formula like this in a Label to see how many items are selected. CountRows(Filter(Gallery1.AllItems, Checkbox3.Value)) Boom! Assuming you now understand that the table that is produced by the Filter is the items you want you can now do whatever you would like with their selections. Most likely saving them with a ForAll and/or a Patch but that is totally up to you. You could also add Select All and Deselect All but that is covered in the video. If you need help adding this functionality to your Power Apps or with other challenges let us know. We are here to help, fill out the contact form at the bottom of the page. We offer help anywhere from 30-minute video calls all the way through 30-month projects, let us know how we can help. If you prefer to learn on your own. there is a downloadable app included with this video in our YouTube training library for only $15/month!
- Simple solution to calculate the next 5 working days with Power Automate and SharePoint
We recently had a problem where a customer needed to know whether a given date fell within the next five working days. After going through some wranglings with Power Automate formulas, we came upon a much simpler solution based on a SharePoint list of workdays. To set things up, we created a simple SharePoint list of two columns: Date (date only) Workday (Y/N) Updating our SharePoint list, we added the calendar days and marked them with a check (signifying 'Y') if on a workday. Obviously, this step takes a little work to setup, but makes the process so much simpler in the flow. Then we created a flow in Power Automate. In the flow, we initialize a string variable with a message stating that the validation date " is not within 5 working days of the request ". Then, we use a Get items step pointing to the SharePoint list to select the first 6 items from the list greater than or equal to the request date that are working days. (We want to ensure that we include the request date as well as the next 5 working days.) With each of the dates returned, we compare it to a validation date . If the validation date equals any of the request dates returned, we update our variable with the message " is within five working days of the request ". Here's what the initial steps of our flow look like: We could also use a Boolean variable in the flow, but in our case, we wanted to create a message that we could send in an email. Once we collect the next five workdays, we run compare the validation date to see if it matches any of the dates. If it matches any of the dates, we update our string variable message to state that the validation date is within the five working day limit. Finally, we can create an HTML table that we can use in our message or email body by using the Create HTML table step along with a Compose action. We can use the last Compose step output in the body of an Email to let someone know that the date is valid. Sometimes creating complex formulas in Power Automate is simply not worth the trouble. With this simple solution, we can solve this problem and move on to the next one!
- Mastering Power Apps: Unlocking the Potential of Named Formulas
Named Formulas in Power Apps are a game-changer for developers looking to streamline their app's performance and maintainability. Unlike traditional variables, Named Formulas allow you to define a value or a set of values that Power Apps automatically manages and updates. This feature shifts the responsibility of value calculation and maintenance from the developer to Power Apps itself. Before you start reading just a quick reminder that I have a full length video that shows you how to use Power Apps Named Formulas available. It shows different syntaxes, how the help with peformance, and compare things to OnStart. Check out this awesome video here: Better Performance with Less Effort! Use Power Apps Named Formulas The Difference Between Named Formulas, Variables, and OnStart Understanding the difference between Named Formulas, Variables, and the OnStart function is crucial. Variables in Power Apps are mutable, meaning you can change their values as needed. OnStart, on the other hand, is a function that runs when your app starts, often used to initialize variables. Named Formulas differ in that they are immutable – once set, their values cannot be changed by the app. This immutability plays a significant role in how and when you should use Named Formulas. Practical Applications and Examples Named Formulas shine in scenarios where data doesn't need to be modified after being set. For instance, caching data for read-only purposes, such as user information or a list of choices for a dropdown menu, is an ideal use case. In the video, I demonstrate how to use Named Formulas for various data types, including tables, records, and even complex data structures. Syntax, Usage, and Examples The syntax for Named Formulas is straightforward yet distinct. You define a Named Formula using an equal sign ( = ), followed by the value or expression you want to assign. Remember, the semicolon ( ; ) is essential at the end of each Named Formula declaration. The image contains some examples of common data types. As you can see Text, Numbers, Records, Tables, even calculated or filtered tables, all of the different data types are supported. Just watch that synatx. Performance Implications One of the most significant advantages of Named Formulas is their positive impact on app performance. Since Named Formulas are managed by Power Apps, they are calculated only when needed. This lazy loading approach ensures that your app isn't bogged down by unnecessary data processing, leading to faster load times and a smoother user experience. Limitations and Considerations While Named Formulas offer several benefits, it's important to be aware of their limitations. Their immutable nature means you cannot modify them once set, making them unsuitable for scenarios where data needs to be updated dynamically. It's essential to strike a balance between using Named Formulas and Variables/OnStart based on your app's specific requirements. Conclusion Named Formulas in Power Apps are a powerful tool that can significantly enhance your app's performance and maintainability. By understanding their usage, benefits, and limitations, you can make informed decisions on when and how to implement them in your Power Apps projects. If you're looking to dive deeper into Power Apps and leverage the full potential of Named Formulas, don't hesitate to reach out to us at PowerApps911. Our team of experts is here to assist you with all your Power Apps needs, whether it's training, consulting, or project support. Contact us today and let's take your Power Apps to the next level!
- UPLOADING FILES TO SHAREPOINT WITH THE NEW POWERAPPS V2 CONNECTOR
Everyone needs to upload files from Power Apps to a data source. In this post we are going to walk through the steps of how to upload files to a SharePoint document library using the Power Apps attachment control and a quick Power Automate cloud flow. Recently Microsoft updated the flow connector to v2. This means that uploading is easier, but it is different than we have done in the past. Below you will find the steps to upload a file from Power Apps. If you prefer to watch a demo, then check out the video for Power Apps Upload a file . Let users upload files using the Attachment Control The Power Apps attachment control is the best way to upload a file to your Power Apps app. The only problem is to get the control you have to steal it from a Form Control. 😐 So lets start there. 1. Add any SharePoint list that has an attachment column as a data source to your app. Not the document library you want to use later, a list. 2. Now Insert an Edit form and connect it to that SharePoint list. 3. Find the attachment control as shown below. Click on the control and copy it. 4. Paste the control outside of the form. You will see some errors. Ignore those for now. 5. Delete the form from your app and optionally you can remove the SharePoint list you added also. 6. Go to the attachment control and fix all of the errors. Clear the Items property so it is empty Change the BorderColor to Color.Black Clear the Tooltip property so it is empty Set the DisplayMode to DisplayMode.Edit Now your app is ready for your users to add files to the app. Note: If you are having a hard time following along the video is much more detailed. Uploading files from Power Apps to SharePoint . This post assumes you have a solid understanding of Power Automate and Power Apps. Create the Power Automate Upload Flow The flow will accept the file from Power Apps, put it into your SharePoint Document Library, and set the file name. 1. Create a new blank Power Automate Cloud flow. The following steps assume you have the new Power Automate Cloud flow studio, if you have the old studio, your steps will look different. The video shows both ways if you need it. 2. Set the trigger to be PowerApps (v2). 3. For your trigger add an input for File. 4. Change the name ‘File Content’ to ‘MyFile’. Using a non-default name avoids confusion later. 5. Add the SharePoint action Create File 6. Set the Site Address to your SharePoint site. 7. Set the Folder Path to the library and folder you want to upload to. 8. Set the File Name to the Dynamic Content MyFile name 9. Set the File Content to MyFile contentBytes 10. Give your flow a name and save it. I used ‘Video Upload’ for my name. Now that your flow is ready time to return to Power Apps to finish things up. Add the flow to your Power Apps app 1. Return to Power Apps and add your flow to the app. 2. Go to the Attachment Control you added and set the OnAddFile property to VideoUpload.Run ("PAUpload", {file:{contentBytes:Last(Self.Attachments).Value, name:Last(Self.Attachments).Name}}) That will do it. Now when you add a file to the attachment control the flow will run and upload the file. Hooray! In the video we talk about things like creating a better user experience and we show how you can apply this to upload multiple files. That is too much for this post today though. Summing it up File uploads are a requirement of the business solutions we build for customers here at PowerApps911. If you need help implementing this or any other requirements in your app then scroll down to the Contact Us form below and reach out. We can do anything from a 30 minute screenshare to a 30 month project, just let us know what you need.
- How to get a free Power Apps Developer Plan
For anyone who doesn’t currently have access to premium features for the Microsoft Power Platform, here is a way that you can try out all the premium features. Sign up for a Power Apps Developer Plan with your organizational log in. Doing this will provide you with a fully functional Dataverse Development Environment with 2GB of capacity. It will even show up in your tenant, and you can share things with others. To access your environment, select the Environment from the header and switch to your Developer environment. This is a fantastic way to try out all the Copilot features!
- 9 Power Platform Tools: Use the right tool for the right problem!
In the ever-evolving landscape of business technology, the Power Platform stands out as a beacon of innovation and efficiency. However, the true potential of this platform lies not just in its individual components but in understanding and utilizing the right tool for each specific job. This comprehensive guide dives into the diverse world of the Power Platform, highlighting how each component can be leveraged to transform your business processes. If you want to see each product in action and examples, then check out my video Overview of the Power Platform . Overview of Power Apps: A Trio of Tools Power Apps is not just a single tool; it's a trio of distinct applications, each designed for specific scenarios. While they share a common name and are part of the same family, understanding their differences and strengths is key to maximizing their potential. Canvas Apps: The Customizable Solution Canvas Apps are the go-to choice for creating highly customizable applications. They excel in connecting with a wide range of data sources, making them ideal for tailored solutions that require a specific look and feel or need to interact with various systems. Model-Driven Apps: Streamlined and Structured Model-Driven Apps offer a more structured approach. They are built primarily on top of Dataverse and are perfect for scenarios where you need to work with complex data models and require a more guided, form-based user experience. Power Pages: Web Solutions Simplified Power Pages, the newest addition to the Power Apps family, allows you to build websites backed by Dataverse. It's an excellent choice for creating both internal and external-facing web solutions, offering a blend of simplicity and power. Overview of Power Automate: Automating for Efficiency Power Automate is the automation arm of the Power Platform, designed to streamline processes and enhance productivity. It comprises different tools, each catering to specific automation needs. Cloud Flows: Workflow Automation Made Easy Cloud Flows are the backbone of Power Automate, enabling you to create automated workflows triggered by various events. They are versatile, connecting seamlessly with numerous data sources to automate tasks across your business. Desktop Flows: The RPA Component Desktop Flows bring the power of Robotic Process Automation (RPA) to your desktop. They are ideal for automating repetitive tasks on local machines, especially in scenarios where no API integration is available. Process Mining: Uncovering Process Insights Process Mining is a powerful tool for analyzing and improving business processes. It helps identify bottlenecks and inefficiencies, providing valuable insights for process optimization. Microsoft Forms: Simplifying Data Collection Microsoft Forms is a straightforward yet powerful tool for collecting data from external sources. It integrates seamlessly with other Power Platform components, making it an excellent choice for gathering and utilizing external data. Power Platform University If your plan is how do I learn not just what all of these awesome tools are but also how to use them then consider Power Platform University . This 6-month program will help you become the rock star you are meant to be. With live classes, hands on projects, and even a personal mentor there is no better way to get up to speed. Power BI: Data Visualization and Insights Power BI takes data visualization to the next level. It allows you to create interactive reports and dashboards, providing deep insights into your business data. It's the tool of choice for making data-driven decisions. PBI can be ran both on the desktop and in the cloud depending on your use case. Power Pages: Building Professional Websites Power Pages enables you to create professional, data-driven websites with ease. It's an essential tool for businesses looking to establish a strong online presence or create web-based solutions. Copilot Studio: AI-Powered Chatbots Co-pilot Studio, formerly known as Power Virtual Agents, allows you to create AI-powered chatbots. These bots can enhance customer service, streamline internal queries, and integrate with other Power Platform tools for a seamless experience. You don't have to go it alone Navigating the Power Platform can be a complex journey, but you don't have to do it alone. If you need assistance in harnessing these powerful tools to their fullest potential, PowerApps911 is here to help. Whether it's building a custom app, automating a process, or gaining insights from your data, our team of experts is ready to assist you. Fill out the contact form below, and let's transform your business together.
- Boosting Your Power Apps Performance: Practical Tips and Tricks
Hey there, Power Apps enthusiasts! Shane Young here from PowerApps911. Today, we're diving into a topic that's crucial for any Power Apps developer - boosting app performance. Whether you're a seasoned pro or just starting, understanding how to optimize your Power Apps can make a world of difference in your projects. And guess what? I've got a video that walks you through it all, but let's break it down here for a quick read. Why Performance Matters in Power Apps Why obsess over performance in Power Apps? Well, it's simple - performance is the backbone of user experience. Imagine walking into a store where the shelves are cluttered, and it takes forever to find what you need. Frustrating, right? That's what happens when an app lags or doesn't respond swiftly. In our fast-paced world, users expect quick, responsive apps that make their tasks easier, not harder. By fine-tuning your Power Apps' performance, you're not just speeding up an app; you're crafting an enjoyable, efficient experience for your users. It's about making your app not just functional, but delightful to use. And let's be honest, in the competitive landscape of app development, a smooth, fast-performing app can make all the difference in winning and retaining your audience. Understanding Race Conditions in Power Apps First up, let's talk about race conditions. These sneaky little bugs occur when your app's processes don't complete in the order you expected. It's like expecting your morning coffee to be ready before you've even plugged in the coffee maker! To avoid this, ensure your Power Apps wait for one process to complete before starting another. This simple step can save you from a lot of unpredictable behaviors in your apps. Flows are a major culprit here or adding code after SubmitForm(FormName). If you want something to happen after the form submits put the code in the OnSuccess property of the form. The N+1 Problem: A Power Apps Speed Bump Ever heard of the N+1 problem? It's when your app makes too many unnecessary network calls, especially in galleries. It's like asking for a single piece of information and getting an entire encyclopedia in return - overkill, right? To tackle this, use collections or fetch detailed data only when necessary. It keeps your app zippy and efficient. Avoid LookUps to external data sources in the body of your galleries! Either don't do them or look to see could you put that external data source in a collection? Power Apps Performance Training If building awesome apps and understanding them is your thing then you would really enjoy our Power Apps and Power Automate 201 Training Class . In my fun filled class we dive into not only how to do things in Power Apps and Automate but the WHY things work the way they do. Giving you the skills and knowledge you need to build awesome solutions. SharePoint and Power Apps: A Delicate Dance Many of us use SharePoint as a data source, but it can get tricky as your list grows. To keep things smooth, think about archiving old data and simplifying your data model. And if you're dealing with a larger dataset, consider switching to Dataverse or SQL Server. It's like moving from a cozy apartment to a spacious house - more room, less clutter! SharePoint as a data source will slow down as you add items. When you start to get more than 10,000 items in a list you can feel it in a transactional app. Also, delegation is a real concern in those large lists. Things like the Search function not delegating with SharePoint is a real bummer. Archiving, switching data sources, or just not having Search is where you are left. OnStart Event: Don't Overload It Is your app taking ages to load? You might be overloading the OnStart event. It's like trying to do a week's worth of chores in one day - overwhelming, right? Use concurrent functions, static collections, or shift some logic to the OnVisible event of your first screen. It's all about balance! OnStart is a very popular place to put functionality and sometimes the only place to put it. Try to minimize your work here since it blocks your users and try to put in inline somewhere else. Also, the new Formulas property is interesting place to consider but remember then you cannot change the collection or variable. Offline Power Apps: Pack Only What You Need Building offline apps? Remember, only take what's necessary for the task at hand. It's like packing for a trip - you don't need to bring your entire wardrobe, just what you'll use. This approach prevents performance issues and data corruption. Bulk Operations: Handle with Care Bulk operations can be tricky. Using functions like ForAll with Patch might seem efficient, but they can slow down your app. Sometimes, Power Automate is a better choice for handling complex tasks. It's like delegating tasks in a team - everyone plays to their strengths. Just because you can do it in a Power Apps app doesn't mean you should. Also, tools like ForAll are very powerful but can be very slow. Think twice whenever you are doing bulk operations and consider using Monitor to see what is happening behind the scenes. Wrap-Up Improving your Power Apps performance isn't just about making things faster; it's about making your apps more reliable and user-friendly. If you want to dive deeper into these tips, check out my detailed video on 5 Power Apps Performance tips . It's packed with demos and explanations to help you get the most out of your Power Apps. And remember, if you're hitting a wall or just need a bit of guidance, don't hesitate to reach out. Drop me a message using the contact form at the bottom of this page. Let's make your Power Apps the best they can be!











