In the bpm’online CRM there is a need to set limitations in accessing the Contacts and Accounts section wherein the users can have access only for limited records. In the present scenario, bpm’online customer has a huge number of Contacts and Accounts, and their users had access to the entire records. In this post we will discuss, how to update the access rights for Accounts and Contacts section in bulk and check the same for each record with the help of a flag on table through a business process.
Access rights set up wizard for bpm’online https://marketplace.bpmonline.com/app/access-rights-setup-wizard-bpmonline is an add-on available in bpm’online marketplace to grant and change access rights for existing records.
This add-on could update only 100 contacts and accounts in one go and we could not monitor the progress of updates happening. Hence, we resolved it with a simple process mentioned below to grant or deny permissions for bpm’online records and we could update 8000 contacts and accounts in a single run.
Image for the process that we created to achieve this in Contact Section
Description of the process:
Set Access Process Flag as N: We used ‘Modify Data’ element to set the value of flag created in section. Based on the business condition, we set value of Flag as ‘False’ (N)
Calculate records where flag is N: We used ‘Read Data’ element to ‘Calculate the number of records’ on ‘Contacts’ section where ‘Access Processed Flag’ = ‘N’ . Other necessary condition to filter records could also be added based on business use case.
‘OR’ Gateway: We used ‘Exclusive Gateway (OR)’ element to branch the flow.
Conditional Flow Branch: To move down the flow, Condition was set to check if the count of records is greater than 0, then move forward.
Default flow: Default branch was used to end the process.
Read Contact: We used ‘Read Data’ element where ‘Access Processed Flag’ = ‘N’. Other necessary condition to filter records could also be added based on business use case.
Change Access Rights: For applying access, we used this condition and added the ‘Read’, ‘Edit’ and ‘Delete’ permission for user role same as the business requirement.
Modify Contact Flag: In the end, we used ‘Modify Data’ element to modify the value of ‘Access Processed Flag’ as ‘True’. This will help us to identify the record whose access is modified.
Settings of Business Process: We increased the number of iterations to achieve this in bulk, based on the number of contacts in system. This is configurable based on the business case requirement.
Pro Tip: We could monitor the process through checking the number in quantity and refreshing it when the process was running.
We added a filter on Contacts section with the field ‘Access Processed Flag’ and values as ‘Yes’ and kept on refreshing the system to see the count going up.
In the second batch, run the process (if required), we can filter records where ‘Access Processed Flag’ = ‘N’ under set access process flag element for ‘modify records that match the condition’.
We did the same for ‘Accounts’ section using similar process as above but changed the section.
In the later requirement, to revoke ‘Delete’ permission for 2 user roles, we used similar process but changed values in ‘Change access rights’ element.
This solution helped us grant and revoke certain permissions to specific roles based on customer requirement. We could also monitor the performance while the process is running.
AgilizTech does customization for bpm’online based on the requirements of a business. You can check out our posts for more information on bpm’online customization.