i want to log the changes done on a single Propety value change for ex : VOIP number. i should be able to log the recent change that was done on this property in a day for all the employees.

i am able to get the changes for all teh properties using changequery, but the problem here is i want the changes for only VOIP number and that too the latest change.

please let me know if you need teh code.

2 Answers 2


Step 1: i think we can't start a workflow on sharepoint profile attributes.

based on this question that no one answer it: Approval Workflow to update User Profiles Details

but if we can

Step 2: get user-profile-info from Active Directory

How to get user profile info from AD like ManagerName and E-mail automatically in doc library item

or define a relation and add Active Directory fields into SharePoint with Useful Sharepoint Designer Custom Workflow Activities on codeplex


then we must do :

Step 3: Adding additional details to the user fields in Active Directory


and keep 1 last version only

i think if you want to track and integrate two or three systems you should try it with BizTalk Server


You cannot be that specific with the UserProfileManager.GetChanges method! You will need to query changes and then filter the results yourself and compare the updated profiles with the old ones. But it looks like you will need to keep your own record of the old VOIP numbers for each profile. SharePoint cannot tell you what the old number was. It will just tell you if a profile was added, updated or deleted.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.