You could use some form of matrix to confirm if a bot has sent it already or not.
I.e. An execl file with the 3 times in a column then the robot checks the file and puts it name against if its its empty, then when the next bot reads the sheet it already has a name against it so won’t send it.
Or you could use another queue and only 1 queue item is added for each three times.( queue item to be available at the set times using defer etc. ) Then when the queue item becomes available, in your process robot will retrieve the queue item and a decision can be added to say if it picks up the queue item it sends the email otherwise do nothing then only one will send it.