I would like to create a dashlet listing contacts who do not have a certain type of activity scheduled.

I've tried a comnbination of smart groups and include/exclude search, which works but does not update in real time.

Volunteers need to see the immediate result if they make an appoitment for a client, the client needs to disappear from the list. Otherwise they will be worried that they haven't done it correctly, and it won't inspire confidence in the system.

I've looked at Views but if I create a view with Contact as the main entity, I try to add a relationship to Activities but Activities does not come up as an option.

I'm about to write a hook that tags and untags contacts when the appointments are made, completed or cancelled. Do I really have to do this? It seems there must be another way!

1 Answer 1


If the smart group approach is working other than the update latency, you could reduce the Smart Group Cache Timeout at Administer > Customize Data and Screens > Search Preferences. Beware that it is likely to increase load on the system, but that may be worthwhile in your case.

See https://docs.civicrm.org/user/en/stable/organising-your-data/smart-groups/#smart-group-caching

  • Fantastic! Thank you
    – naomi
    Nov 24, 2016 at 11:49

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.