Hi ,
I am working on a SailPoint Identity Security Cloud workflow to update outsourced employee data through an External Trigger.
The external system sends a payload containing multiple attributes that need to be updated. Based on the payload, the workflow loops through the update items and sends PATCH requests.
Current design:
-
External Trigger receives the update payload.
-
Workflow gets the identity/account details.
-
The outsourced employee may have accounts on two different sources.
-
Inside the Loop, I check the attribute/type and send a PATCH request to the relevant source/account.
-
Some updates go to one source, and other updates go to another source.
-
The issue is that I may send multiple PATCH requests to the same account during the same workflow execution.
The problem I am facing is that when multiple PATCH requests are executed against the same account, I sometimes see conflicts or unexpected behavior. I understand that the Loop operator executes items in parallel and does not guarantee order, so multiple updates to the same account may happen at the same time.
In my case, I cannot simply use one static PATCH body because the attributes have different target paths depending on the source and attribute type.
For example, the external payload may contain updates like:
[
{
"attribute": "manager",
"value": "managerIdentityId"
},
{
"attribute": "approvalManager",
"value": "approvalManagerIdentityId"
},
{
"attribute": "endDate",
"value": "2026-06-30"
}
]
But each attribute may need to be patched using a different path or sent to a different source/account.
My questions are:
-
What is the recommended workflow design when I need to update multiple attributes on the same account but each attribute may have a different PATCH path?
-
If yes, what is the best way in ISC Workflows to dynamically build a JSON Patch array from the incoming payload?
-
Is there any supported way to force Loop iterations to run sequentially instead of in parallel?
-
For a user who has two source accounts, what is the best practice to group updates by source/account and then send one PATCH request per account?
