There are a few ways how to do it. A few suggestions:
Instead of “Halt on condition”, you can use conditionally derived tables to create IF/ELSE branching.
One branch (when the condition is fulfilled) would send the current file by email to the owner.
The other branch (when the condition is not fulfilled) would continue transformations and return the result to the iteration project.
The downside if this scenario is that the iterating project doesn’t “know” if there were any errors.
Switch the “Iterate” action in the iteration project to the “Collect errors and continue” mode (see below):
In this mode, for every file that is failed by the “Halt” action, the error message from the “Halt” action will be shown in a separate column in the output of “Iterate”.
Therefore, it will be possible to filter only the files that failed, and for them run another iteration that would send the files to their owners. Also the iteration project would “know” if anything went wrong.
If you’re using EasyMorph Server, you can ask the file owners to upload files by dropping them into the Server’s web folder (basically drag into the web-browser) and then trigger a pre-validation task (click a button on another web-page of the Server). The pre-validation task would check the data quality and either send the file back to the owner (or show an error message), or move it to the folder with “good” files for further processing.