How can you tell if someone joins a mailing list (selects from a checkbox option in custom fields)?
How can you tell when someone updates their contact preferences?
CiviCRM Stack Exchange is a question and answer site for administrators and users of the CiviCRM Constituent Relationship Management software. It only takes a minute to sign up.Sign up to join this community
You could use the extension CiviRules to do that.
You need to set up two different Rules, one for each process.
Select a trigger and condition with your requirements (group contact is added, and contact is changed, would be the triggers I think)
Dependent on your preference, you could create one of these actions: