Trigger single-run process from concurrent robots

I have a project which runs three consecutive automations in the model: Load queue > Process queue > Report Queue. The first automation runs on a single robot. When it finishes it triggers the second job (process queue) to run. This can be run on multiple robots concurrently depending on workload. When the process queue is finished it should trigger the reporting automation which should also only be run once on a single robot.

The problem I anticipate (I haven’t completed Dev yet) is that in a situation where multiple robots run the process queue, when each robot reaches the end of the work queue, it will trigger the report queue. That means that if 3 robots are running, the report function will be triggered 3 times.

There is also the possibility that if the first robot to finish triggers the report queue, that reporting will begin before all robots have completed all queue items.

Is there a way around these two issues?

I should mention that all 3 automations need to run one after the other, and the whole process is triggered ad-hoc, so scheduling is not an option.