How to handle loop in workflow?

Hi All,

I have a scenario to run more than 100 iteration on the loop how to achieve this??

Scenario:

  1. I have an entitlement over 900 for the single user
  2. I need to filter the access based on the source name before sending to the loop
  3. Can innerhit allow more than 100 in search query API?

I want to include other access after the 100th one.Any idea would be helpful??

3 Likes

The workflow have the limitation of the maximum allowed size for a workflow definition is 400KB. The maximum allowed size for a workflow definition plus its input is 1.5MB

Also the loop has its own limitation,
The array you select can contain no more than 100 items. If an item in this list is larger than 512KB, that item will fail when the loop is executed.

So you may use Search API and limit the results to execute in the loop. If your use case is to remove the entitlements use cert campaign and campaign filter to get all the entitlements from a specific source and avoid the loop. The information is here

Yeah we can create certification but its an manual process the customer need the full automation so we decided to go with Workflow. If any idea you have to solve this pls provide here.

Thanks.

3 Likes

You can configure the trigger to automate the workflow. The certs can be auto created for each trigger by using HTTP request action. For example,

  1. Trigger: Identity Attributes Changed
  2. Action: Get Identity
  3. Action: HTTP Request - to create a cert campaign along with campaign filter
  4. Action: HTTP Request - to activate a cert campaign
  5. Action: HTTP Request - to update the campaign deadline
  6. Action: HTTP Request - to auto complete the cert campaign

The only task which you need to create one time is campaign filter where you create a Exclusion filter and add the sources/entitlements to be excluded, otherwise it will consider all the sources in the cert campaign.

Hi Shantha, we have been there some time ago. What we did to “fix” this, is to have several chained Loop blocks. On each Loop, inputs were filtered with JSONPath, to ready array elements from 0 to 99, from 100 to 199, and so on.

As you are expecting about 900 entitlements, you should have to have about 10 Loops chained (900 plus a little more, if some user has more). Worked for us.

@jsosa Yes we have given this approach to the customer but what i am seeing is does this will affect the background tasks to take more time than usual, since if its any it will take some time to submit the removal process of entitlements right.

3 Likes

Did you look at this?

No need to re-engineer the wheel if it’s rolling well enough.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.