If i understand correct you have a main process that starts 400 other processes. and you want to send a mail when al those processes are done.
Since you don't know howmany processes the main process will start in design time, i would recommend you build in a wait.
1- You can have this wait wait a given amount of time after which you can check if all processes are done. If not wait another nr of seconds/minutes and try again. when successfull: send the mail.

2 - you can have the wait respond to a record creation or update. How you build this in your application is up to you, but i am sure you will find a way. If not, let me know.
Good luck!