This is the quick short second part of the post related to Workflow, that I mentioned I would write at the end of that post.
Initially, we would have set up a workflow with option to send email when an item is submitted for Approval. We would have configured it to be sent to a single pre-defined email id. But in case of a Real Time Situation, with Workflow properly setup, the content management – Approval/Rejection etc would be handled by users with a specified role.
In this case, we have created a role called Content Manager that has necessary permissions for approving/rejecting content item changes. We can create users based on this role and they can approve/reject the content changes.
Creating Roles and assign them member of roles are quite simple and straight forward. You can do that via, Role Manager App under Access Management Section of Sitecore Launchpad.

Create a role Content Manager with the Privileges.

For getting info about Sitecore Users and their Roles/Profile Info we can make use of Sitecore.Security.Accounts namespace. RolesInRolesManager.GetUsersInRole return a list of users with the specified role. Based on the User List we get, we can get the email id of individual users. This E-Mail ID can be used for triggering the Email Action mentioned in the earlier part of the post.


As we are setting up roles and triggering workflow state changes based on the roles, whenever we add new users to this role, the workflow would still trigger mails to the new users added.