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: Check if App Role Owner is submitting the Request for someone and if so auto approve

yogesh
Regular Contributor III
Regular Contributor III

Use case: 
Application Role workflow with two levels of approval: User's manager then Role Owner
If role owner is submitting the request for someone, then skip BOTH levels of approvals.

Issue:
If Role owner is requesting, Saviynt skips the second level automatically but we have to use if-else block to skip the first manager approval.
I have tried many conditions to no avail, tried some conditions as-it-is from the docs but they don't work either:

entitlement.getOwnerRank1().contains(user.username) eq true    -- as it is from docs, doesn't work
role.getOwnerRank1().contains(user.username) eq true           -- as it is from docs, doesn't work
(entitlement.entowners == null) or (entitlement.entowners.size() == 0 )      -- as it is from docs, doesn't work
entitlement.allowner.contains(requestedBy.username)       -- got from forums also doesnt work
entitlement.getOwnerRank1().contains(user.username)       -- doesn't work, got this from a forum thread

 

6 REPLIES 6

Saathvik
All-Star
All-Star

Can you try this, If it's still not working can you please share the error logs?

 

entitlement.getOwnerRank1().contains(requestedby.username)

 


Regards,
Saathvik
If this reply answered your question, please Accept As Solution and give Kudos to help others facing similar issue.

rushikeshvartak
All-Star
All-Star

Share screenshot of if else block


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

yogesh
Regular Contributor III
Regular Contributor III

This is the workflow:

yogesh_1-1672993501348.png

 

As soon as I add the first if-else condition, the request process stops working and no request ID is generated (the form tells me the request was submitted but that's a lie as per the request history):

yogesh_2-1672993575072.png

Conditions that don't work:

entitlement.getOwnerRank1().contains(user.username) eq true
role.getOwnerRank1().contains(user.username) eq true
(entitlement.entowners == null) or (entitlement.entowners.size() == 0 )
entitlement.allowner.contains(requestedBy.username)
entitlement.getOwnerRank1().contains(user.username)
entitlement.getOwnerRank1().contains(requestedby.username)  

The second block just checks if the Role's cp15 is "Yes" if so auto approves the request. The workflow is working fine if I remove the first if-else block where I want to check if a role owner is submitting the request.

Did you find any error in logs? Can you share the error logs?


Regards,
Saathvik
If this reply answered your question, please Accept As Solution and give Kudos to help others facing similar issue.

What type of request are you raising ?

before block check if its account / entitlement/ role request


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

yogesh
Regular Contributor III
Regular Contributor III

This seems to be working:

role.ownerRank1.contains(requestedby.username)