Hi Stephan, The easiest way to achieve this is to use Orchestrator, this way you can use the queue functions, and prevent multiple robots trying to work the same ‘transaction’.
Firstly you would create a separate automation as your Load phase. The Load phase will read all of the data from the email account and load it into the queue in Orchestrator as unique transactions for all of your robots to process.
Your multiple robots will still do the same Work process, but instead of going straight into the email account, they will take their input in the form of a transaction item in Orchestrator, this transaction will give them data, such as the folder or file name which the automation needs to work on this specific case, and the robot will proceed to work that one folder.
Once a robot gets a transaction in Orchestrator, no other robots can get that item and will simply move on to the next transaction in the queue. Once the Robot completes a transaction for that file/folder, it will mark the transaction as completed (can also set for Business/Application Exceptions under those circumstances) and move onto the next transaction in the queue which is now already been/being processed.
As your Load phase is completely separate to the Work phase, you can also schedule it up to load at certain intervals or times during the day.
Apologies for the mammoth response! this is really only the tip of the iceberg in terms of what Orchestrator can do, find out more in the UiPath Knowledge pages here.