Robotic Process Automation: UI vs background automation in RPA (Robotics) projects

Isn’t that so exciting to see on how software robot mimics the actions of human users, particularly software robot’s ability to perform operations on User Interface (UI) level in the same way it is being done by human? It is. However, is that the most efficient way to utilize software robot’s capacity to perform actions as it is done by human? That’s a question that doesn’t have straight answer especially when it comes to attention of engineers who got used to apply background programming method for business process automation / scripting.

As there is always a stormy discussion within RPA team which method to apply (UI vs background programming) for creating TaskBot (software robot) - we find useful to list some Pros & Cons of both methods to be considered before kicking off RPA development works:

Putting simply what RPA UI and background programming methods mean:

  • background programming method: your TaskBot is capable to process operations / retrieve required data utilizing API (Application Programming Interface) of the target applications;
  • UI programming method: your TaskBot is capable to perform operations on UI level without accessing the target applications.

Some Pros & Cons to consider before designing the TaskBot:

Processing on Background:


  • efficient software robot’s capacity utilization: performing operations on background is much faster (by 5-10 times) vs performing the same operations on UI level;
  • lower probability of software robot failure: software robot will be performing operations utilizing API and in case there are some minor changes on UI this will not impact on software robot’s performance;
  • the background method provides a greater possibility for RPA engineers to foresee and mitigate potential errors occurrence.


  • visualization for business users is limited as software robot performs operations on background and respectively some operations / steps of the process are not visible for business users. This might take some time for human user to understand what might has gone wrong and convert programmed logic to understandable for human mode;
  • as a RPA engineer you would need to spend extra hours to understand the process logic (complex calculation, data reconciliation principles, etc.) to program TaskBot to perform required operations on the background.

Key consideration points:

  • to apply background programming for creating TaskBot - you would need API of the target applications;
  • the advantage would be your previous experience in business process automation / scripting to create TaskBot to perform operations on background;
  • for one-off cases you, actually, do not need to utilize enterprise RPA platform / products to develop the TaskBot as this is a standard programming approach applied for business process automation / scripting.

Processing on UI level:


  • greater visualization for business users as business users can see how and what software robot executes / delivers on each step of the process. Respectively, this method provides a greater possibility to quickly turn off software robot and transfer the tasks back to human when this is required / upon emergency;
  • as a RPA engineer you don’t need to spend much time to understand process logic to program the TaskBot as you just simply need to mimic human user’s actions.


  • inefficient software robot’s capacity utilization: performing operations on UI level will take much longer vs performing the same operations on background;
  • higher probability of software robot failure: in case there are some minor changes on UI level (button size / location, layout, etc), software robot might not be able to perform required operations.

Key consideration points:

  • if TaskBot needs to interact with some add-ons applications embedded to your target applications and TaskBot needs to deliver the output in pre-defined template of the application the TaskBot worked on – its worth applying UI programming method to simplify the delivery;
  • UI programming method is extremely useful when you are experiencing difficulties in accessing your target applications through API or API is not available as such.

Consequently, if you would be questioned which method to apply for creating TaskBot in scope of your RPA projects - there would be no straight answer on it as selecting the right method directly depend on your process and environment peculiarities and also skills of the RPA engineers.

ABOUT DMS Solutions:
DMS Solutions is a Robotic Process Automation (RPA) Provider delivering complete and end-to-end RPA solutions. We bring together intelligent RPA platforms and RPA enablement services to drive greater efficiency and accelerate the transformation. DMS Solutions operates across industries on European, North America and Asia markets and has offices in Hong Kong and Ukraine.

Willing to know more about our Robotic Process Automation Solution, please feel free to contact our Hong Kong or Ukrainian Office !

Watch our video on UI and Background programming!