Okta Workflows how-to guides are questions and answers from weekly community office hours, MacAdmins Workflows Slack channel, and other places. Read all other how-to guides.
On to the question.
How to iterate over rows in a table?
To iterate over rows in a table you need
- Find the rows (usually done with search)
- Pass each row to a helper flow to process
Let’s look at an example using a table with all the countries in the world:
In the main flow, to find the rows use the Tables – Search Rows card (max. 3,500 rows will be returned). To return all the rows don’t enter a search expression. Then pass the rows to a List – For Each card where a helper flow will process each record at a time.
This is the main flow:
In the List – For Each card, set the helper flow (Helper Flow input).
Then set the value to pass to the helper flow (Country row input).
In this flow, you are passing the entire row or object (named item) to the helper flow.
You can also pass a particular property from the object (row). To learn how to do that read How to Setup a Workflows Helper Flow (With For-Each and Streaming Cards).
This is the helper flow:
A flow becomes a helper flow when the first card is On Demand – Helper Flow. This card has one input Country row. Its type is an object because you are passing the entire object (row) to this flow.
You can use the Object – Get Multiple card to read values from the object (row) passed to this flow. In this example, you are reading the Country and its Code.
Learn more about how to use Object – Get Multiple card: How to Read a JSON Path With Dot-Notation in Workflows.
Result running the flow (helper flow shown):
The helper flow will run 248 times for each country in the table. It will get the country and country code.
Here is a video of this works.
More resources to help you learn:
📺 Short how-to Workflows videos to help you become a better automation builder.
🍿 A collection of helpful Workflows tips.
Leave a Reply