Background: We are a global company with multiple departments (Sales, IT, Marketing, Business Operations, etc.), all of which have a need to submit (launch a workflow) a review request for one unique Record Type at any given time (SOWs, MSAs, Amendments, License Agreements, Event Agreement, etc.). Within our Ironclad (IC) instance we have multiple Workflows, each of which can be launched by one or more IC Groups (Sales, IT, Marketing, Finance, etc.). We have approximately sixty (60) IC licensed Users.
Use Case: When an IC User launches a Workflow, they are asked "What is your Department Name?" and what is the "Record Type?" These questions are presented to the User in the form of a drop-down list. There are eleven (11) Record Types and twelve (12) Department Names to select from. There is a need for us to be able to allow View access for only those Record Types submitted by the corresponding Department Name. We want the IT department to view only those SOWs where Department Name = IT. The HR department should only be able to view SOWs where Department Name = HR. This logic needs to hold true for all 12 Department Names across all 11 Record Types.
The Challenge: IC Premier Support has been helpful in trying to solve for this Use Case by having me implement the following Conditional Logic (in a Workflow) using, as an example, SOW as the Record Type and Department Name as Sales:
Condition Name: If Dept = Sales & Record Type = SOW
IF Department is exactly Sales
and
Record Type is exactly SOW
Once the Condition is set up within the applicable Workflow, I then go into Settings, on the Create tab, and set up a "Workflow and Record Access" condition. E.g.
When - "If Dept = Sales & Record Type = SOW"
Grant access to - "Sales Team"
Workflow - "Workflow access"
Record - "View access"
While this solution does work for my Use Case, the amount of technical debt we would have to develop, manage, and maintain is not a viable solution. Because we have eleven (11) Record Types and twelve (12) Department Names, we would have to create 132 Conditions, along with an additional 132 Workflow and Record Access statements, within a single Workflow (264 statements per Workflow). To further exasperate the challenge, we have six (6) Workflows that this logic would need to be coded which would equate to over 1,500 required conditional statements. As such, this solution would take too much manpower and cost to maintain.
Conclusion: I see from a past IC Community post this challenge as come up before (Jan 2022) and although there was a suggested work-around (E.g. set up multiple Record Types for each specific Department: SOW-Sales, SOW-HR, SOW-IT....), that in-and-of-itself works but it too is can be seen as an inefficient method to solving what should be a simple challenge.
If anyone has found a way to solve for this Use Case (in an efficient way) I would really like to understand the approach you took. In the mean-time, hoping the Ironclad Product Team will solve this by allowing customers the functionality of being able to secure each Record Type in the Repository by a User Defined data element (Department Name or other....), using a simple "access and control" procedure either in a Workflow configuration or better yet, Group Permissions (Sales Groups see all Sales contract, IT Group sees all IT contracts, HR Group sees all HR contracts).
Many thanks!
James