Recursive Workflows in IdentityNow

Hi Colin,

Is there a workaround or other alternative we could use aside from Recursive Workflow if we need to have the context defined inside the loop? Thank you!

I have yet to find a way to provide context in recursive workflows.

1 Like

We need to have a workflow that loops over objects in ISC. It does not matter if it occurs recursively or in parallel.

ISC uses offset and limit in their list APIs (at least most of the time, this convention is not always used), which is great and shouldn’t be changed.
However, SailPoint workflows is quite limited. One limitation is that it can’t work with pagination.

Our workflow should be an external trigger and as input it should get an offset, initially 0. What we then want to do boils down to this pseudocode:

def my_workflow(int offset)
   results = get_objects_through_HTTP_operation(url='/v2024/something', limit=50, offset=offset)
   if results.size == 0
      return
   else
      new_offset = offset + 50
      my_workflow(new_offset)
      foreach result in results
         do_something(result)
      end
   end
end  

Since SailPoint ISC does not offer this easy simple type of coding, we would as workaround need to create a very complex and long to build workflow to achieve something similar. However, it looks like the workflow functionality of SailPoint is not able to count. We can’t define a variable new_offset as the previous offset+50, nor can we perform some kind of increment action 50 times.

Note that the SailPoint workflow is not compatible with the default limit of SailPoint objects, as the former can only support of to 50 records while the latter has a default of 250 objects. This is why I specifically downgraded the limit to 50.

As workaround on top of this workaround we might need to use the HTTP operation to call a server that is actually able to add 50 to a given number? I don’t think SailPoint customers should have to rely on third party software to perform addition or any other very basic calculations.

Kind regards,
Angelo