Is there any built in way to tell when the data in a custom data set was last updated? If not, what would be the best way to proceed to build that in for one specific group?

As usual, the data can be edited by the administrative user logged in to civicrm OR it could be edited via a profile. In my case I know the profiles in advance, so could rely on the profile ids. These are always 'on behalf' profiles. Not sure if that's important.

I'm thinking I could create a custom "last updated" field in the data set, and then update it through a hook, but not sure if that's the best way. Thanks for any guidance.

  • Anne, since you mentioned Profiles, do you want to track updates occurring via Profiles or do you want to track any update?
    – DaveD
    Commented Aug 25, 2015 at 20:10

2 Answers 2


This question is conceptually similar to this one: https://civicrm.stackexchange.com/a/4880/12

I think a hook is your best bet.


there are several related issues that you may have already considered, and without knowing the purpose or need I am not sure which might be of help, or which you have already considered and ruled out.

Database: if you have logging on you will have tables such as log_civicrm_value_customfieldgroup and there is a log_date field.

Multiple record fields: if you are keen to see the history of the data then this will display that data but has some limitations.

Profile: can be set to send out an email each time it is filled in. Seems an unlikely solution but does provide a record.

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.