I have a Entra ID enterprise application created and configured for SSO and automated user provisioning to our Salesforce production org.
I am creating an expression to map the Job Title of a user in Entra ID to a Permission Set Group in Salesforce for automated user provisioning but I'm hitting a very strange issue.
My expression is 3,639 characters long so won't be affected by the 10,000 character limit.
The expression is as follows:
IIF([jobTitle]="Head of Commercial", "HeadofCommercial", IIF([jobTitle]="Head of Digital Marketing", "HeadofCommercial", IIF([jobTitle]="Head of Partnerships & Events", "HeadofCommercial", IIF([jobTitle]="Digital Product Manager", "HeadofCommercial", IIF([jobTitle]="Partnership Manager", "HeadofCommercial", IIF([jobTitle]= "Digital Marketing Manager", "HeadofCommercial", IIF([jobTitle]="Inbound Marketing Manager", "HeadofCommercial", IIF([jobTitle]="Chief Financial Officer", "ChiefFinancialOfficer", IIF([jobTitle]="Financial Controller", "ChiefFinancialOfficer", IIF([jobTitle]="Financial Transaction Manager", "ChiefFinancialOfficer", IIF([jobTitle]="Head of Commercial Finance", "ChiefFinancialOfficer", IIF([jobTitle]="Senior Finance Assistant - Sales Ledger & Cashbook", "ChiefFinancialOfficer", IIF([jobTitle]="Senior Finance Assistant", "ChiefFinancialOfficer", IIF([jobTitle]="Finance Assistant", "ChiefFinancialOfficer", IIF([jobTitle]="Assistant Management Accountant", "ChiefFinancialOfficer", IIF([jobTitle]="Commercial Financial Analyst", "ChiefFinancialOfficer", IIF([jobTitle]="Director of English Regions", "DirectorofEnglishRegions", IIF([jobTitle]="Field Operations and Training Manager", "DirectorofEnglishRegions", IIF([jobTitle]="Project Co-Ordinator", "DirectorofEnglishRegions", IIF([jobTitle]="Regional Development Manager", "DirectorofEnglishRegions", IIF([jobTitle]="Development Manager", "DirectorofEnglishRegions", IIF([jobTitle]="Operational Support Co-Ordinator", "DirectorofEnglishRegions", IIF([jobTitle]="Deputy Head of English Regions", "DirectorofEnglishRegions", IIF([jobTitle]="Operational Support Co-Ordinator - Midlands", "DirectorofEnglishRegions", IIF([jobTitle]="Operational Support Co-Ordinator - South East", "DirectorofEnglishRegions", IIF([jobTitle]="Operational Support Co-Ordinator - South (English Regions)", "DirectorofEnglishRegions", IIF([jobTitle]="Senior External Affairs Manager (London)", "DirectorofEnglishRegions", IIF([jobTitle]="Operational Support Co-Ordinator - South (London)", "DirectorofEnglishRegions", IIF([jobTitle]="Director of Sales", "SalesSupportManager", IIF([jobTitle]="Divisional Sales Manager (North)", "SalesSupportManager", IIF([jobTitle]="Divisional Sales Manager (South)", "SalesSupportManager", IIF([jobTitle]="Sales Support Manager", "SalesSupportManager", IIF([jobTitle]="Regional Sales Manager", "SalesSupportManager", IIF([jobTitle]="Director of Membership", "ContactCentreTeamManager", IIF([jobTitle]="Contact Centre Manager", "ContactCentreTeamManager", IIF([jobTitle]="Contact Centre Team Manager", "ContactCentreTeamManager", IIF([jobTitle]="Operations Administrator", "ContactCentreTeamManager", IIF([jobTitle]="Quality and Development Manager", "ContactCentreTeamManager", IIF([jobTitle]="Contact Centre Quality Analyst", "ContactCentreTeamManager", IIF([jobTitle]="Customer Services Team Manager", "ContactCentreTeamManager", IIF([jobTitle]="Customer Services Advisor", "ContactCentreTeamManager", IIF([jobTitle]="Sales & Retention Team Manager", "ContactCentreTeamManager", IIF([jobTitle]="Sales & Retention Advisor", "ContactCentreTeamManager", IIF([jobTitle]="Data Insight Manager", "ContactCentreTeamManager", IIF([jobTitle]="Campaign Selections Analyst", "ContactCentreTeamManager", IIF([jobTitle]="Data Insight Administrator", "ContactCentreTeamManager", IIF([jobTitle]="Director of Devolved Nations", "DirectorofEnglishRegions", IIF([jobTitle]="Senior Development Manager (Wales)", "DirectorofEnglishRegions", IIF([jobTitle]="Development Manager (Wales)", "DirectorofEnglishRegions", "")))))))))))))))))))))))))))))))))))))))))))))))))
Adding this to the Expression displays "The expression you entered is not valid."
Adding a smaller set of expressions makes it a valid expression.
Example:
IIF([jobTitle]="Head of Commercial", "HeadofCommercial", IIF([jobTitle]="Head of Digital Marketing", "HeadofCommercial", IIF([jobTitle]="Head of Partnerships & Events", "HeadofCommercial", IIF([jobTitle]="Digital Product Manager", "HeadofCommercial", IIF([jobTitle]="Partnership Manager", "HeadofCommercial", IIF([jobTitle]= "Digital Marketing Manager", "HeadofCommercial", IIF([jobTitle]="Inbound Marketing Manager", "HeadofCommercial", IIF([jobTitle]="Chief Financial Officer", "ChiefFinancialOfficer", IIF([jobTitle]="Financial Controller", "ChiefFinancialOfficer", IIF([jobTitle]="Financial Transaction Manager", "ChiefFinancialOfficer", IIF([jobTitle]="Head of Commercial Finance", "ChiefFinancialOfficer", IIF([jobTitle]="Senior Finance Assistant - Sales Ledger & Cashbook", "ChiefFinancialOfficer", IIF([jobTitle]="Senior Finance Assistant", "ChiefFinancialOfficer", IIF([jobTitle]="Finance Assistant", "ChiefFinancialOfficer", IIF([jobTitle]="Assistant Management Accountant", "ChiefFinancialOfficer", IIF([jobTitle]="Commercial Financial Analyst", "ChiefFinancialOfficer", IIF([jobTitle]="Director of English Regions", "DirectorofEnglishRegions", IIF([jobTitle]="Project Co-Ordinator", "DirectorofEnglishRegions", IIF([jobTitle]="Regional Development Manager", "DirectorofEnglishRegions", IIF([jobTitle]="Development Manager", "DirectorofEnglishRegions", IIF([jobTitle]="Operational Support Co-Ordinator", "DirectorofEnglishRegions", IIF([jobTitle]="Deputy Head of English Regions", "DirectorofEnglishRegions", IIF([jobTitle]="Operational Support Co-Ordinator - Midlands", "DirectorofEnglishRegions", IIF([jobTitle]="Operational Support Co-Ordinator - South East", "DirectorofEnglishRegions", IIF([jobTitle]="Operational Support Co-Ordinator - South (English Regions)", "DirectorofEnglishRegions", IIF([jobTitle]="Senior External Affairs Manager (London)", "DirectorofEnglishRegions", IIF([jobTitle]="Operational Support Co-Ordinator - South (London)", "DirectorofEnglishRegions", IIF([jobTitle]="Director of Sales", "SalesSupportManager", IIF([jobTitle]="Divisional Sales Manager (North)", "SalesSupportManager", IIF([jobTitle]="Divisional Sales Manager (South)", "SalesSupportManager", IIF([jobTitle]="Sales Support Manager", "SalesSupportManager", IIF([jobTitle]="Regional Sales Manager", "SalesSupportManager", ""))))))))))))))))))))))))))))))))
If I add one more Job Title to Permission Set Group mapping to the expression it returns a "The expression you entered is not valid." error.
Is there a limit to the amount of IIF arguments you can use in an expression?
Is there a more efficient way to build this expression?