Python Automation

Your RPA will fail anyway – monitor and react faster to errors

Your RPA will fail regardless! You can’t avoid this simple fact, especially when automating systems beyond your control. Instead of treating RPA failures as a result of some weakness in your team, you need to view them as part of the process.

Error handling in Robotic Process Automation (RPA) has its particularities. We often develop UI automations for systems that may change for various reasons. For example, in cases like web systems that are frequently updated, RPA failure is part of the game.

Since it’s difficult to predict and prepare for these changes, it’s better to detect and react faster to redeploy a new version of your automation to reduce downtime.

Reasons for changes in UI workflows with RPA

In most cases, the RPA team cannot foresee or be aware of changes in the target systems that the bots will face in subsequent runs, as we discuss below.

New system version

Many modern systems deliver updates without user consent. They simply update their features, UI experience, and notify users through a release note or change log. The goal is to consistently deliver system improvements for users who can figure out how to use the system after minor UI changes. However, if your bot automates UI actions based on component IDs or is sensitive to the component layout, it will no longer function correctly.

Need for update to access new features

In some systems, users need to authorize or manually perform updates, giving more control to the IT department over system changes. We’re not just talking about automation; many ERPs have layers of customization and integrations impacted by system updates. However, updating systems is good practice to reduce security risks, improve performance, and gain access to new functionalities.

Large companies use several systems in each department. Therefore, it’s common for RPA teams to be caught off guard by system updates made by IT teams without being notified.

User interface and workflows impacted by customization

Many systems support field customization and business rules to better model your company’s needs. It’s not uncommon to see your bots fail due to a new customization that your team wasn’t notified about. Your company’s departments want autonomy to make the most of the systems they use. The RPA team will need to face this challenge and keep operations running, considering this uncertain element.

Detecting system updates that require automation updates

Not every system update will cause your bot to fail. Not every bot failure is due to a system update. Updating your automation to address system changes is not like fixing a common bug. The bot was developed following a series of predefined steps for a specific version of the system. If the system has been updated, the first step is to understand the impact of the update and which steps in the automation were affected.

Thus, understanding why the bot is no longer working can reduce the time to fix it and, consequently, the downtime.

Checking if components exist in the UI

Whether you manipulate UI components using IDs or visual recognition, check if the UI component is available instead of simply trying to change component states and throwing exceptions if a given action is not possible. If the expected form or window is available but the target component is not, the UI may have been updated.

Statistical error monitoring

Errors in RPA happen all the time due to system unavailability, invalid parameters, and other reasons. However, when the number of errors for a specific period changes suddenly, something has likely changed in the automation workflow, and intervention from the RPA team is necessary.

Therefore, monitoring error statistics is an excellent approach to detect changes in the automation workflow without predicting every possible reason for an error to occur. Using notification tools can significantly reduce reaction time.

Quick reaction and downtime reduction due to system changes

To monitor errors and react faster, it is crucial to have your RPAs integrated with an orchestration platform. BotCity’s Orchestrator provides an error monitoring module that notifies RPA developers about errors, showing the stack trace, screenshots, and parameters associated with execution errors.

For each error reported to BotCity’s Orchestrator, the following information is displayed:

For statistical analysis, you can use BotCity Insights, which provides success rate, error ranking, and other indicators regarding a specific automation or a set of automations.

Any sudden change in your error patterns or distribution may indicate a change in your automation workflow. Identifying the automations responsible for these changes and analyzing their errors is a great starting point to identify the problem and fix it as quickly as possible.

Gabriel is co-founder and CTO at BotCity. He is one of the maintainers of BotCity Core, Marvin, and MarvinJ open-source frameworks. Follow me: https://www.linkedin.com/in/gabrielarchanjo/

Leave a Reply

Discover more from Blog BotCity - Content for Automation and Governance

Subscribe now to keep reading and get access to the full archive.

Continue reading