application-wide custom dynamic badge

We have a select list of customers who are Fields Medalists, Nobel Prize winners etc. as well as some long time customers who get a VIP status. 

We track these people in a custom module where we have Name, Email Addresses (which may or may not be related to Contacts/Leads etc), VIP level and a VIP Description with "special handling" instructions.

I have APIs to get VIP Level (1,2,3) and VIP Description based on first/last name and/or email address.

I would like to achieve the following (but will listen to alternatives):

  • Every detail and list view (regardless of module: e.g. Contacts, Leads, Opportunities, Cases, Quotes etc...) that has an email address (primary or otherwise) or name that matches one in our VIP module related to it, should have a "VIP Badge" next to the record's name to indicate the level of VIP
  • Hovering over the "VIP badge" shows a popup with the VIP Description returned by the API calls.
  • Regular users do not have access to the VIP Module, the APIs make sure they only see the two fields they have access to: Level and Description.

Note that the VIP Module does not directly relate to records in Contacts, Leads etc.. hence the API lookups.

I looked at the cookbook for highlight field but it doesn't quite fit my needs...

I considered a Dashlet but we don't want users to be able to ignore it (like closing the side pane)

I am thinking a modification to the "name" field type that would check fields and relationships in the module and call the APIs to find any matching records in the VIP Module, and add a conditional dynamic badge to the .hbs ...but I'm worried I am going to end up putting a ton of overhead on every possible view that way...

Any thoughts on the best way to tackle something like this?

Brainstorms welcome Grinning

Thanks,

FrancescaS

Parents Reply Children