I have written an RT Extension which named
RT-Extension-CustomFieldNotification which does something similar.
Whenever a given custom field for a ticket is assigned a value, a Scrip
is triggered which checks the value against a configuration structure
like this
cfname1 →
cfvalue11
→ email addr111
→ email addr112
→ …
cfvalue12
→ email addr121
→ email_addr122
→ …
…
cfname2 →
cfvalue21
→ email addr211
→ email addr212
→ …
cfvalue22
→ email addr221
→ email_addr222
→ …
…
…
When the name of the changed CF matches on of the cfnames and the CF
value matches on of the corresponding cfvalues, the corresponding email
addresses will be added as CC’s to the ticket, and an email (via a
template) will be sent to inform them that they have been added to the
ticket.
The source code for this is part of a internal Git repo, but it is
implemented as a “standalone” RT Extension installable via the ordinary
perl mechanisms (perl Makefile.PL, make install etc), so in principle it
should be fairly easy to separate and reuse.
Let me know if this is of interest, and I will try to get permission to
share this source code.