Automation in Citrix

Hi @AshishP,

Just to give you an opinion from someone outside of UiPath…

No, actually it isn’t a good choice. But it’s a necessity in some cases and is doable. It will (almost) never be as reliable as having the robot on the same machine as the applications.

Main thing to remember when designing a Citrix automation is to not assume something will work - always check if a value has been found, was it in correct format etc. There’s a lot of things that could interfere, since in essence you’re reading images that could get overlapped by something unexpected at any point (or not load completely, or refresh at a weird rate etc.).

Your error types (aside of desktop disconnected) seem to come from an optimistic execution path, where things are expected to be there, but aren’t, and it’s not handled correctly.
If you have someone experienced in execution path analysis or a good software tester, even if he’s not on your RPA team, go through the code with him/her and let the doubts fly in. You might be surprised how many scenarios there might be that you didn’t think of.
This doesn’t mean you need to cover all of them - sometimes an execution should just fail. In that case remember to have compensation flows to revert the system/application to a known state where you can continue, even if it means closing everything (especially since you’re not concerned with execution time that much).

Personally I wholeheartedly hate working with Citrix, but still have to admit that UiPath software does a very good job at it. It’s still not painless, but with OCR-based automation it will never be.

Good luck in fixing your workflows and maybe you could even share some lessons learned in the future as well :slight_smile: