Batch Hydrator pipelines support adding an email custom action that runs at the end of the workflow. Actions should be implemented as plugins.
In addition, they should probably not be implemented as custom actions, but should run in the onFinish() method of the mapreduce/spark job. The reason is that many of these actions should occur when the mapreduce fails. A very common use case is to send an email when the pipeline errors for some reason. If they are workflow custom actions, they will only be run if the mapreduce finishes successfully.