I’d make it in the Level Blueprint. One bool variable will be True or False depending on whether you have the Wire Tool (if there’s an option not to have it), and probably two variables that store the latest activated Door/Keypad/etc.
E.g. you activate a door: check if the Keypad variable is valid (i.e. a Keypad was activated earlier), and if True, assign this Door to the Keypad and nullify both variables in the Level BP to be able to do it again. If the Keypad variable is not valid (i.e. a Keypad was not activated earlier), assign the Door to the Level BP variable.
The same, but in opposite direction, when you activate a Keypad.
Thus a Keypad will be assigned to a Door, the variables will be nullified, and you can do the same again with other actors.