Power Automate Desktop: Best Practices for Advanced Users

Sdílet
Vložit
  • čas přidán 10. 07. 2024
  • Learn all the Power Automate Desktop practices in this advanced step-by-step tutorial. We'll go through building a config, do error handling, logging, input validation, dynamic waits, and work queues. Learning the best practices is crucial as a Microsoft Power Automate Desktop developer. It makes your workflows more effective, robust, easier to maintain, and faster to build because of reusability.
    By the end of this video, you've improved your chances of getting a job or passing a Power Automate Desktop developer certification.
    👨‍👩‍👧‍👦 Get Power Automate help and network with 7000+ RPA developers in my FREE Discord community: / discord
    📚 LINKS FROM THE VIDEO
    - Add Students Basic Page: andersjensen.org/sample-rpa-r...
    - .NET Custom Date Time Format: learn.microsoft.com/en-us/dot...
    - Add Students in a Form to a Table with Missing Elements: andersjensen.org/sample-rpa-r...
    - Download Notepad++ (Free): notepad-plus-plus.org/downloads/
    - Add Students in a Form to a Table with Delay: andersjensen.org/sample-rpa-r...
    - VBScript for the Config: drive.google.com/drive/folder...
    📺 VIDEOS FOR YOU
    - How to use Power Automate AI Copilot: • How to use Power Autom...
    - Web Extraction with Power Automate Desktop: • Web Extraction in Micr...
    RESOURCES (AFFILIATE LINKS)
    👨‍💻 Learn Power Automate Desktop as a Beginner: • Power Automate Desktop...
    📖 Best Power Automate Desktop Book: geni.us/FZQlmt
    👨‍👩‍👧‍👦 RPA Developer Community: / discord
    👨 PAD Facebook Community: / 754059285247921
    💼 PAD LinkedIn Group: / 12566435
    📜 PL-500 Microsoft RPA Preparation Guide: • PL-500: Microsoft Powe...
    ► LinkedIn: / andersjensenorg
    ► Instagram: / andersjensenorg
    ► Facebook: / andersjensenorg
    ► Twitter: / andersjensenorg
    ► Email Newsletter: andersjensen.org/email-newsle...
    ⌚ TIMESTAMPS
    0:00:00 Introduction
    0:00:27 Building the Basic Flow
    0:20:36 A Simple Log
    0:25:49 Dynamic File Naming
    0:31:41 Error-Handling
    0:32:53 Business Exceptions
    0:52:08 System Exceptions
    0:58:29 Advanced Logging
    1:16:15 Input Validation
    1:30:51 Dynamic Waits
    1:37:29 Work Queues
    1:45:50 Dispatcher
    1:53:30 Config
    #powerautomatedesktop #powerautomate #powerplatform
  • Věda a technologie

Komentáře • 77

  • @andersjensenorg
    @andersjensenorg  Před rokem +4

    The best Power Automate community is free: discord.gg/iloveautomation 🔥
    We're more than 8000 RPA developers ready to network and help you.

    • @sosolowkey9318
      @sosolowkey9318 Před rokem

      Do you have any tutorials dedicated to robocorp?

  • @petersonpaloschi2500
    @petersonpaloschi2500 Před rokem +6

    Here are some effective programming techniques I have honed over my career as a developer:
    Regardless of the language or automation software I'm using, I generally start with a copy of a pre-developed layout, which will be the standard for all automations. Here are the steps I usually follow:
    The first subroutine or subflow of the project is Sub_Define_initialization_variables: at this point, I define directories, parameters, keys, and everything related to the automation workspace, using regions.
    The second subroutine or subflow of the project is Sub_Control_room: this section houses Boolean variables that can change the systems environments and logins. It includes everything related to environments and logins.
    The third subroutine or subflow of the project is Sub_Error_handling: in case of error, I direct it to this routine, which is responsible for recovering the cause of failure, sending emails, inserting information into SQL, and everything related to the last action that the automation will perform in case of failure.
    Here's a tip for beginners or for those who want to make their projects more scalable and easy to maintain:
    It's useful to differentiate your subroutines or subflows using the initial prefixes: Sub_ or Func_. To me, the difference is clear: Sub_ is used to store variable assignments, large sections of code, or even a small "function". However, what differentiates it from Func_ is that the latter mimics a function, as it allows to perform a task using unique variables as internal input and output. This way, when someone goes to perform maintenance on your automation, they will know that the Func_Function_name routine receives or returns parameters that are exclusive to it.

    • @andersjensenorg
      @andersjensenorg  Před rokem

      Thanks a ton, Peterson - I consider implement some of it 🙂

  • @jannicksrensen4203
    @jannicksrensen4203 Před rokem +6

    I've been looking for something like this for a while now. Great to finally have a video on it! Thank you very much

  • @yogeshrao4892
    @yogeshrao4892 Před 7 měsíci +1

    One of the best use case covering all best practices of PAD. Thank you a lot Anders.

    • @andersjensenorg
      @andersjensenorg  Před 6 měsíci

      Thanks a lot for the kind words 😍 Kind regards, Anders

  • @FlavioTraiano
    @FlavioTraiano Před měsícem +1

    There's so much valuable information in this video. I'll share with my team. Thanks again!

    • @andersjensenorg
      @andersjensenorg  Před měsícem +1

      Hey Flavio, thank you so much 🥰 Kind regards, Anders

  • @miraitube1337
    @miraitube1337 Před 10 měsíci +1

    My learning journey on Power Automate is much better with your videos! Thanks!

  • @PraveenKumar-by2eu
    @PraveenKumar-by2eu Před 3 dny +1

    Thanks Andres

  • @betharceo6023
    @betharceo6023 Před 4 měsíci +1

    This video really helped me learning PowerAutomate from UIPath. Thanks alot! I hope you also have a tutorial on form modification (edit) with checkboxes soon. 👏🏻

    • @andersjensenorg
      @andersjensenorg  Před 4 měsíci

      Wow, thanks a lot 😊 I have one planned, but it will take 1-2 months before recording/producing. Kind regards, Anders

  • @FairviewRCflier
    @FairviewRCflier Před 4 měsíci +1

    Absolutely amazing job! I had a goal of learning better logging methods and learning how to do error handling better and this video nailed it! Thanks so much

    • @andersjensenorg
      @andersjensenorg  Před 4 měsíci

      I'm so glad it could help you 😊 Kind regards, Anders

  • @thomasshakypetersen1609
    @thomasshakypetersen1609 Před rokem +3

    Love it, especially the fact that the info reaches a lot of people. Thx for the plug :)
    Quick tip, if you want to include the subflow in your tracelog, you can create an error on purpose (convert 'penguin' to a number), force the flow to continue, get the last error and read the subflow from %lastError% :)

    • @andersjensenorg
      @andersjensenorg  Před rokem

      My pleasure, thanks for all the help through the last year - I learn a lot 🙏Yeah, great one. I thought about it (dividing by 0 or so), but somehow think it's "unclean" 😏 I cross my fingers for a Throw error action 🍀

  • @PraveenKumar-by2eu
    @PraveenKumar-by2eu Před 3 dny +1

    Thanks

    • @andersjensenorg
      @andersjensenorg  Před 2 dny

      Wow, Praveen 💯😍 Thanks a lot for this kind gesture 🫡 Appreciated, kind regards, Anders

  • @yaronbeen3033
    @yaronbeen3033 Před rokem +1

    Exactly what I was looking for.
    Appreciate it.
    If you can create more advanced videos that would be great

    • @andersjensenorg
      @andersjensenorg  Před rokem

      Thanks a ton, Yaron 🙌🙂 I will create a mix of beginner and advanced stuff. Kind regards, Anders

  • @steve_aventura
    @steve_aventura Před 2 měsíci +1

    In the log I suggest you include the loop index, where appropriate, in the comment field

    • @andersjensenorg
      @andersjensenorg  Před měsícem

      Thanks a lot for the input, I think we can add a lot of things in the log. When we scale it and set everything up in Work Queues, then we won't use the loop anymore. Kind regards, Anders

  • @jatinnandwani6678
    @jatinnandwani6678 Před 4 měsíci +1

    Thanks Anders!

    • @andersjensenorg
      @andersjensenorg  Před 4 měsíci

      Wow, Jatin - you really didnt have to 😊 I have a new video on this going out this month. Kind regards, Anders

  • @rolandscott7891
    @rolandscott7891 Před rokem +1

    Thank you Ander, keep up the good work

  • @oneBoredFish
    @oneBoredFish Před 6 měsíci +1

    In your loops, I noticed you use the Set Variable to increase the LoopIndex by 1 each time. There is a dedicated function called 'Increase Variable' that is made specifically for that.
    I never use the search bar to find functions because looking through the list helps me remember what commands are available and sometimes I spot one I've never noticed before that's perfect for what I need.

    • @andersjensenorg
      @andersjensenorg  Před 6 měsíci

      For sure, thanks a lot for pointing it out 😊 I prefer Set variable, as this gives me the best overall ability to manipulate variables. However in this spot, I will agree, that Increase variable is slightly easier to use. Have a great weekend. Kind regards, Anders

  • @warrenjanuschka7028
    @warrenjanuschka7028 Před 17 dny +1

    Hi Anders, Great CZcams videos. I'm new to PA Desktop. Do you do offer one on one tutoring (through Teams or other platforms)
    Cheers Warren

    • @andersjensenorg
      @andersjensenorg  Před 3 dny

      Hey Warren, I do, but it's rather expensive. For a start I would recommend my discord community of 12,000+ developers. Here we help each other and network. It's 100% free: discord.gg/iloveautomation Kind regards, Anders

  • @kensleylewis
    @kensleylewis Před 10 měsíci +1

    Excellent course - wish I could continue from the Work Queues portion and on because PA users require an attended RPA' license for that. But thanks anyway for teaching that if we did have it.

    • @andersjensenorg
      @andersjensenorg  Před 6 měsíci

      You're very welcome, @kensleylewis - your support helps me a lot 😍 You're more than welcome at my Discord, where we're 11,000+ RPA developers networking and solving problems: czcams.com/video/xWFz-S96XGo/video.html

  • @shubhambajpai7897
    @shubhambajpai7897 Před 9 měsíci +2

    your videos are amazing just the issue I face is with volume, its too low

    • @andersjensenorg
      @andersjensenorg  Před 9 měsíci

      I will turn it up a notch in the future 😊🙌 Thanks for the excellent feedback. Kind regards, Anders

  • @steve_aventura
    @steve_aventura Před 2 měsíci

    At 51:09 you are only processing transaction if status is empty. But data check will set it to Success. I think you need to check for empty or Success.

    • @andersjensenorg
      @andersjensenorg  Před měsícem

      Thanks for writing 😊 I'm getting more than 50 messages daily. While I read all of them, I can’t reply to everyone 😔 But I’ve created an RPA/Automation community where we’re 12,000+ RPA Developers helping each other with solutions and our careers. Here’s the video on how to join (the invitation link is in the video description): czcams.com/video/xWFz-S96XGo/video.html Kind regards, Anders

  • @FlavioTraiano
    @FlavioTraiano Před měsícem +1

    Valeu!

    • @andersjensenorg
      @andersjensenorg  Před měsícem

      Hi Flavio, thank you so much - you really didn't have to. Kind regards, Anders

  • @shobinb1281
    @shobinb1281 Před 7 měsíci

    Thanks for the video . Very informative.. one question - How do we implement auto re-queue in case of system exception?

    • @andersjensenorg
      @andersjensenorg  Před 7 měsíci

      Thanks for writing 😊 I'm getting more than 50 messages daily. While I read all of them, I can’t reply to everyone 😔 But I’ve created an RPA/Automation community where we’re 10,000+ RPA Developers helping each other with solutions and our careers. Here’s the video on how to join (the invitation link is in the video description): czcams.com/video/xWFz-S96XGo/video.html Kind regards, Anders

  • @kowal779
    @kowal779 Před 10 měsíci +1

    Anders, great video. In future videos could you please set the volume louder, so that I don't get earraped with ads? 😅

    • @andersjensenorg
      @andersjensenorg  Před 6 měsíci

      Thanks a bunch, @kowal779 🤩 I've created a Discord. We're more than 11,000+ RPA developers networking and solving problems here: czcams.com/video/xWFz-S96XGo/video.html You're more than welcome. Kind regards, Anders

  • @e3bode
    @e3bode Před 11 měsíci +1

    Dear Anders, I would like to express my deep appreciation to you because of your interruptions.
    Everyone in my company has come to think that I am a great programmer. Thanks a lot for your wonderful explanation.
    I would like to ask a question.
    When you are creating (FOR EACH) action you put a set variable before it, that is clear for me.
    Then you put another (set variable +1) action before end, why not use the (increase variable) action instead of (set variable +1) action what is the difference.

    • @andersjensenorg
      @andersjensenorg  Před 11 měsíci +1

      Thanks x 1000. They do the exact same thing, I'm just in love with the Set variable, but you can use Increase variable just as good 🙂 Have a great day. Kind regards, Anders

  • @mrnock2
    @mrnock2 Před 8 měsíci +1

    Hello Anders, thank you for your videos and detailed explanations. I was wondering if there is an option to set the modal option to True in order to prevent users to change the focus from the Input Dialog to the web page behind. I cannot see this option neither in the Display Input Dialog nor the Custom Form, and I was wondering that maybe there is an option by copy-pasting the code in NotePad and adding a new parameter like \"modal\": true or \"focus\": true. However, all my manipulations didn't work... Do you have any idea on how to solve this? Thank you

    • @andersjensenorg
      @andersjensenorg  Před 8 měsíci

      Thanks for writing 😊 I'm getting more than 50 messages daily. While I read all of them, I can’t reply to everyone 😔 But I’ve created an RPA/Automation community where we’re 10,000+ RPA Developers helping each other with solutions and our careers. Here’s the video on how to join (the invitation link is in the video description): czcams.com/video/xWFz-S96XGo/video.html Kind regards, Anders

  • @michelvanhaeren3042
    @michelvanhaeren3042 Před 10 měsíci +1

    Hi, I learned a lot from your tutorials. Many thanks !
    I have already created several working flows with Power Automate Desktop in the meantime.
    I do have one very big problem thoug: The performance !
    My flows no longer contain any errors, I don't get any error messages. Sometimes the flows run smoothly and at a reasonable speed. But an hour later or the day after, the same flow (without any change) suddenly doesn't advance anymore. Some steps take several minutes before they are executed. And a few hours later, it's fine again. But sadly, more often it goes much too slow. Is this an experience you also have? I am now working with PAD under Microsoft 365 Business Premium. What could be the cause of the weak and unstable performance ?

    • @andersjensenorg
      @andersjensenorg  Před 10 měsíci

      Thanks for writing 😊 I'm getting more than 50 messages daily. While I read all of them, I can’t reply to everyone 😔 But I’ve created an RPA/Automation community where we’re 9000+ RPA Developers helping each other with solutions and our careers. Here’s the video on how to join (the invitation link is in the video description): czcams.com/video/xWFz-S96XGo/video.html Kind regards, Anders

  • @baliflorent6971
    @baliflorent6971 Před rokem

    Thanks. Please Sir, on the WordPress site which plugin do you use to build the form and the table ?

    • @andersjensenorg
      @andersjensenorg  Před rokem

      Thanks for writing 😊 I'm getting more than 50 messages daily. While I read all of them, I can’t reply to everyone 😔 But I’ve created an RPA/Automation community where we’re 8000+ RPA Developers helping each other with solutions and our careers. Here’s the video on how to join (the invitation link is in the video description): czcams.com/video/xWFz-S96XGo/video.html Kind regards, Anders

    • @baliflorent6971
      @baliflorent6971 Před rokem

      @@andersjensenorg ok Sir

  • @shishirjakhmola5104
    @shishirjakhmola5104 Před rokem

    Many thanks for creating this video.
    I have a humble request, please speak a little louder in your videos.
    Thanks again.

    • @andersjensenorg
      @andersjensenorg  Před rokem

      Hey my friend, thanks a lot for the nice feedback. I will implement it from the next videos. Kind regards, Anders

  • @guillermocruzvega1716
    @guillermocruzvega1716 Před 3 měsíci

    How many actions per worflow is recommended in PAD? I mean which amount is considered too much for a unique flow or subflow?

    • @andersjensenorg
      @andersjensenorg  Před 3 měsíci +1

      Hmmm, I usually have around 10-15 at maximum and use many subflows. But there is no general rule 😊 Kind regards, Anders

  • @hoheshaus2097
    @hoheshaus2097 Před 6 měsíci

    Is it possible that you do a tutorial that shows how Power Automate Desktop is communicating with files on a sharepoint? It seems that I need to know how JSON works. I'm really struggling with the syntax and the key values

    • @andersjensenorg
      @andersjensenorg  Před 6 měsíci

      Thanks for writing 😊 I'm getting more than 50 messages daily. While I read all of them, I can’t reply to everyone 😔 But I’ve created an RPA/Automation community where we’re 10,000+ RPA Developers helping each other with solutions and our careers. Here’s the video on how to join (the invitation link is in the video description): czcams.com/video/xWFz-S96XGo/video.html Kind regards, Anders

  • @schpiele
    @schpiele Před rokem +2

    Is there a way to create new queue items from PAD?

    • @andersjensenorg
      @andersjensenorg  Před rokem +1

      Great question. No native actions yet, but we can API call a PA cloud flow and do it. Kind regards, Anders

  • @steve_aventura
    @steve_aventura Před 2 měsíci

    One issue that I see is that you are putting line numbers in the status messages but these will be outdated if code is added or removed

    • @andersjensenorg
      @andersjensenorg  Před měsícem

      Yes, that's unfortunately where you need to manually update the flow 😀 Kind regards, Anders

  • @antisony2008
    @antisony2008 Před 7 měsíci

    The power CAT team has published a great tool called the automation kit, for (among other things) visualizing and analyzing logs.
    Why would you recommend handling logs as csv in the local machine instead of using power automate's built-in cloud-based logging system.

    • @andersjensenorg
      @andersjensenorg  Před 7 měsíci

      Most Power Automate Desktop/RPA professionals don't use Power BI, Power Apps etc. CSV logs are more accessible and not expensive like the solution you mentioned 😊 Kind regards, Anders

  • @sardhashakti
    @sardhashakti Před rokem

    Hi Anders, How to remove duplicate entries from excel file after launch excel from a path. I am using VBscript for this. 1:- Set objExcel=GetObject("Excel.Application")
    2:- Set object=pnjabi.worksheets(1)
    3:- objExcel.Visible=true
    4:-objSht.UsedRange.RemoveDuplicates 1,1
    The duplicate entries are in column A only and this is the script I have used but not getting output

    • @madslarsen6355
      @madslarsen6355 Před rokem

      I basically just click the column, click data and then remove duplicates button, might not be pretty but gets the job done

    • @andersjensenorg
      @andersjensenorg  Před rokem

      Thanks for writing 😊 I'm getting more than 50 messages daily. While I read all of them, I can’t reply to everyone 😔 But I’ve created an RPA/Automation community where we’re 8000+ RPA Developers helping each other with solutions and our careers. Here’s the video on how to join (the invitation link is in the video description): czcams.com/video/xWFz-S96XGo/video.html Kind regards, Anders

  • @VyomeFamily
    @VyomeFamily Před 2 měsíci

    please refer to video at time 16:55, i trying to do the same accessing induvial values from 'currentitem' same syntax but it throws error "Parameter 'Text To fill-in': Unexpected characters. Characters are used in the formula in an unexpected way." isthere any way out ?

    • @andersjensenorg
      @andersjensenorg  Před 2 měsíci

      Thanks for writing 😊 I'm getting more than 50 messages daily. While I read all of them, I can’t reply to everyone 😔 But I’ve created an RPA/Automation community where we’re 12,000+ RPA Developers helping each other with solutions and our careers. Here’s the video on how to join (the invitation link is in the video description): czcams.com/video/xWFz-S96XGo/video.html Kind regards, Anders

    • @lucjank7544
      @lucjank7544 Před měsícem

      Mam to samo :(

    • @lucjank7544
      @lucjank7544 Před měsícem

      mam to samo

    • @lucjank7544
      @lucjank7544 Před měsícem

      I have the same problem