Skip to main content
Tweeted twitter.com/#!/StackSalesforce/status/315913188132663296
added 863 characters in body
Source Link
zachelrath
  • 9.6k
  • 3
  • 41
  • 62

Is there any way to consistently execute a piece of Apex code whenever a User logs in to Salesforce? Posts such as this one seem to suggest that triggers on updates to the User object's 'LastLoginDate' field do not consistently execute.

Workflow would be okay too --- except that you cannot make workflow rules on the User object.

Is there any way to get a trigger to execute whenever a Salesforce user logs in?

Here is what I've currently done, both with the trigger saved in API v12 and API v25, with NO success. I have a Login_Events__c Long Textarea field that I'm trying to update based on some details of the User login event, but no such updates are taking place:

trigger User on User (before update) {

    if (Trigger.isBefore && Trigger.isUpdate) {
    
        for (User u : Trigger.new) {
            
            // Make sure there's at least something in the Login Events field
            if (u.login_events__c == null) u.login_events__c = '';
            
            // Add in the current login events change
            u.login_events__c +=
               '\n User Id: ' 
               + u.Id
               + ', Username: ' + u.Username 
               + ', Last Login Date: ' 
               + u.LastLoginDate 
               + ', Session Id: ' +  UserInfo.getSessionId() 
               + '\n';     
        }
    
    }

}

Is there any way to consistently execute a piece of Apex code whenever a User logs in to Salesforce? Posts such as this one seem to suggest that triggers on updates to the User object's 'LastLoginDate' field do not consistently execute.

Workflow would be okay too --- except that you cannot make workflow rules on the User object.

Is there any way to get a trigger to execute whenever a Salesforce user logs in?

Is there any way to consistently execute a piece of Apex code whenever a User logs in to Salesforce? Posts such as this one seem to suggest that triggers on updates to the User object's 'LastLoginDate' field do not consistently execute.

Workflow would be okay too --- except that you cannot make workflow rules on the User object.

Is there any way to get a trigger to execute whenever a Salesforce user logs in?

Here is what I've currently done, both with the trigger saved in API v12 and API v25, with NO success. I have a Login_Events__c Long Textarea field that I'm trying to update based on some details of the User login event, but no such updates are taking place:

trigger User on User (before update) {

    if (Trigger.isBefore && Trigger.isUpdate) {
    
        for (User u : Trigger.new) {
            
            // Make sure there's at least something in the Login Events field
            if (u.login_events__c == null) u.login_events__c = '';
            
            // Add in the current login events change
            u.login_events__c +=
               '\n User Id: ' 
               + u.Id
               + ', Username: ' + u.Username 
               + ', Last Login Date: ' 
               + u.LastLoginDate 
               + ', Session Id: ' +  UserInfo.getSessionId() 
               + '\n';     
        }
    
    }

}
Source Link
zachelrath
  • 9.6k
  • 3
  • 41
  • 62

Execute an action / run a trigger every time a User logs in to Salesforce

Is there any way to consistently execute a piece of Apex code whenever a User logs in to Salesforce? Posts such as this one seem to suggest that triggers on updates to the User object's 'LastLoginDate' field do not consistently execute.

Workflow would be okay too --- except that you cannot make workflow rules on the User object.

Is there any way to get a trigger to execute whenever a Salesforce user logs in?