Create a UDT with parameters. Preset the alarm instance with the common attributes. For those attributes that are unique to each tag, use the defined parameters with {} substitution. As an example, I have a valve UDT with the normal 4 alarms (open, close, both, neither feedbacks). The parameter is the valve ID string. The alarm is “{ID} Open Alarm”.
Then, create your tag instances of type UDT and simply change the parameter for each instance.
Definitely a UDT makes sense here.
I set my alarms up differently though. I set the:
Name: the alarm name, no context. Eg Failed to Start
Label: the equipment name and equip id. Eg Acid Dosing Pump [CRWDP001]
Display path: the plant area. Eg Crushers West
This way you can provide as much or as little context as you need in different places.
Eg
Equipment faceplates: Name only
Plant area alarm view: Label and Name only
Site alarm view: All three
Note also, you can change the texts 'Label' and 'Disaply Path' with the translation manager to something more appropriate like Device and Area