One day, I needed to use MS Flow (now Power Automate) and to get more familiar with Microsoft’s unique RPA solution. I discovered it by chance while I was playing with Power Apps that were new to me. Then, I used it extensively in a way that maybe even Microsoft didn’t think of it as a solution that they intended only for very simple and light use cases.
Along with SharePoint, I used the Flow to do all the required data operations from insertion to deletion for thousands of rows being processed every day. The big solution included some techniques for de-duplication, insertion, editing records, deleting records, and locating records across multiple SharePoint sites. The reason for doing that is only one simple reason: there’s no other solution allowed.
During that year, I discovered the boundaries of that tool and I always wanted to write about RPA or no-code programming and to show my opinion about it. Does the RPA represent the future? Is it going to make developers out of non-IT staff or out of non-developers? Is it a supersmart robotic solution? The simple answer is: No!
Developer mind required
The first thing about RPA, in general, is that it only removed the code writing process, but it never had suggested an alternative way to help non-developers work on it. It still needs the developer’s mind to work on it. Excel on the other hand is a good example of a solution that requires a different set of skills, it’s making huge success and adding more and more functionalities.
To use RPA you need to know how to declare variables, variables types, operators, conditioning, loops…etc. You just need to do these steps more complex than the way you used to do in coding. If you compare variables declaration in MS Flow and C#, the latter would be way easier and simpler even for non-developers to learn it than to put these blocks and know all their restrictions. Sometimes you may see more complex restrictions than real programming, and all of that is for non-developers?
Even the errors are not understandable for a non-developer. The functions on the other hand require a very advanced Excel user, and I am not saying that about the functions formulas while they’re a completely non-important part, but they are essential and some processes cannot be done without them.
I remember spending a night searching for the ID attribute in some object to use it to connect two list items in SharePoint and to find how to do that programmatically (sorry I mean no-code programmatically) using the Flow. The same thing would’ve been easier in normal programming.
Limited usage
There’s no open quota in any part of the Flow, while I was using it I found that Microsoft changed one extra more quota that they forgot to change before, so as a result, many loops stopped as soon as I re-save the work. Or it won’t allow me to save it unless I set the limit to 5000. The preferred number for Microsoft is used also as a limit of rows count in SharePoint.
That moves us to the next dangerous part!
Another face of limited usage is that you cannot translate any advanced or complex logic into the Flow, and if so, there will be a heavy burden of errors and complexity.
Sudden changes
When Microsoft gives an update, you just see that something got changed but you don’t know where and when. You can see also that there was the thing that was possible before but now they’re not, that’s when you read in the Power-Apps forums and users from previous years.
That for sure doesn’t apply to other RPA solutions.
A Blackbox
Imagine doing 2000 loop iterates, that does the same call to some API, but it keeps doing some unnecessary steps each time, just because they’re part of a black box or black blocks. Although it’s useful to have such a simple way to call an API, you still need to see the steps and change them sometimes. You cannot change what’s inside these blocks or know what’s there. So if the API block is doing something that shouldn’t be done 2000 times but only for one time, then you cannot stop or change that. All blocks are black boxes!
But there’re some awesome tasks
I can’t deny that it was awesome to have some task to search in my email, bring all the relevant emails, extract the attachments from them and store them in some folder in my One-Drive. Or any kind of notification that you can make. Some many tasks/blocks are really awesome.
Summary
RPA technology looks colorful and easy, but it isn’t, it doesn’t differ from any other type of programming except in being black-boxed, non-flexible, generates complex huge graphs, and limited. It shouldn’t be used for any kind of task other than personal tasks.
On the other hand, it may help in reducing the knowledge gap between non-IT employees and developers, they may start to know the meaning of the loop, the API, the variables..etc. It may also help some smart people do their own tasks, some of which may look like magic when replacing boring daily manual routines.