Perform action when new user verifies email link I am looking to catch the event when new user updates password after clicking on link in the email, right after one time login.  

I actually want to perform an action right after user sets password after validating/clicking on one time login link in welcome email.  

I have gone through this: Is there a hook after user confirmation?  

However, it does not solve my problem as explained below:  

I used this condition to check if user is just created:  

if ($account-&gt;uid // user is not new &amp;&amp; $account-&gt;status === "0" &amp;&amp; $edit['status']==1)  


The issue with this is it holds usable for me in case if admin approves pending creation. In my case I don't want admin to approve, i want drupal to send email to user for confirmation. According to my workout, when admin approves, then above condition works, because status is changed from 0 to 1 so i can do some work at this change. But without admin, when user creates account, it is automatically activtaed, so I can't grab with this condition to perform my work at this event.
I also updated the link your posted to.

If you're using the LoginToboggan module for e-mail validation and you don't wish to use the rules module you can simply mimic the module's validation response (exploiting a temporary logintoboggan_email_validated = TRUE account property that's pushed to hook_user_update) yourself in code:

 /**
 * Implement hook_user_update()
 *
 */
function yourcustommodule_user_update(&amp;$edit, $account) {
  if (!empty($account-&gt;logintoboggan_email_validated) &amp;&amp; !isset($account-&gt;your_custom_action)) {
        $account-&gt;your_custom_action = TRUE;

        // Do what you want here

  }
}


Since core and other modules will also invoke hook_user_update you'd want to implement something to avoid repeated actions. In this example I set another property on the $account once the action is initiated but you can impose finer control if necessary.