I am working on automating the removal of a specific Access Profile from a Role using a SailPoint ISC workflow.
I am able to retrieve the list of access profiles assigned to a role using the GET /v3/roles/{id} API. However, I am unable to find a way within ISC Workflow to determine the index of a specific access profile within the accessProfiles array of a role, so that I can use that index in the required PATCH request to remove it.
Is there a supported or recommended method within ISC workflows to find the index of an access profile within the accessProfiles array of a role object?
I have attempted to use the getIndex transform within a Define Variable step, but it always returns an error: “provided regex expression did not retrieve any matches”—even though the values are correctly resolved and present in the input.
Hi can you provide more details about this use case. Why are you trying to remove access profile from Role? If you want to modify the Role then you have to use Patch a specified role
A BASO submits a role request form, which is validated by the CASO.
If approved, the workflow checks if the requested Access Profile (AP) is sensitive.
If sensitive, it requires a second approval; if not, the workflow updates the role directly.
If either approver rejects, feedback is sent to the BASO.
The main challenge:
As part of this process, the BASO need to submit a request to remove a specific AP from a role via the Form.
To do this via the workflow, we need to find the index of the AP in the role’s accessProfiles array(required by the PATCH API), but there’s no clear way to get this index inside ISC workflows.