Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Workflow Query: New Account Task To be Approved By First Approver

Sivagami
Valued Contributor
Valued Contributor

Hi Team,

I have an application where based on the entitlement requested, levels of approval will be decided. Let's say I use customproperty1 of the entitlement to define the approval flow.

For Example, CP1 values of entitlement can be one of the below.

Team1ApprovalOnly

Team2andTeam1Approval

Team3andTeam1Approval

Workflow Sample Snippet Below (Parallel Workflow due to entitlement conditions in if-else)

Sivagami_1-1658826429107.png

When a person logs a New Account Request with the entitlements whose customproperty1 is either Team2andTeam1Approval and Team3andTeam1Approval, the new account is waiting for Team1 approval whereas the entitlement request is waiting for either Team2 / Team3 based on the entitlement requested. I would want the New account to wait for Team2 / Team3 approval instead of Team1 and the request should go to Team1 approval only after Team2 / Team3 approval is done. How to achieve it?

-Siva

8 REPLIES 8

rushikeshvartak
All-Star
All-Star

Instead of eq use contains 

If cp1 contains Team1 then team 1 approval 

Else - if cp1 contains team 1only the  auto approve. 

Else if cp1 contains team 2 - team 2 approval

Else if cp1 contains team 3 then team 3 approbal

Else approved

 

Else if is if else block attached to if else block


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Sivagami
Valued Contributor
Valued Contributor

I can't let Team1 be the first level of approvers for entitlements whose CP1 is Team2andTeam1Approval / Team3andTeam1Approval. Also, no matter if we use eq / contains, if else query contains entitlement objects, new account-specific request will traverse through the else block.

Eg: User requested for New Account with entitlement whose CP1=Team2andTeam1Approval

The if else condition that checks entitlement.customproperty1 eq Team2andTeam1Approval will become true for entitlement request but the account request will follow the if-else rejection condition. 

use entitlement! =null

To segregate the account and entitlement flows in the same workflow, use an if else condition like :
entitlement!=null

((ars_requests.requesttype == 3) and (entitlement == null)) 

Language : groovy

Block if-else


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Sivagami
Valued Contributor
Valued Contributor

Thanks, Rushikesh! I don't want to segregate the account and entitlement flow. My first level of approval is based on the entitlements requested. I want the first-level approver to approve both account and entitlement.

What if we keep account as auto approve & attach entitlementsonly in securitysystem. 

If full request is approved then account will be created else not


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Rest connector is used for the application. With entitlementsOnly option, only Add access task will get created. Just with Add access tasks, create account block would not be hit which is a problem. 

If it's a DB connector, I would have used entitlementsonly as just with Add Access task, DB connector would hit createAccount block if the account doesn't exist.

sahajranajee
Saviynt Employee
Saviynt Employee

Hi @Sivagami 

We cannot have the account flow similar to entitlement flow unless we have the same conditions. Since we are filtering on entitlements, the accounts would always go in the false condition flow.

Also i am curious, if there are multiple entitlements requested then which flow is the account supposed to take provided both the entitlements have different CP values?



Regards,
Sahaj Ranajee
Sr. Product Specialist

User can have only one entitlement in the application, so we won't come across a situation where multiple entitlements of different types to be requested at the same time.