Profile2 Registration Path module integration with LoginToboggan Non-authenticated role
LoginToboggan invokes hook_user_update() when it validates an email. It sets the property $account-&gt;logintoboggan_email_validated to TRUE so you can test it upon your own hook invocation. Inside your hook_user_update invocation, you can use the profile2 function profile2_load_by_user($user) to load the validated user object profile to determine which additional roles need to be set.