Generate notification list based on linked CIs' primary user

What's the best way to handle this?

Goal:  I'd like to send milestone notifications to all of the primary users of CIs that are linked to a Change Request

Caveat: I'd prefer to send one email to all of the primary users at once as opposed to sending an email for each CI (i.e. Step Through Children) because it is possible that some of the primary users will have multiple CIs linked to the same Change and I don't want them getting multiple emails for the same Change.

Currently: I have an automation process that runs each time a CI is linked/added to a Change Request. The automation process runs a one step that gets the primary user's email address from the CI relationship and drops/appends it into a Change Request.Notification List field.  I can then send notifications to that Notification List.  

It works, but feels clunky.  

  • The Notification List field can obviously contain duplicate email addresses, although that doesn't really affect notifications
  • Since it relies on an automated process, there is a delay between linking the CI and populating the Notification List

Thanks for taking the time to read all that!