We are trying to create a workflow to existing access profiles on an application if someone has requested for an access profile on the same application. The reason behind this being users should only have one group at once.
I am trying to filter out the access requests from access request decision based on the name of access profile, if the request has been approved and if the type of access request is access profile. Is this scenario directly possible in filter section or should I further be using the loop + compare strings?
The best way for this would be to use Segments instead of Workflow, once a user gets an access to end-system, create a custom transform to fetch the user’s access, then under segment you can use a criteria based on the identity attribute and make the access profiles completely invisible to the user so that the user cannot request it at all.
The requirement is that the user should be able to request other groups. But should once they request for it, the previous group should be revoked automatically. So, the segments option would not work unfortunately
Then you must use a rule, probably the Services Standard Before provisioning rule, it does exactly what you want to do or if you can write a before operation rule if it’s a Web Service application.
Thank you for your response. Just to confirm, the filter you mentioned is for “Provisioning Completed” trigger?
I am trying to use something like $.requestedItemsStatus[?(@.name contains “PRISM” && @.type == “ACCESS_PROFILE”)] and also check within the filter if is approved or not
Facing difficulties with it. but trying to set up a compare strings operation to check for the approval status
@tushar9625257, it’s an Entra ID based app, worst case scenarion we shall go with a before prov rule
Since there can be multiple approvers in the approval chain for an access profile, you need the noneof to make sure that all of the approval decisions are APPROVED. If any single approval decision is not APPROVED, then the access wasn’t provisioned.