How to Iterate Over Items and Create a New List (or How to Use the List – Map Card)
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 take data list, modify each record in a list, and continue to use the new list in the flow?
You have a list of users and need a new list where each user is listed as lastname.firstname. Perhaps you need this name format to create an account in another system.
To start, this is the main flow:
- The first card, Okta – List Group Members, gets all members (users) from the specified group
- The List – Map card, calls a helper flow to process the user list. The entire record (User) is passed to the helper flow. And, it returns a list (new list) that you can use in the rest of the flow
- This is different from the For Each action that also processes a list, but doesn’t return a list back)
- In this example, the Flow Control – Assign card is used to display the returned list. It is used to show that you have a list that you can use in the rest of the flow
This is the helper flow:
- In the first Helper Flow card, the input is the current record (User)
- The Get Multiple card retrieves the First Name and the Last Name of the current user. You can also retrieve other fields
- The Text Concatenate card, concatenates the First Name, a period (.) and the Last Name
- The Flow Control – Return card, receives a new name in the lastname.firstname format and adds it to the new list. Once all the items were processed, the List – Map card (main flow) returns a new list. This new list is now available in the main flow
This screenshot shows one run of the helper flow where it returns one name in the lastname.firstname format:
This screenshot shows the main flow execution:
The new list (from Assign card):
If you are familiar with the List – For Each card, it processes list item but doesn’t return a value back to the main flow. The List – Map card, processes a list of items and returns a new list to the main flow.
Published on Java Code Geeks with permission by Max Katz , partner at our JCG program. See the original article here: How to Iterate Over Items and Create a New List (or How to Use the List – Map Card) Opinions expressed by Java Code Geeks contributors are their own. |