Menu Close

10 tips I wish to know before I’ve started with PowerApps

When you’re doing something for the first time there is always the same feeling of chaos. So many new things, an uncountable number of topics to learn, mechanisms, and concepts that are similar to nothing.
How to know it all?
Where to start?
Of course, on the one hand, when it comes to IT, every software has its documentation (and in the case of PowerApps it’s truly well written). However on the other hand…show me at least ONE person who has read the whole documentation before started with something (programming, using tools, develop the new app in PowerApps) 😉. Of course, there is none – otherwise, people like me, consultants & trainers, won’t have much to do. That’s why I’ve created below a list of 10 tips I wish to know before I’ve started with PowerApps.

Image result for heroes of might and magic 3 war fog
When you do something for the first time you feel like a hero in my favorite game from childhood – HoM&M3. You see gems & crystals, mines, and powerful artifacts (at least that was the promise) but you don’t know how to get them. The fog of war covers the paths. You have to find it by discovering unknown areas. Most of the time you just travel, searching and trying. From time to time you fight an imp or zombie and finally (but rarely in comparison to other activities) you pick your dreamed artifact.

Learning PowerApps

If you read the image description above you probably see a lot of similarities to learning really anything that is new to you. Let’s take PowerApps for example. You want to build an app, create a solution to support your process, or build that powerful customized SharePoint list form. Most of the time, you try different approaches, different controls, and just DISCOVER new functionalities of the platform. From time to time you need to solve an error or warning (e.g my favorite one: 500 items limit) and rarely (in comparison to other activities) you’re completing your dreamed app. And that’s ok – you’re learning. You need to get the experience. Is there a way to increase the effectiveness of your learning path? Yes, there is. Follow me 🙂

Minimal effort to maximum effect

To shorten your launch with powerapps I’ve noted down 10 things I wish to know earlier – at the very beginning of my PowerApps adventure. Treat them as my footprints you can follow to get your “artifact” quicker.

1. Templates

In PowerApps maker portal when you go to the “Create” page you’ll see a bunch of tiles. The first three are for creating your app but all the others (28 tiles) are ready-made applications. They present the final solution to a specific scenario (Help Desk, Budget Tracker, Leave Request etc). By clicking on the template app you’ll add it to your environment and you can start using it. But that’s not all! You can edit it and see how it was built! It’s an awesome opportunity to investigate the app structure, logic, used controls, and functions to learn the PowerApps. Moreover, you can copy app parts and paste them into your solution – why not!

Play, test & analyze at least 1 of them.

Protip #1: If you’re beginning with PowerApps focus on templates with the “Canvas app” label

Protip #2: There are two app templates you can’t miss: PowerApps Training and PowerApps Training for Office. A must for everyone who wants to know PowerApps better.

2 . Controls & Properties

There are many controls you can use in your app. Text input, Slider, or Timer (with which you can build animations) are just a few examples. Use them to interact with a user in multiple ways: display information, gather some data, or even record a video or take a picture. All controls are under the “Insert” ribbon tab and grouped in categories (Text, Controls, Media etc). Take 10 minutes to discover all the controls in PowerApps. In most cases reading the control label is enough to get the general context of it. However, take in mind some controls are more complex (eg. gallery or forms).

Other great things about controls are their properties that are for customization. Want this label text to be read? No problem! You don’t like those rounded corners of a button? Sure thing, I don’t like it either. Properties extend the capabilities of the controls. Using them you can use control in multiple ways and in different contexts.

Protip #3: The most popular controls are: label, text input, icons, button, gallery, forms. Starts with them. Almost any application needs them.

Protip #4: Check the Advanced tab from the properties pane (the above image). It contains much more properties than Properties tab.

3. Functions

Interaction with a user is one thing but what will happen if a user clicks this button? And how to show an error message once users forget about providing required data? You won’t do much without logic in your app. And that’s what PowerApps functions are for. Controls, properties, and functions are PowerApps bread and butter. Without knowing them you’ll be like a kid in the dark.

There are 155 functions and they are fully described here. In the documentation, each function description contains a note of what it does, when to use it, required arguments, and some usage examples. And to be honest probably never use all of them. But the below list is really worth those 30 minutes to check them in the documentation.

Protip #5: Some functions are unknown even to those who builds PowerApps professionally. These professionals waste a ton of time to make workarounds for what I’m solving in a minute. Some of those functions: User, Param, Language, HashTags,ColorFade, PlainText. Make sure you know them 🙂

4. Connectors

The true power of PowerApps (and PowerPlatform generally speaking) lays not in the platform itself but in the integration with other platforms. Thanks to that your app can use the capabilities of another service. I like to think about integration as “borrow the power of other services” in a way. PowerApps contains over 350+ connectors to different services (not only Microsofts!).

You can find a list of all connectors here.

From that list few connectors deserve special attention because of their flexibility and how they greatly improve PowerPlatform extendibility:

  • Office 365 Users
  • Power BI
  • HTTP with Azure AD
  • HTTP / HTTP Request (available as an action/trigger via Flow)

Protip #6: You want to integrate your own service? Check out Custom Connectors

5. Store data in the right place

Ok, before I’ll say anything more I have to announce one really important thing.

Generally speaking. Ok to store simple tables. Perfect to store documents. But for storing tables with relationships model? Absolutely not!

Side note: why do some people pick Blob Storage over SharePoint? Versioning, Permissions model, Sharing capabilities, Integration with Teams and Onedrive – SharePoint has it all!

Uf, I’m good now.

So when it comes to storing data there are few places you can do it: OneDrive (Excel), SharePoint, and common database (Dataverse, SQL). The first two are a common pick for PowerApps adepts and after some time they always search for help. Because neither excel nor SharePoint is not a relational database. But Dataverse and SQL are! And from my perspective, after the last updates, Dataverse is the first pick when it comes to PowerApps solutions. I won’t dive into my approach details in this post but I’ll definitely cover that in the nearest future. Dataverse made huge progress and is a safe and trustworthy relational database.

Protip #7: Files? SharePoint. Relational database? Dataverse.

6. Delegation

When it comes to data source connection there will be a moment in time when you’ll see the below warning.

But don’t worry! It’s the delegation thing. The delegation mechanism is well described in the documentation. However, sometimes delegation is not a solution. If you’ll get to such a point read my post: https://michalguzowski.pl/500. I’ve described 4 workarounds for the 500 limitations (whereas delegation is only 1 of them) + 2 extra my own methods which you won’t find in the Microsoft official resources 😉

7. Turn on Advanced Settings

If you want to build your apps more efficiently and faster there are few options hidden from you by default(!). But as an app maker, you can easily turn them on.

Go to File -> App Settings -> Advanced settings

There are awesome functionalities that will boost your productivity. 2 examples:

Components

It’s a group of controls that you can reuse across screens and apps! It’s like you build your own control! Example:

If you want to read more about how to build components and my best practices, patterns and tricks check this blog post.

Formula bar result view

Normally there is no way to see what your filter function will actually return in the result unless you display the data using some control (eg. gallery). However, turning on “Enable formula bar result view” allows you to see the first few results right in your formula bar. Like this:

8. Extra content

The old saying says: “Don’t reinvent the wheel”. When you start with something it’s impossible to always avoid this mistake of reinventing the wheel. Because finding out what has been already made is actually a part of the learning process, right? Sometimes you’ll read about it in documentation, sometimes you’ll see it in one of the PowerApps templates and sometimes you read about in a blog post. That’s why I’ve put this part here 🙂

  1. 10 Reusable Components: tab control, calendar, dialog box, map control and more
  2. Experimental tools from Microsoft: PowerApps Review Tool, Theme Editor, App Merger, Phone to Tablet Layout Converter
  3. Templates from PowerApps portal are not enough? Then go to PowerUsers Community Gallery for more.

9. Community

Remember those times when a 3 hours task has already taken 6 hours and you’re not even in the middle of it? That’s the moment when your time management (plan control, reality observations, taking action based on measurements) is crucial but what’s even more important is…your self-control. Quit the berserker mode. Stop the “ohhh…I’ve already spent so much time on this task that now I HAVE TO finish it”.

Follow below:

  1. Your app/task is estimated to be done in X hours
  2. Make a checkpoint every 1/4 * X
  3. Define what you want to have on the particular checkpoint.
  4. If there is “expectations vs reality mismatch” -> ask for help. PowerApps Community & #PowerAddicts are here for you.

Protip #8: don’t be obsessive, know when to quit. Ask for help earlier

10. Practice practice practice

This is the universal but very true sentence: “To make apps you have to make apps”. In other means, no knowledge gives you as much expertise as practice. If you want to make great apps there is no other way than just make 100 of them.

Every 100 starts with 1.

The task for today: make a simple app.

Eg. with a button that sends you an email on click. But make it so good you could use it in the future. Eg. email can be sent to your family member with a random message:

  • “Will be late – traffic today is horrible”
  • “Sorry for late, had some bugs in one of my projects but I’m close to fix them. Need ~30 minutes more. Love you!”
  • “My client asked me to help him in emergency case: they have some problems on production environment! Will be in 2 hours :(”
  • Can’t find the keys – did you see them?

Was it helpful? Or maybe you think I’ve missed anything?

LET ME KNOW IN THE COMMENTS! 🙂

Related Posts

17 Comments

  1. Makis Tsakmakis

    I’m new to this piece of crap named PowerApps. I’ve read your article, and I can praise your good intentions. Nevertheless, there’s a lot more somebody need to know before starting with it. And before anything else, is the very poor delivery on the promise “low code platform”. I was not expecting to do everything with it, or substitute true developer platforms. But I did expect to do quickly at least trivial things!!! (eg. Deleting a record with user confirmation, I could not believe it is a project!! Master-detal record, trivial requirement for most real-world apps is a BIG Project!)
    And I did expect to find out there a couple of real-world templates (or at least close to real-world).
    Pure disappointment: Once again MS proves they know nothing about true business apps.
    I think it’s a pure waste of time. And I think MS, eventually, will quietly kill it.

    • Michał Guzowski

      Hey Makis, I’m really sorry to hear that you had so wrong experience with PowerApps. I see your frustration when you tried to achieve simple tasks. From what you described they seem to me simple as well. And to be honest – I’ve never had such problems. I don’t know how you tried to implement those tasks but maybe you missed something that could save you a lot of hours (and stress). I’m not saying the platform is perfect, it’s not, but simple tasks as your examples, shouldn’t be a big hustle. Could you give me more details on what specifically made you a problem? Cheers

      • Makis Tsakmakis

        Hi, I follow the “official” Microsoft Power Apps community forum to get guidance and how-tos. I am amazed to find out that it is required to do tips and tricks for such straightforward tasks, such as a descent record edit screen, a navigation menu etc. Too much effort in a very stiff, stubborn and weird philosophy. “Low code business app” platform, sets completely different expectations! I cannot imagine I need to CREATE a delete record button! At the same time, overall the web environment is extremely inflexible, slow and overall counter-productive (even copy-paste remains a big hustle, esp. when you want to copy a complete screen). Not to mention other essential developer addons that are totally missing – Where is a data explorer? I mean MS owns the visual studio!!!! Is it possibly the best they could? Overall my test-run was a pure disappointment and waste of my time.

        • Michał Guzowski

          Hm…have you checked how much PC RAM your browser consumes? Because normally the web browser app editor shouldn’t be slow. And when it comes to creating delete record button – have you tried using forms instead of creating from scratch? I’m more and more convinced that you just don’t want to give the platform a chance. Sure, it’s not perfect but pretty good balance between NoCode and Custom Code. What do you use for your everyday development?

    • Nathan

      Makis, sorry to hear of the issues you are having with this citizen development platform. My 8 year old son has grasped all the concepts this excellent article details and he thrives on teaching lower skilled students how to achieve their desired outcomes with simple tech! I’m sure he would love to help you out so feel free to drop me a line if you continue to be overwhelmed, don’t give up, you can do this! 👍

  2. Makis Tsakmakis

    Hi, I just found out that Power Craps cannot connect to my Sharepoint Task List (yes, the Microsoft Official one!!!!) It’s not supported! LOL

    • Michał Guzowski

      I think it’s because SharePoint Online Tasks list are going to be obsolete anyway. Have you tried creating SharePoint Online lists and connecting to them using Power Apps?

    • Chris Huntingford

      Wow Seems as if you are having a tough time and you are angry? “Power Craps”… Sounds like you are rally struggling. Have you looked at the wider platform… As in the Power Platform? Remember 1 tool for multiple jobs is not always the answer. Perhaps you would like to get on a shared call where you will get the opportunity to share your technical expertise with the rest of the community? maybe rant a little and show us how many other things you have tried? That way you may be able to vent a bit and also receive help from those who will listen (Providing you treat people correctly)? These are the types of use cases that we would like to solve as a community.

      Also thank you Michal for your hard work in sharing your content. You are brilliant and you help so many people. I know you do this in your spare time and you volunteer help without reward. I hope others understand this.

      • Michał Guzowski

        +1 to what Chris has written. I’m working with other LowCode vendors as well and I must say – no tool is perfect, nor the solution you build. The key is to be above the limitations and find the balance between capabilities and limitations. There is a lot of training content around Power Platform on Microsoft sites The community is also doing very hard work to explain the same thing but differently. So everyone can find something for themselves. And also – Chris, thank you for your kind words.

    • Arron Campbell

      Hi Makis,
      Powerapps can connect to Task Lists in SharePoint, although you need to use the list GUID when selecting the list to interact with, as it doesn’t find the name of them automatically.

      • Michał Guzowski

        That’s true – it has changed over time. This article may be outdated in this part. Btw out of curiosity – if one will use a template tasks list why he would need PowerApps? Isn’t it redundant?

  3. Ciarlie

    Hello, I’ve just recently started playing around in PowerApps about 2 weeks ago. I’ve already been able to create two extremely functional apps with galleries, edit screens, timers, switch controls for my colors/templatefills, search boxes, combo boxes, people finders, multiple filters, images, etc. I was super excited while working in the apps because this seems A LOT easier than say, InfoPath forms. It’s so unfortunate some users are having a difficult time. I’m a true novice, but I enjoy the learning aspect of it all. As I was seeking new knowledge, I came across this article and I loved it!!! So much USEFUL information and awesome tips!!! Even though I just got started, I completely see the value in your article and I want to thank you for sharing these jewels with all of us!!

    • Michał Guzowski

      Wow, thank you Ciarlie for your appreciation. Are there any other topics you’d like to cover? Recently I was not publishing many articles around technical topics but I’d be happy to write one if I know what Power Platform community need.

  4. richard pratt

    I’m looking at this as a data architect. I’m seeing something good for creating apps but getting accurate information out, no missing records onto other systems i’m unsure. I’m looking at ADF with staging tables to ensure reconciliation and previously using ADF alone we have 1000’s of missing records but it doesn’t seem to like moving data to another table or so the suppliers tell me. Also can you get say SQL query onto a table through an Azure Function. I go through the microsoft site and its a bit too sales focused for me. I’m looking at it perhaps ignorantly as sitting on a Hybrid DB it has SQL so of course you can do SQL Query but then the dev’s are telling me i’m insane.

    • Michał Guzowski

      The idea behind Power Platform (e.g. Power Apps or Power Automate) is to not elevate user privileges and work under his/her permissions. So if an app doesn’t fetch something then 99% of the time it means that the user doesn’t have proper access to the DB.
      On one hand you can connect your app to the SQL directly (both cloud one like Azure SQL and on-premise one through the gateway). On the other – you could use Dataverse (instead of SQL or via dataflow integration) and then you’d have option to use Model-Driven apps.

Leave a Reply

Your email address will not be published. Required fields are marked *