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.
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
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.
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
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. 👏🏻
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% :)
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 🍀
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.
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: ua-cam.com/video/xWFz-S96XGo/v-deo.html
Thanks a bunch, @kowal779 🤩 I've created a Discord. We're more than 11,000+ RPA developers networking and solving problems here: ua-cam.com/video/xWFz-S96XGo/v-deo.html You're more than welcome. Kind regards, Anders
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.
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
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
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
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.
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
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
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
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 ?
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
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
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
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.
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
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
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
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
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 ?
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
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 14,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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
The best Power Automate community is free: discord.gg/iloveautomation 🔥
We're more than 8000 RPA developers ready to network and help you.
Do you have any tutorials dedicated to robocorp?
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.
Thanks a ton, Peterson - I consider implement some of it 🙂
My learning journey on Power Automate is much better with your videos! Thanks!
Wow, a million thanks 😍
I've been looking for something like this for a while now. Great to finally have a video on it! Thank you very much
Hey Jannick, thank you so much - tusinde tak 😍🙏
One of the best use case covering all best practices of PAD. Thank you a lot Anders.
Thanks a lot for the kind words 😍 Kind regards, Anders
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
I'm so glad it could help you 😊 Kind regards, Anders
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.
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
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. 👏🏻
Wow, thanks a lot 😊 I have one planned, but it will take 1-2 months before recording/producing. Kind regards, Anders
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% :)
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 🍀
Thanks! Really helpful and saved my time😀
Wow, thank you so much - you really don't have to 😊 Kind regards, Anders
Fantastic tutorial. Thank you very much for creating and sharing!
☕
My pleasure, Robert. Thanks for all the support 😊🙌
There's so much valuable information in this video. I'll share with my team. Thanks again!
Hey Flavio, thank you so much 🥰 Kind regards, Anders
Exactly what I was looking for.
Appreciate it.
If you can create more advanced videos that would be great
Thanks a ton, Yaron 🙌🙂 I will create a mix of beginner and advanced stuff. Kind regards, Anders
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.
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: ua-cam.com/video/xWFz-S96XGo/v-deo.html
your videos are amazing just the issue I face is with volume, its too low
I will turn it up a notch in the future 😊🙌 Thanks for the excellent feedback. Kind regards, Anders
Anders, great video. In future videos could you please set the volume louder, so that I don't get earraped with ads? 😅
Thanks a bunch, @kowal779 🤩 I've created a Discord. We're more than 11,000+ RPA developers networking and solving problems here: ua-cam.com/video/xWFz-S96XGo/v-deo.html You're more than welcome. Kind regards, Anders
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.
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
In the log I suggest you include the loop index, where appropriate, in the comment field
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
Hi Anders, Great UA-cam videos. I'm new to PA Desktop. Do you do offer one on one tutoring (through Teams or other platforms)
Cheers Warren
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
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.
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
Many thanks for creating this video.
I have a humble request, please speak a little louder in your videos.
Thanks again.
Hey my friend, thanks a lot for the nice feedback. I will implement it from the next videos. Kind regards, Anders
Thanks for the video . Very informative.. one question - How do we implement auto re-queue in case of system exception?
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
Thank you Ander, keep up the good work
Yes
🙏🙏🙏
Thank you so much, Roland 🙌
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
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
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 ?
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
Thanks Anders!
Wow, Jatin - you really didnt have to 😊 I have a new video on this going out this month. Kind regards, Anders
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
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
Is there a way to create new queue items from PAD?
Great question. No native actions yet, but we can API call a PA cloud flow and do it. Kind regards, Anders
Thanks Andres
My plaesure 🥷😎🫡 Kind regards, Anders
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.
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
Thanks
Wow, Praveen 💯😍 Thanks a lot for this kind gesture 🫡 Appreciated, kind regards, Anders
Thanks. Please Sir, on the WordPress site which plugin do you use to build the form and the table ?
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
@@andersjensenorg ok Sir
How many actions per worflow is recommended in PAD? I mean which amount is considered too much for a unique flow or subflow?
Hmmm, I usually have around 10-15 at maximum and use many subflows. But there is no general rule 😊 Kind regards, Anders
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
Yes, that's unfortunately where you need to manually update the flow 😀 Kind regards, Anders
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
I basically just click the column, click data and then remove duplicates button, might not be pretty but gets the job done
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
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 ?
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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
Mam to samo :(
mam to samo
I have the same problem
Seria legal se mostrasse o nome da música qnd estivesse tocando.
Claro, mas qual música?
Why .csv and not .txt for log files?
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 14,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): ua-cam.com/video/xWFz-S96XGo/v-deo.html Kind regards, Anders
Valeu!
Hi Flavio, thank you so much - you really didn't have to. Kind regards, Anders