RPA bot fails to complete invoice processing when unexpected popup appears in legacy ERP

We’ve deployed an RPA bot in Creatio 7.18 that automates invoice data entry into our legacy ERP system. The bot works perfectly in 90% of cases, but execution halts completely when an unexpected popup appears in the ERP interface - typically security warnings or session timeout notifications.

The bot is configured to navigate through the standard invoice entry screens, fill in fields, and submit. However, when the legacy UI automation encounters a popup that wasn’t part of the recorded workflow, the bot just freezes at that step. Here’s the basic navigation sequence:

ClickElement("Invoice Entry Menu")
WaitForElement("Invoice Form")
SetFieldValue("InvoiceNumber", invoiceData.Number)
// Bot stops here if popup appears
ClickElement("Submit Button")

We’ve identified three types of popups that cause failures: session timeout warnings, data validation alerts, and network connectivity messages. The bot error handling doesn’t detect these interruptions, so the process shows as ‘Running’ in Creatio but never completes. This creates a growing invoice backlog as failed bot runs aren’t automatically retried. We need robust popup detection in RPA to handle these legacy UI automation edge cases. Has anyone implemented error handling patterns for unpredictable popup scenarios?

You need to add conditional popup detection steps throughout your bot workflow. Before each major action, insert a check for common popup window titles or specific UI elements that indicate a popup is present. Use the ‘IfElementExists’ activity to branch your logic and handle the popup before continuing.

I’ve dealt with similar legacy system integration issues. The key is implementing a generic popup handler that runs in parallel with your main workflow. Create a separate subprocess that continuously monitors for popup windows and dismisses them automatically. This ‘popup watcher’ pattern is standard for RPA bots working with unstable legacy UIs.

The parallel popup watcher sounds promising. How do you prevent it from interfering with legitimate dialog boxes that the bot needs to interact with? For example, the ERP’s ‘Confirm Submit’ dialog requires a specific button click - we don’t want the watcher dismissing that.

For session timeout popups specifically, consider implementing a keep-alive mechanism. Have your bot periodically perform a lightweight action (like refreshing a menu or clicking a neutral area) to prevent the session timeout from occurring in the first place. This reduces the number of popups you need to handle.

Don’t forget to add retry logic to your bot workflow. If a popup causes a step to fail, the bot should capture a screenshot, log the error details, and attempt the step again after dismissing the popup. Configure a maximum retry count (usually 3) before marking the invoice for manual processing.