Is there a good (and simple :) way to have CiviCRM flag up when contacts may need to be handled with care (as a way of forestalling situations where we can never contact them again, ever)?

Obviously the 'No bulk emails' setting stops us from spamming people who want more of a personal touch, but I'm thinking more about situations where someone books on to an event, and they might need a more specific response than just an e-ticket, or we might want to flag up with the event coordinator that they're attending. There might be different reasons for this - e.g. they booked on to an event which was cancelled, and they missed the email about the cancellation, so we need to let them know by phone if there's any changes to events; they have specific access needs and may not be comfortable sharing this with new people; they're connected to funders and we want to impress them; and so on.

We can use tags or custom fields to record issues to be flagged but I'm not sure how to get those flags to appear in a useful way in upcoming activity lists or event participant listings. Or, indeed, how they could be displayed clearly in contact searches. Is there a way to set css classes in reports that relate to tags or custom fields?

ETA: Some of this flagged information may be confidential or sensitive and should only be seen by staff (and not the volunteers who do data entry for us) - but those contacts should not be completely hidden from volunteers.

  • I really like the idea of providing CSS classes to denote contact types / properties! Commented Apr 28, 2016 at 0:33
  • In terms of generally usability, there are a number of situations, even beyond what I'm asking about here) where having a visible marker would be useful (It's all very well saying you can filter a report by X, Y, Z attributes, but not everyone will bother to do it, and it does add an extra stage or two to every event we manage).
    – liblogger
    Commented May 2, 2016 at 15:59

4 Answers 4


One option would be to make a special contact sub-type for this purpose.

CiviCRM allows you to use a custom icon per sub-type (just pick one from the internet) which would make the contact appear special in search results, the summary screen, etc.

  • This got me wondering if users can easily change an Individual to a VIP Individual (subtype). It doesn't look like they can (checked via UI on current Demo site), but I did find this related question on how to bulk change contact types and this one which proposed an export > import method. Commented Apr 28, 2016 at 0:36
  • 1
    @ChrisBurgess To change subtypes, go to the individual's page, hit Edit, and select the sub-type(s) in the Contact Type box of the Contact Details section. Or were you meaning something different?
    – Aidan
    Commented Apr 28, 2016 at 9:55
  • Thanks @Aidan that's exactly what I meant, I just missed it when looking for it! Commented Apr 28, 2016 at 23:43
  • Thanks @Coleman - I'll have a look at this. I haven't looked at contact subtypes recently, and had been avoiding using them because it seemed impossible to change them after the fact - I guesss it's changed (or I misinterpreted it). You also seem to imply that more than one subtype can be selected - is that the case?
    – liblogger
    Commented May 2, 2016 at 15:11
  • I think my main concern with this is where creating a different contact type would be inappropriate - not sure I want to have a separate contact type for people with access requirements. I realise that if I'm then flagging the contact, where that flag is defined is relatively moot - however, there may be situations where we have volunteers entering data, so they need to access those contacts, but we don't want them to see the flagged information, which would be hard to hide if it's a different contact type.
    – liblogger
    Commented May 2, 2016 at 16:04

We've implemented something similar ("VIP Contacts") for an organisation who wanted to restrict access to VIP supporters.

This was done via ACLs, so regular volunteers weren't able to see those contacts at all. The code used to do this ended up as the Wiki example of custom ACL restrictions via hook_civicrm_aclWhereClause - that same org had need to restrict volunteers to both their own defined geographic region AND to exclude VIPs. Geographic restriction is what's shown in the wiki, but the same SQL exclusion method did both.

To keep the contact visible but denote them as needing special care, Coleman's answer sounds sensible.

  • Thanks Chris - yes, the other approach is closer to what I'm looking for, as we'll mostly need contacts to be accessible by anyone who's entering data. However, there may be scenarios where we need to hide the distinction from volunteers, so I will bear ACLs in mind.
    – liblogger
    Commented May 2, 2016 at 15:40

You mentioned the "no bulk emails" privacy preference. I thought it worth noting that a similar list - "preferred communication method" can be edited. So "Kid Gloves" could be one of them:

Privacy prefs

  • As with custom fields, wouldn't it still be hidden until you enter the contact record?
    – liblogger
    Commented May 6, 2016 at 15:25
  • Yes it would...
    – Coleman
    Commented May 7, 2016 at 15:02

You might consider a report (of event registrations or something else) that is limited to contacts with the tag "flagging" them. If you enable that report as a dashlet, staff could have that dashlet in their dashboards, highlighting people who need attention.

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.