I have an integration between our contacts records and another system based off the primary email address of our contacts. Without going into too much detail, essentially we want users of Sugar to be able to change the primary email address, but only when requested to do so by the customer - not randomly or accidentally. While training will explain this, I worry that it's just too easy to press the star next to the alternative email address - it's quite easy to make a mistake.
I've been wondering what the best UX/UI would be to make it more difficult and more obvious what you're doing. So far:
- Notifications to the user after they've changed a primary email address (by then it's sometimes too late and they've forgotten what they've done)
- A confirmation box before save asking them if they really want to change the primary email address (my experience with this is that oftentimes users will not want to make the change but will press 'ok' when they mean to click 'cancel')
- Disabling clicking the star to change primary email address (either using css or by overriding the email field). Users can still change the email address, but they'll have to copy the email address from one field to another, which is a very deliberate action (hacky?)
- Making the primary email field read only, and creating a separate interface with a separate endpoint to change the primary email field so that again we know it's deliberate? (overkill?)
I'm not sure what's the best approach - or perhaps one I haven't thought of. What would you recommend?