I need help creating a process model to evaluate and batch update the status of a large group of users (30,000+ records) based on detailed criteria. The workflow logic is as follows, with any identifying info removed:
If either of the following conditions is true:
Then: No further action is needed for this record — it can be skipped.
If all the following conditions are true:
Then: Update a related field or status to "Unused."
The goal is to create a process model that evaluates these conditions for each record and performs the appropriate updates. Any guidance on how to structure this process model or handle complex filtering conditions efficiently would be greatly appreciated!
Initially, I thought of creating an expression rule that performs the necessary filtering using a query with nested logical expressions. However, given the size of the dataset (30,000+ records), I am concerned this approach may be inefficient. I'm wondering if there is a more effective or scalable way to handle the filtering and integrate it into the process model.
Discussion posts and replies are publicly visible
I would suggest creating a process model which will retrieve the Records in batches and loop until its done.
As a rule of thumb, batche sizes of 1000 records are a good starting point. Simply query the data using your criteria using startIndex and batchSize (query needs to be ordered by primary key).
You can derive the startIndex from the batchNumber (which will be incremented every time you loop) as follows:
1 + (batchNumber - 1) * batchSize