Skip to main content

Hi everyone,

 

I’m looking for advice and experiences from anyone who has tackled this in production:

 

📌 Scenario:

I have multiple Automation Anywhere (AA360) runners, and sometimes a bot can get stuck on a Message Box (or another interactive action) if the user does not respond, leaving the bot in Running state in Control Room indefinitely without progressing.

 

🔍 What I need to build:

I would like to create a “Bot Watcher” running on a dedicated machine, whose sole purpose is to periodically monitor all other runners and bots to:

 

✅ Check if any bot on any monitored runner has been running for too long (e.g., 15–30 minutes) without progressing, indicating it may be stuck on a Message Box or similar interactive action.

✅ Send automatic alerts (email) if the execution exceeds the defined threshold.

✅ (Ideally) Capture which action or step the bot was on before getting stuck to improve troubleshooting and process refinement.

 

👀 Questions for the community:

💡 I’m open to solutions using a scheduled watcher bot or external monitoring integrations.

 

Thanks in advance to anyone who shares their experience to help improve bot stability for these blocking scenarios!

@Andrea.C1 :

Here is my though for monitoring the bots:

Option 1:

Keep log messages in the bot (either centralized or decentralized) . Monitor bot will check the logs  if there is no further entry after your time ( set end message in the log after end of the bot - so it can validate, if end message no need to calculate the time diff)

(OR)

Option 2: (Simplest one 😊)

when there is activity or bot running it will log into below table, so you can directly check the value  of user or device then validate current time vs updated_on, if threshold exceeds send an alert

 

SELECT * FROM DEVICE_RUNAS_USER_USAGE 
 

 

Hope this solution helps you to set up monitor your bots 

BTW, you do not really need any bot to run for monitoring rather than setup DB trigger or stored procedure to send an alert using db 

 

 


Hello,

 

You can set a Runtime Timeout for a BOT. Allowing the Control Room to terminate the BOT after X minutes.   This setting is available in Advance Settings in a Task Bot in AA360.

 

Let me know if this can help you.

Thanks,


We assign a dedicated folder in the file system for each bot to store its configuration files, logs, and other data. You could have each bot create an empty RUNNING.txt file in its respective directory when it starts running. Once the bot finishes its task, it should delete this file. A monitoring bot can then periodically check the timestamp of each RUNNING.txt file and trigger an alert if the file still exists within a specified time threshold.
 


@Andrea.C1 :

Here is my though for monitoring the bots:

Option 1:

Keep log messages in the bot (either centralized or decentralized) . Monitor bot will check the logs  if there is no further entry after your time ( set end message in the log after end of the bot - so it can validate, if end message no need to calculate the time diff)

(OR)

Option 2: (Simplest one 😊)

when there is activity or bot running it will log into below table, so you can directly check the value  of user or device then validate current time vs updated_on, if threshold exceeds send an alert

 

SELECT * FROM DEVICE_RUNAS_USER_USAGE 
 

 

Hope this solution helps you to set up monitor your bots 

BTW, you do not really need any bot to run for monitoring rather than setup DB trigger or stored procedure to send an alert using db 

 

 

Can I have evidence of the single action (e.g. messagebox) where it is blocked?


Using a bot to find other stuck bots is counter intuitive. Who will monitor the monitoring bot?

Use AA APIs to get detailed information about in progress task and calculate based on your requirements , what is considered stuck. Use  a system outside AA to monitor AA.

 

If you are on enterprise edition, enforce code analysis policy which will prevent such code to be checked in, which can block execution.


@Andrea.C1 

Can I have evidence of the single action (e.g. messagebox) where it is blocked?

 

here is the api to get current command in execution :
https://URL/swagger/ui/?url=/swagger/api/v3/bot-execution-orchestrator-api-supported.yaml#/

 

 


Reply