
Search Content
168 results found with an empty search
- 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.
- Understanding Governance in the Power Platform: A Roadmap for Success
In today’s ever-evolving digital landscape, the Power Platform stands tall as a game-changer, empowering organizations with its suite of tools: Power BI, Power Apps, Power Automate, and Power Virtual Agents. These tools enable unprecedented innovation and efficiency. Yet, amid the excitement of possibilities, a critical factor often overlooked is governance. The Crucial Role of Governance Governance in the Power Platform is akin to the foundation of a sturdy building: essential, albeit often unseen. It embodies several pivotal aspects: Security and Compliance Shield: In a world where data is king, governance ensures the fortress remains impenetrable. It establishes stringent measures to comply with regulations like GDPR or HIPAA, safeguarding sensitive information and maintaining data integrity. Consistency and Standardization Framework: Picture a well-organized library—everything labeled, categorized, and easy to find. Governance sets the rules for naming conventions, data sources, and development practices. It’s about speaking the same language across the platform, ensuring uniformity and facilitating collaboration. Efficiency Maximization Engine: Governance prevents chaos. It streamlines resources, eliminates duplication of efforts, and curbs unnecessary spending. Think of it as an efficiency GPS, guiding you towards the most cost-effective and impactful solutions. Embarking on the Governance Journey Starting the governance journey within the Power Platform demands a strategic approach: Defining Governance Objectives: This is the compass guiding your journey. Define the objectives, identify stakeholders, understand their needs, and align the governance strategy with organizational goals. It’s about setting the sails in the right direction. Establishing a Center of Excellence (CoE): Think of the CoE as the architects and overseers of the governance landscape. This dedicated team sets the guidelines, provides training, and offers support to users, ensuring adherence to the established framework. Creating Comprehensive Governance Policies: Draft policies covering security, data management, naming conventions, and lifecycle management. These policies should be comprehensive yet concise, understandable, and adaptable as the platform evolves. Educating and Empowering Users: Conduct comprehensive training sessions. Enlightened users make better decisions. Equipping them with knowledge about governance policies and best practices fosters responsible usage. Implementing Monitoring and Enforcement Measures: Utilize the tools available within the Power Platform to monitor usage, track compliance, and enforce governance policies. Regular audits and proactive measures ensure everyone’s playing by the rules. Perhaps the most important tool for monitoring and enforcing policies within the Power Platform is the CoE Toolkit. Installing and using the CoE Toolkit is one of the services we at PowerApps911 provide! https://www.powerapps911.com/coe Iterating for Continuous Enhancement: Governance is a journey, not a destination. Keep the feedback loop open. Regularly evaluate the effectiveness of governance measures, gather feedback, and make necessary adjustments to improve the strategy. The Final Chapter In essence, governance in the Power Platform is not about suffocating innovation; it’s about nurturing it within a structured framework. It’s the invisible force that enables organizations to harness the full potential of the Power Platform while mitigating risks and ensuring long-term success. Remember, effective governance is an ongoing process. Start small, iterate, and evolve your governance strategy to adapt to the dynamic needs of your organization and the ever-evolving Power Platform.
- 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!
- Enhancing Business Efficiency with Barcode Scanning in Power Apps
Are you tired of the tedious process of managing assets manually? Well, it's time to embrace the efficiency of Power Apps. In a recent video tutorial, Power Apps Asset Management with Barcode Scanning , I explored how to build an asset management app using Power Apps, leveraging the power of barcode scanning on a mobile device. This solution not only simplifies asset tracking but also enhances data accuracy and speeds up the process. Let's dive into how barcode scanning in Power Apps can let you create some cool stuff. In the realm of modern business operations, efficiency and precision are paramount. Barcode scanning, when integrated into custom applications, has emerged as a transformative technology. Power Apps, renowned for its low-code platform, offers an intuitive way to embed barcode scanning into your business workflows, significantly boosting productivity and accuracy. This technology leverages the built-in scanner on your device, bypassing the need for intricate coding or external plugins. It's versatile, extending from mobile devices to desktop PCs via USB scanners, fitting a variety of business contexts. In this article, we'll explore the benefits of incorporating barcode scanning in your Power Apps, examine various business scenarios where it can be pivotal, and discuss how Power Apps uses low-code development to create applications that align perfectly with your unique business processes. The Advantages of Barcode Scanning in Power Apps Efficiency and Speed : Barcode scanning streamlines data entry, significantly reducing the time taken to log information manually. Accuracy and Reliability : It minimizes human error, ensuring data integrity. Ease of Use : With no need for custom coding or third-party plugins, it's user-friendly and easy to implement. Versatility : Works on both mobile devices and desktop PCs, accommodating various operational environments. Cost-Effective : Reduces the need for additional hardware or software investments. Business Scenarios for Barcode Scanning Inventory Management : Track and manage stock levels efficiently. Asset Tracking : Keep tabs on company assets, from office equipment to field machinery. Event Management : Streamline attendee check-ins at events or conferences. Retail Operations : Simplify checkout processes and inventory tracking. Manufacturing : Monitor the progress of items through the production line. Using Barcode Scanning on Different Devices The beauty of barcode scanning in Power Apps lies in its adaptability across different devices, catering to the diverse needs of modern businesses. Whether you're in the warehouse, on the shop floor, or at a bustling event, the flexibility to switch between mobile and desktop devices ensures seamless operation. M obile Devices : Utilize the built-in camera for scanning on the go. This feature transforms any smartphone or tablet into a powerful scanning tool, perfect for dynamic environments where mobility is key. It's ideal for field workers, delivery personnel, or anyone needing to scan items away from a fixed location. D esktop PCs : Connect a USB scanner for a stationary setup, ideal for check-out counters or fixed asset stations. This setup is perfect for retail environments, libraries, and other settings where items are typically scanned at a specific location. The integration with desktop PCs allows for a more traditional, stable scanning setup, complementing the mobile scanning capabilities. Leveraging Low-Code for Custom Solutions Power Apps empowers you to build applications that mirror your specific business processes, not the other way around. This low-code approach means you can tailor every aspect of the app, from the user interface to the workflow logic, ensuring it aligns perfectly with your operational needs. Wrapping it all up Incorporating barcode scanning into your Power Apps can revolutionize how you manage data and operations. With its ease of use, versatility, and alignment with business processes, it's an invaluable tool in any modern business toolkit. If you're ready to take the leap into efficient, barcode-enabled app solutions, PowerApps911 is here to assist. Our expertise in Power Apps ensures you get the most out of this powerful technology, tailored precisely to your business needs.Just scroll down the page and fill out the Contact form and someone will be happy to help you out.
- Step Up Your Game with Advanced Power Apps Forms Customizations
Creating intuitive and efficient business applications is a breeze with Power Apps. But to truly harness the power of Power Apps Forms, advanced customizations are key. Let's walk through the steps to enhance your forms, ensuring they're not just functional, but also intuitive and powerful. Below you will get an overview of some of this advanced Power Apps forms customizations you can make. For more tips and step-by-step guidance check out our Power Apps YouTube video Advanced Power Apps forms . Converting Text Inputs to Dropdowns 1. Identify the text input fields in your form that would benefit from a predefined set of options. 2. Navigate to the field properties and change the control type from 'Text' to 'Dropdown'. 3. Bind the dropdown to a data source, such as a SharePoint list, ensuring that users have a consistent set of options to choose from. Dynamically Setting Default Values 1. Determine which fields should have default values and what those values should be. 2. Use the formula bar to set the default value based on the form's mode. For example, use If(FormMode.New, Today(), Parent.Default) to set the date field to today's date when creating a new record. 3. Test the form to ensure that the default values appear as expected in both new and edit modes. Enforcing Required Fields 1. Review your form and decide which fields must be completed before submission. 2. For each required field, set the 'Required' property to true. This may involve unlocking the data card if it's tied to a SharePoint list that doesn't require the field. 3. Add validation messages or visual cues to inform users that the field is mandatory. Handling Rich Text and Date Fields 1. For rich text fields, ensure that the control is set to display the text properly. Change the control type to 'Rich Text' if necessary. 2. To customize date fields, remove any time components by adjusting the date picker properties and ensuring only the date part is captured. Delving into Deeper Customizations 1. Explore conditional default values, such as setting a 'Hire Date' to today's date only when a new employee record is created. 2. Implement advanced data validation by writing custom formulas to check for unique values or to auto-populate fields based on other data entries. Conclusion By following these steps, you'll not only make your Power Apps Forms more robust but also create a more guided and user-friendly experience. Remember, the devil is in the details, and the right customizations can make all the difference. Don't forget, if you need a helping hand, PowerApps911 is here to assist. Whether it's through step-by-step guidance or comprehensive training, we're dedicated to helping you succeed with Power Apps. Just scroll down the page to fill out the Contact form and let us know how we can help you!
- Microsoft Shakes Things Up: Goodbye V1 Trigger, Hello V2!
Howdy! So, Microsoft decided to shake things up a bit. If you've been using Power Apps and Power Automate for a while, you've probably gotten cozy with the V1 trigger. Well, guess what? Microsoft has decided to retire it. Yep, you heard that right, the trigger we have used for YEARS is gone. 😢 Leaving us only with this v2 trigger that works differently. But don't worry, we've got you covered on how to make this transition as smooth as possible. What's Different with the V2 Trigger? So, what's the big deal? How is the V2 trigger different from our good ol' V1? At a high level, the V2 trigger requires you to define the types of inputs you'll be using. Unlike V1, where you could just "ask in Power Apps" for what you needed, V2 wants you to specify whether you're dealing with text, numbers, Booleans, and so on. It's a bit more structured, but once you get the hang of it, it's business as usual. Understanding Different Types of Inputs Let's dive a bit deeper into these input types. When setting up your V2 trigger, you'll have the option to add various types of inputs: Text : Good old strings. Use this for any textual data. Boolean (Yes/No) : For your true or false needs. Email : Technically, it's just text formatted as an email. Number : For all your numerical data. Date : When you need to specify a date. File : For uploading a file record. Adapting Your V1 Flows to V2 If you've got a bunch of flows using the V1 trigger, you might be wondering if you need to redo them all. The short answer is no. The V1 trigger is deprecated but still functional. However, for new flows or if you're in the mood for some housekeeping, adapting to V2 is pretty straightforward. Add Inputs : Instead of "asking in Power Apps," you'll add an input in the V2 trigger and specify its type. Rename Inputs : Always rename these to something less generic so you know what they are. Use Dynamic Content : Once you've set up your inputs, you can use them as dynamic content in your flow just like you did with V1. Power Apps Doesn't care : On the Power Apps side of the relationship, it doesn't know or care if you are using a V1 or V2 trigger so no changes there. Uploading Files: The Old Way and the New Way One of the trickiest parts of this transition might be dealing with file uploads. In the V1 world, you had to go through a series of steps involving JSON encoding and base64 conversions. With V2, you can still do it the old way, or you can take advantage of the new file input type, which simplifies the process considerably. Ready to Make the Switch? So there you have it, folks. The V2 trigger is here to stay, and it's not as scary as it might seem at first. If you're still feeling a bit overwhelmed, don't sweat it. Check out the Power Automate video Use the Power Automate v2 Trigger for Power Apps for a step-by-step walkthrough. And remember, if you need more personalized guidance, PowerApps911 is always here to help you out, whether it's mentoring or building your flows from scratch. Just scroll down the page and fill out the contact us form. So what are you waiting for? Dive in and give the V2 trigger a whirl!
- Mastering Deep Linking in Power Apps: A Step-by-Step Guide
Hey there, Power Apps enthusiasts! Ever found yourself wishing you could send someone a direct link to a specific record in your Power Apps application? Well, today is your lucky day. In this blog post, you're going to learn the ins and outs of setting up deep linking in Power Apps, specifically with Dataverse. By the end of this read, you'll be a deep linking wizard. 🧙♂️ What is Deep Linking in Power Apps? Deep linking in Power Apps is a technique that allows you to create URLs that point directly to a specific, generally "deep" location within your app. Instead of sending someone to the home screen, you can send them straight to the information they need. It's like having a VIP pass to the best parts of your app! While we will demo sending deep links via an Outlook email reminder once you understand how to create the URL, you can distribute them any way you want. Via Teams, Power BI, Power Automate, even embedded in a SharePoint List Why Dataverse? Dataverse is a powerful data service provided by Microsoft that integrates seamlessly with Power Apps. It offers robust capabilities, including the ability to create primary keys for your records, which is crucial for deep linking. Does it work with SharePoint or SQL? Yes, this works for any of your tabular data sources including SharePoint Online and Azure SQL Server for example. The key is your data source needs a primary key that you can reference and then you need to Lookup that record. I only used Dataverse because it is the easiest data source for me to make the app and tables downloadable via out Training subscriptions. Let's Get Started Step 1: Identify the Primary Key in Dataverse The first thing you need to do is identify the primary key in your Dataverse table. This unique identifier is what you'll use to create your deep link. To find it, go to your Dataverse table and look for the column labeled as the "unique identifier." Step 2: Craft Your URL Once you have your primary key, you can start crafting your URL. The URL will look something like this: https://apps.powerapps.com/play/YOUR_APP_ID?tenantId=YOUR_TENANT_ID&empID=PRIMARY_KEY Replace `YOUR_APP_ID`, `YOUR_TENANT_ID`, and `PRIMARY_KEY` with your specific details. Remember to get everything before &empID=PRIMARY_KEY you can go to Power Apps, click Apps, find your app and then click Details. You want the Web link. Step 3: Use the OnStart Property In your Power Apps app, go to the `App` object and find the `OnStart` property. Here, you'll set a variable to capture the primary key from the URL using the `Param` function. PowerApps Set(varEmpID, Param("empID")) Step 4: Navigate to the Record Now, you'll use the `Navigate` function to go to the specific screen where the record is displayed. You'll use the `Lookup` function to find the record that matches the primary key. PowerApps Navigate(EditScreen, Lookup(YourTable, PrimaryKeyColumn = varEmpID)) Replace `EditScreen`, `YourTable`, and `PrimaryKeyColumn` with your specific details. Step 5: Test It Out The last step is to test your deep link. Send the URL via email, click on it, and you should be taken directly to the specific record in your Power Apps app. Watch the Video Tutorial For a more detailed walkthrough, including some pro tips and tricks, check out this video tutorial: Master Power Apps Deep Linking with Dataverse Need Help? Setting up deep linking can be a bit tricky, but the benefits are huge. If you find yourself stuck or just want to take your Power Apps skills to the next level, PowerApps911 is here to help. Just scroll down the page and tell us how we can help you via the Contact form. 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!
- Take a Deeper Look at Copilot for Power Automate
The Copilots are coming, and they're coming in hot! Microsoft has already rolled out 155 Copilots and counting. While becoming an expert in all of them might be a stretch, it's high time you picked a few to master. And what better place to start than with Copilot for Power Automate? The Art of Speaking Copilot's "Love Language" Remember those awkward first conversations you had when making new friends? Well, talking to Copilot is a bit like that. You're going to stumble, you're going to fumble, but hey, that's how you learn! Just like you wouldn't become a concert pianist overnight, you've got to put in your 10,000 hours to become a Copilot whisperer. The sooner you start practicing, the quicker you'll get to expert status. Just like you wouldn't ask your dog to make you a cup of coffee, you've got to know what Copilot is capable of. For instance, if you're working in Power Automate and you need to send an email, you could simply ask Copilot, "Hey, send an email using the Outlook connector." But if you get more specific, like "Send an email using the Outlook connector to this email address with this subject line and body," you're going to get much better results. The more specific you are, the more Copilot can do for you. It's like learning the specific coffee order of a new friend; the more details you know, the better the coffee run will be! Know What to Ask and How to Ask It Understanding Copilot's capabilities is crucial. Asking Copilot for Power Automate to help you groom your dog? That's a no-go. But asking it to write a flow expression for working with dates? Now you're talking! The key is to be as specific as possible. The more details you provide, the better Copilot can assist you. Below are some of the specific examples of what you can ask Creating a Cloud Flow Creating a cloud flow with Copilot is like having an extra team member. You start with a trigger, and from there, Copilot can help you add actions, conditions, and even loops. It's all about asking the right questions and letting Copilot guide you. Updating Your Flow to Incorporate Dynamic Content Dynamic content can make your flows more versatile and powerful. Copilot can assist you in incorporating dynamic content into your action's properties, making your flows more adaptable to various scenarios. Writing a Flow Expression Using Functions and Logic Flow expressions can be tricky, but not with Copilot by your side. Whether you're working with dates, strings, or numbers, Copilot can help you write the perfect expression. Just be specific in your request, and you'll get the results you're looking for. Adding Actions to Build on Your Flow The beauty of Copilot is that it can help you build your flow step-by-step. Do you need to send an email after a condition is met? Just ask Copilot to add that action for you. It's all about having a conversation and building your flow together. Describe Your Flow One of the coolest features of Copilot is its ability to describe your existing flows. If you're trying to understand a complex flow built by a coworker, Copilot can analyze it and give you a rundown of what it does. It's like having your own personal flow interpreter. For a more in-depth look at any of these examples don't miss our newest video Copilot for Power Automate where you can get a step-by-step walk through of all of them. Time to Practice! Now that you've got the lowdown, it's time to practice. Start building flows using Copilot's "love language," and you'll be a pro in no time. Need a Boost? If you're looking to fast-track your Copilot journey, we've got you covered. At PowerApps911, we offer mentoring and consulting services tailored to your needs. We even have a Copilot for Office 365 training class in the works. Interested? Scroll down and fill out the contact form, selecting "Copilot" as your area of interest.
- The Ultimate Guide to Patching Dataverse Columns in Power Apps
Hey there, Power App enthusiasts! If you've ever found yourself puzzled over patching Dataverse columns, we've got your back. We've created a comprehensive video guide Patch Dataverse Columns with Power Apps that dives deep into patching various Dataverse column types. But if you're more of a reader, this blog post is your go-to resource! Dataverse Text Columns: More Than Just Words Dataverse Text and Dataverse Multi-Line columns are the backbone of most databases. While they offer various display options, at their core, they're all about storing text. Single Lines of Text have a character limit of 4000, while Multiple Lines can store just over a million characters. In Power Apps, patching these types of columns is a breeze. Here's a quick example: Patch('YourTable', Defaults('YourTable'), {Title: "Hello, World!"}) Dataverse Number and Currency Columns: The Numbers Game When it comes to Dataverse Number and Currency columns, precision is key. Number columns can store integers or decimals, while Currency columns are formatted to handle monetary values. Patching these columns in Power Apps is straightforward: Patch('YourTable', Defaults('YourTable'), {Price: 19.99}) Dataverse Date and Time Columns: Tick Tock Dataverse Date and Time columns are perfect for scheduling, logging, and more. Power Apps offers built-in functions like `Today()` and `Now()` to make patching these columns a walk in the park. Patch('YourTable', Defaults('YourTable'), {MeetingDate: Today()}) Dataverse Choice and Yes/No Columns: The Decision Makers Choice columns in Dataverse are ideal for fields with a predefined set of options, like 'Status' or 'Priority'. Yes/No columns simplify it even further, boiling it down to a binary choice. Here's how to patch them: Patch('YourTable', Defaults('YourTable'), {Status: {Value: "Completed"}}) Dataverse Lookup Columns: The Relationship Builders Dataverse Lookup columns are all about creating relationships between tables. They're essential for maintaining data integrity and making your apps more dynamic. To patch these columns, you'll need to provide a record, like so: Patch('YourTable', Defaults('YourTable'), {Customer: LookUp('CustomersTable', ID = 1)}) Dataverse File and Image Columns: Worth a Thousand Words Dataverse File and Image columns allow you to store a variety of media. While File columns can handle documents like PDFs and Excel sheets, Image columns are optimized for image files. Here's how to patch them: Patch('YourTable', Defaults('YourTable'), {Document: AddMediaButton1.Media}) Wrapping Up Patching Power Apps Dataverse Columns That was a lot to take in, but with a bit of practice, you'll be patching Dataverse columns like a pro. If you're more of a visual learner, make sure to check out our video guide . Still feeling stuck? No worries! At PowerApps911, we offer specialized training and consulting to help you master Power Apps. Reach out to us for personalized guidance and expert solutions. Just scroll down the page and fill out the contact form. 🙂 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!
- How To Filter a Gallery by Drop-down by Using PowerApps
At PowerApps911 we have frequently been asked the question, how do I filter a gallery? In this post, we're going to make it easy for you. We will take a look at how to filter a gallery by drop-down and how to add an ‘All’ filter or blank row, using Power Apps. We include a step-by-step guide to help you create not only one but two drop-down filters, as well as a ‘Search’ function. By using the example of a company's list of employees in each department, you will be able to create: Distinct Filter The ‘Distinct’ filter lists employees by different Departments within the company. For example, all the staff in Accounting are listed together under the ‘Accounting’ drop-down. Distinct Filter Plus All This filter lists all employees no matter what Department or job they may have, with a drop-down menu with the option to click on the different Departments. The list defaults to ‘All’. Here you will learn how to use collection and dynamically add the ‘All’ record. Two Drop-downs This filter allows a second drop-down of information about the employees. The example we have used is ‘Favorite Color’. For example, if you only want to see ‘Finance’ employees whose ‘Favorite Color’ is red. Side note: We do this with ‘If’ formulas and other techniques. Two Drop-downs Plus Search This will allow ‘Search’ functionality by first and last name. Your Step-by-step Guide to Filtering a Gallery by Drop-down This tutorial aims to help you get the hang of PowerApps' capabilities with regards to creating filtering by drop-downs. By using our demo app, we can explain how to do the drop-down filters. The demo app includes the four filter buttons: Distinct Filter, Distinct Filter Plus All, Two Drop-downs, and Two Drop-downs Plus Search. Let's Get Started Firstly, start a new screen by clicking ‘New Screen’ at the top left and click ‘Insert’ then ‘Gallery’ and choose your employees as ‘DataSource’. Type in the three fields we will be using in the example: fx:ThisItem.’First Name’ fx:ThisItem.’Deparment’ fx:ThisItem.’Favorite Color’.Value Our data source is SharePoint and, here, ‘Favorite Color’ is a complex column and needs .Value typed in. But just know that your data source isn't dependent on SharePoint. Distinct Filter To add your filter, click ‘Input’ then ‘Drop-down’. In Properties use ‘Department’ to show all the Department data. When adding the item's property for your gallery you're going to do a filter. So, for example, if you want to run a filter of employees by Department. Type in: fx:Filter(Employees, Department = Dropdown1.Selected.Result) The downside here is that you may have a department listed twice. If you have a department listed twice, you will use a function called ‘Distinct’. Type in: fx:Distinct(Employees, Department) It will take all employees from the table and then everything should recompile. The ‘Distinct’ function doesn't return the whole record; it just returns a special column named ‘Results’, which, in this example, has the value of ‘Department’. Take note: The ‘Distinct’ function is not delegable. (Not familiar with this concept? We have a video on PowerApps Delegation, click here to find out more.) This means the data source can't do the work for us - finding all the ‘Distinct’ values - so by default PowerApps works with the first 500 records from the data source and then looks for the ‘Distinct’ values in there. So the ‘Distinct’ function wouldn't work very well on a large list. But you do have a lot of flexibility to hard code if necessary. Your drop-down doesn't have to use ‘Distinct’. Another note: If you had a separate data source with a list of valid Departments you could feed that information in because our filter function matches text. So it doesn't have to be a table. Distinct Filter Plus All When you want to add an ‘All’ function to see all the records, an easy way to do this is to build a collection. The way to do this is by clicking ‘Screens’ and then ‘OnVisible’. By typing ‘ClearCollect you build a fresh collection. Call the collection ‘CollectVideo’; it's where you will store the ‘Distinct’ employees's Departments. Type in: Fx:ClearCollect(collectVideo, Distinct(Employees, Department)) This is the first step in the puzzle; the ability to give us all the records in a collection. In order to wipe out the collection and then load the first record as ‘All’. Type in this fx formula above the previous one: Fx:ClearCollect(collectVideo, (Result: “All”}); Now you will see that ‘All’ as well as all the ‘Departments’ are listed - like you have had every other time. Although the drop-down ‘All’ is showing nothing at the moment. To make the ‘All’ function work, you must do an ‘If’ formula. Type in: Fx:If(Dropdown1.Selected.Result = “All”, Employees, Filter(Employees, Department = Dropdown1.Selected.Result)) 6. So if All isn't chosen, it was another ‘Department’ that was chosen. You would then filter the ‘Results’ by what was chosen. The ‘If’ formula allows us to go that extra step. Side note: Instead of using the word ‘All’ you can use dashes or leave it blank. And, you can set the default in Screens for your drop-down to ‘All’. Two Drop-Downs What you need to do to filter off of two is to add a second drop-down first - by clicking Input, Drop-down. Type in: Fx:Distinct(Employees, ‘Favorite Color’.Value) You will then add a filter on the ‘Favorite Color’ value. You'll see all the colors listed in the drop-down. Do this in the drop-down first to make sure that's the right way, and you can see what you want - because, remember, this is a complex SharePoint column that uses .Value. Next, go back to ‘OnVisible’ to make a new ‘Collection’ and paste in the formula that returns the correct data. Type in: Fx:Collect(collectVideo, Distinct(Employees, Department)); Fx:ClearCollect(collecVideoColors, {Result: “All}); Fx:Collect(collectVideoColors, Distinct(Employees, ‘Favorite Color’.Value)) Leave and return to the Screen and change ‘Distinct’ to ‘CollectVideoColors’. Now things get fancy. Instead of having a simple ‘If’ scenario you will need four different scenarios for the two drop-downs. The ‘If’ formulas aren't as simple here. First scenario: Fx:If(ddDepartment.Selected.Result = “All” And ddColor.Selected.Result = “All”, Employees, So, if both of these are true, then you want to show the entire employees list. And you can see if it works. Second scenario: ddDepartments.Selected.Result = “All” And ddColor.Selected.Result <> “All”, Filter (Employees, ‘Favorite Color’.Value = ddColor.Selected.Result.), We use the symbol <> here for ‘does not equal’. Now you will see that 'All and All' work, and 'All and a color' work. Third scenario: ddDepartment.Selected.Result <> “All” And ddColor.Selected.Result = “All”, Filter(Employees, Department = ddDepartment.Selected.Result), Now this is the reverse of the second scenario. So you copy the formula and change it by adding 'not equal to All' and 'is equal to All' and filter employees by department. Fourth scenario: ddDepartment.Selected.Result <> “All” And ddColor.Selected.Result <> “All”, Filter(Employees, Department = ddDeparment.Selected.Result And ‘Favorite Color’.Value = ddColor.Selected.Result) For the final one, you paste in the formula and change 'not equal to All' and 'is not equal to All'. Filter employees by Favorite Color. Tip: Add comments above the code to show what is for 'All and All', 'All Departments and Selected Color', 'Selected Department and All Colors', 'Selected Departments and the selected color'. This will make things easier for you. Another Tip: Build your system in the same exact order, in baby steps. Get one step to work and then move to the next and the next, and so on. This way, you won't have to go back very far if you need to fix something. Two Drop-Downs Plus Search If you want the ability to search, you need to ‘Insert’ a ‘Text Input’. In Properties, change the ‘Default Value’ to be nothing and the ‘HintText’ to be ‘Search First and Last Name’. You can add a little search icon or grey text, whatever you want. ‘Search’ requires a table of data, and the function you have just built returns a table of data. So at the top of your table of data type in: fx:Search( And then add the text you want to ‘Search’ at the end of your table - remember to end your table of data with a closed bracket and comma. Then type in: fx:TextInput2.Text, “FirstName”, “LastName”) 4. ‘Search’ only works with text columns. And you can still use your refiners within the ‘Search’ list. Tip: For large data sources, find a way to refine your data before you run into problems. For example, instead of searching for all purchase orders in a big company, rather get into a filtered subset before applying refiners. Why Use PowerApps? If you're looking for an app that lets you build seamless and professional applications for your business, PowerApps is your best bet. PowerApps can help you easily streamlines processes and can solve challenges your organization may be facing. Plus, PowerApps lets you customize and optimize every detail of your app for specific tasks and roles. Whatever your requirements, PowerApps let you build all the business applications you need. Whether you need assistance with an issue or complete project services, PowerApps is here to help. To watch the full video tutorial on how to How To Filter a Gallery by Drop-down by Using PowerApps , click here.
- How To Use Power Apps to Upload a File
In this tutorial, we learn how to use PowerApps to upload a file directly to a SharePoint document library. No complicated code, but instead a simple and straightforward way to save all files into SharePoint. So how did we get here? After trying to figure it out for about a year and a half, we have come up with a pretty straightforward solution. Sure, other people have figured out ways to do this, but we’ve never quite taken to any of these methods––which have been very complicated using complex Power Automate actions and parsing through code. So, today we’re going to show you what we have finally solved, thanks to someone else on Twitter named Romero. (Click here for the link to Romero’s solution). Romero’s method was great and involved uploading lots of files. In particular, he shared one little step that we had never thought of. That one step was the catalyst for this super simplified solution. Thank you to Romero for sharing! This is what our community is all about. People post content, and then others can build on it. Hopefully, you can do the same with this tutorial and do even better things after reading or watching it. Steps to Upload a File To illustrate how we engineered this solution, we’ll show you how to build it from scratch. This way, you can see the mechanics behind it, what the UI looks like, and how to handle the file links. First up, start with a brand new canvas app and grab the Attachment Control from a form. If you need to find out how to do this, we created a video tutorial on that too. To watch that tutorial, click here . The main reason why we do this is that when you hit ‘Play’ and then click on ‘Attach a File’ you are able to select from ‘All Files.’ Instead of using the default control we have used for years, where you would click on ‘Insert’, ‘Media’, and the ‘Add Picture’ for example. However, the downside of that control is that it defaults to all image files, and then you need to change it. Now, instead, we are going to select the ‘Media’ Control and then select, ‘Image.’ (This ‘Image Control’ was in fact, the missing step that we needed to complete the solution!) Next, we’ll select ‘Attach File’ and select a small image file to start off. Select ‘Open,’ and you’ll see it’s been added. Now we can select the image control and for the Image property in the formula bar we will put the following code: Last(AttachmentControl.Attachments).Value . Here, our attachment control is named AttachmentControl. Make sure you are referencing the correct control. The attachment control stores files in a local blob storage, but by passing it through the image control, we can extract the file content, allowing us to save the files directly to SharePoint. You can see this demonstrated by inserting a button and setting the OnSelect property to Set(varDemoFromAttachmentControl, JSON(Image1.Image, IncludeBinaryData)) and then insert a label and set the text property to varDemoFromAttachmentControl . Now we can attach another file, such as an Excel file. Once you hit ‘Open’, you’ll see that it recognizes everything within the file content including the type of file and the base64 code. We only need the encoded portion. (Basically everything after the base64 and following comma). So, let's fix it up a bit. For now we will change the formula in separate steps. In the button setting your variables, add: Set(varBase64Only, Mid (varDemoFromAttachmentControl Find (“,”, varDemoFromAttachmentControl)+1 )). Remember to separate commands with a semicolon. Press the button while holding the Alt key and create another label and in the formula tab write varBase64Only for the Text property. Turn on scrolling for the label. We have now stripped out everything before the actual file. We still haven’t completely isolated the file content. JSON adds quotation marks at the end. To fix this, go back to your button’s OnSelect property and change the formula to set varBase64Only to the following: Set (varBase64Only, Mid (varDemoFromAttachmentControl, Find (“,”, VarDemoFromAttachmentControl)+1, Len (varDemoFromAttachmentControl)-Find (“,”, varDemoFromAttachmentControl)-2)). Then if you look at each label you’ll see they end with AAAAA at the end. If we add a PDF, you’ll see that the label text starts and ends with the same text. It’s important to write this formula in a way that it can handle different file types. Getting the Data into SharePoint Now that we know how to get the file content out, we need to get it into SharePoint. To do this, we are going to write the world’s simplest flow: Step 1: Visit Power Automate , click on ‘Create,’ ‘then select ‘Instant cloud flow’ and name it. We’re calling ours ‘Easy Upload.’ Select PowerApps and click ‘Create.’ Step 2 : Now, we will add a new step and search for SharePoint, and in the Sharepoint Connector, you’ll see ‘Create File.’ Now you’ll need to enter the Site Address. We want to create it in my PowerApps Video Sites, but choose whichever site you would like for your solution. For Folder Path select Shared Documents, Files from PowerApps (we created this), File Name: open the dynamic content and select Ask Powerapps for the name, and for File Content Ask Powerapps too. If you don’t see the Ask in PowerApps, search for it in the dynamic content. Take note: SharePoint does not store base64 files but rather in binary for some reason. So let’s delete the File Content for now. For the File Content, open up the dynamic content dialogue box and type base64ToBinary() , then place your cursor between the parentheses, switch to the Dynamic Content tab, and select the Createfile_FileContent.This is going to take that long string and encode it once again. All you have to do is give it the string that you want to give it and the file contents that we’re sending over. That’s it. Step 3 : Hit “Next Step” underneath ‘Choose an Action’ search for PowerApps and select: Respond to a PowerApps or Flow, Add an Output, Add a Text Output, and call it SharePoint File Link. Where it says: Enter a Value to Respond paste your Sharepoint URL and get rid of that last ‘\,’. You’ll see under the ‘Dynamic Content’ tab, you can select ‘Path.’ This will automatically grab the path of the file we created. Hit ‘Save’. Now we go back over to PowerApps and Insert another Button. Once we select this Button we are going to select ‘Action’ and then ‘Flows.’ You’ll find the Easy Upload to select, which will put the code EasyUpload.Run() in the OnSelect property of your button. A small note, if you have any code in the OnSelect property in your button, adding a flow will erase it, so copy that code elsewhere first. Replace the formula with: EasyUpload.Run(Last(AttachmentControl.Attachments).Name, varBase64Only). Now add: Set(varFileLink, at the beginning and . sharepointfilelink) at the end. Click on the Button (by holding Alt or putting your app in Preview Mode), and if we refresh files uploaded from Powerapps, you’ll see your uploaded PDF. To test your URL, insert another Button and in the formula bar for the OnSelect property type: Launch(varFileLink) , hit Preview or hold down Alt and click on your new Button; it launches it straight into the file. Simplifying the Attachment Control Now we can simplify our actual Attachment Control to make it look cleaner. Once you’ve selected it, in the properties drop-down, you’ll see something called ‘OnAddFile.’ Now, we will grab both Button’s OnSelect code and copy it because it does everything we want. Ensure that you separate the code with a semicolon and add the initial button’s code first with the flow running second. Then we will paste this into our ‘OnAddFile’. We will go to the end of the formula and reset the attachment control by adding: Reset (AttachmentControl). The final result will look like this: Set(varDemoFromAttachmentControl, JSON(Image1.Image, JSONFormat.IncludeBinaryData)); Set(varBase64Only, Mid(varDemoFromAttachmentControl, Find(",", varDemoFromAttachmentControl)+1, Len(varDemoFromAttachmentControl) - Find(",", varDemoFromAttachmentControl)-1)); Set(varFileLink, EasyUpload.Run(Last(AttachmentControl.Attachments).Name, varBase64Only).sharepointfilelink); Reset(AttachmentControl) Now we can delete both buttons and the label so that we are only left with our attachment control. If we attach a file and upload a Word Doc, it will reset and you will see the file within a few seconds. Now we can clean our attachment control up even more. So, you can make your fill transparent, change the color to transparent, and set the border color to transparent. Then, set a hover border color to black so that when you hover over it with the mouse, you can see it. Then we inserted the ‘+’ icon over the top of it and resized it. Then we right-click on the ‘+’ icon and ‘send it to the back.’ This means that it is behind the Attachment Control. But as the Attachment Control is transparent so we can’t see it. Take Note: Remember the image control needs to stay there, so don’t delete it. You can set the visible property to “False,” make it really small, and send it to the corner. So, there you go! Take this tutorial as guidance and come up with different ways and have fun with it. We encourage you to do more with it and expand on the concept. To watch the full video tutorial on how to use PowerApps to upload a file, click here. Build Your Own App with PowerApps Power Apps provides a rapid application development environment to build a wide range of custom apps. Whether you need assistance with an issue or complete project services, contact PowerApps today.
- Power Apps Forms – Form Mode
Microsoft Power Apps forms are a way to edit and enter new data easily, but sometimes the nuances of form mode can be difficult to navigate. This tutorial provides an in-depth breakdown of data manipulation in Microsoft Power Apps using forms. By taking a closer look at the subtle nuances of this key utility, users will learn to expand the functionality of their applications and improve user experience. Power App’s forms provide valuable solutions for business owners, operations managers, team leads, and others. Follow along with the video to see examples in action. How to Set Power Apps Form Mode The primary purpose of a form is to give and receive data to a source. The real benefit of forms is the ability to choose the exact fields you wish to view or edit and have all of the appropriate labels and input controls generated for you with little effort. The form mode tells the form how to communicate with the datasource. Do you wish to view a record, edit an existing record, or create a whole new one? Change the Form’s Default Values The form’s default values provide granular control over the form by setting the form mode without specifying it elsewhere. In other words, the form will default to this mode unless otherwise commanded. To change the default form mode, follow these steps: With the form selected, select “DefaultMode” in the properties dropdown on the top left. To select the whole form, you may need to use the tree view on the far left panel. The command bar should read FormMode.Edit . Adjust the “FormMode” function to change the value. Delete the “Edit” line from the command bar and Power Apps will display a selection to choose from. These include “Edit”, “New”, and “View”. Set the default form mode according to your desired default. Now the form cannot be altered unless the form mode is changed. Add a Button to Edit Forms Setting the default form mode is a good start, but users still need a way to easily change the form mode from the default setting. To do this, insert a button and name it “Edit”. Now try clicking it. The button won’t do anything yet. In the command bar for the OnSelect property, type EditForm(Form1) with “Form1” as the name of the form. Select the button to expose the form properties for editing. This is a simple way to switch modes in Power Apps forms on the fly. Add a Button to Cancel Editing Create another button and change the text to Cancel . Type ViewForm(Form1) into the command bar for the OnSelect property. With the form mode in edit, select the new button. Remember that you can hold down the Alt key or put the app in play mode to mimic a user role. The mode will now switch back to view mode. Users can now easily toggle through the two modes. Hide or Show Cancel Button With the cancel button still selected, find the Visible property in the dropdown and type Form1.Mode = FormMode.Edit into the command bar. This will force the cancel button to show only when the form is in edit mode. You may be tempted to write an If statement here, but remember that this is unnecessary for expressions in which the desired outcome is true or false. Add a Button to Create New Item Create another button and name it “New.” With the button selected, type NewForm(Form1) into the command bar for the OnSelect property. Click the button to create a new form. This works fine, but the cancel button still isn’t displayed. This is because our Visible logic for the cancel button is looking to see if form mode is edit, and right now the form mode is new. Go back to the Visible property for the Cancel button. You have two options to set the logic here. The first is to show the button if the form mode is not view. For this, type into the formula bar !(Form1.Mode = FormMode.View) . Note that the exclamation point means Not and results in the opposite of the condition specified. The second option is to point to the display mode for the form. Although their are 3 form modes, there are only 2 display modes, view and edit. This can be confusing, but consider how in both edit and new form the inputs are allowed to be set or changed; in view they are not. The logic for this formula would be Form1.DisplayMode = DisplayMode.Edit . Add a Button to Save Forms Create one more button. Name it “Submit or Save” and type SubmitForm(Form1) into the command bar for the OnSelect property. This will allow users to create, edit, and save new forms in individual clicks. Learn More about Power Apps Form Mode with PowerApps911 Conditional formatting with Power Apps forms can be difficult to understand, but when used correctly, these building blocks can provide numerous solutions for data manipulation and storage. Check out our expert courses and lessons for more step-by-step guides!
.png)
.png)
.png)
.png)











