A new knowledge base article has been published on our support portal.
This scenario relates to a banking requirement about having all contact records restricted from normal users by default. However when a customer rings up to make inquires about their account the customer support representative needs to be able to gain access to the contact record. This is achieved by asking the customer on the phone some questions like their Banking Identifier & a random set of 3 digits from their banking pin code.
If the details are correct then the customer service representative will gain temporary access to the contact record as it will be shared with that system user. In terms of un-doing the share option this could be handled by having the user click a button to unshare the record so they lose access and or we could setup a North52 schedule to execute each night to query all shares on that day & undo them. In this sample we will just deal with the sharing part.
** Please note that we have tried to keep this sample as simple as possible given its complexity. It could be significantly enhanced with custom ribbon command buttons, more validation & safeguards. But we just want to demonstrate the core principals of how to solve this business requirement.
In this sample the data model is very simple we have the contact record with 2 custom fields which are used to make security checks,
- Banking Identifier (string)
- Pin Code (whole number)
N52 Formula Manager Solution
The Formula Manager solution works like this,
- A dialog is created on the User entity
- Whenever a user wants to gain access to a contact record they execute this dialog
- The dialog asks a set of questions that only the person that owns the account can answer
- In this example it is a banking identifier & 3 digits of their pin code
- We add a Process Genie formula to check in the dialog that the user has entered 3 digits of the pin code otherwise it will fail
- When the user submits the request a Process Genie formula executes with elevated privileges to check do the answers match the data on contact record
- The elevated privileges are those defined by the Manager field on the users system record
- If the entered data matches the contact record it will be shared with the user
- In addition a hyper-link will be presented to the user to quickly open the contact record
Screenshots showing a Customer Representative gaining access to the Contact record
Dialog Executed on the current user