
User15965789037095850130 (Customer) asked a question.
We are pulling from our Workday API and get about 4000 results in a single Object with numerous keys and values in each Object. We need to be able to pull two key value pairs from each result and update our Okta schema based on user data. The issue I'm running into is that the object response is a large array:
{
"Report_Entry":
[
{
"Employee_Type": "Employee",
"User": "foo",
"Field": "bar"
},
{
"User": "foo1",
"Field" : "bar"
}
]
}
I'm able to get the two fields when testing with a single object, but getting the values from multiple objects seems to be more difficult than I thought.
Any tips or ideas?

Hello @User15965789037095850130 (Customer),
Feel free to post this question on our Okta Developer Forums: https://devforum.okta.com,
and they should be able to help you with this.
Regards,
Natalia
Okta Inc.
Alex,
With Workflows, assuming the location to these "keys" is unchanging it would be as simple as leveraging the "Object - Get Multiple" and including the path to each object.
Example:
{
"TopLevelObject": {
"Object1": {
"Location": "Somewhere",
"User": "SomeUser"
},
"Object2": {
"Vendor": "MakeBelieveCorp"
}
}
}
To grab Location, User, Vendor in a Object - Get Multiple card:
TopLevelObject.Object1.Location
TopLevelObject.Object1.User
TopLevelObject.Object2.Vendor
Alex,
I was going back over the forums and realized I may have misunderstood your ask. I thought you had indicated you only wanted a few specific values out of the large object. But what I now think you are asking about is pulling limited specific values from each object.
To perform something like that you will need to pass the entire list of objects into a foreach. Then you can pull the specific values for each object on each pass. Construct the payload you want, then send the request for each user.
If it needs to be an entire "list of objects" containing all 4000 "users" with ONLY the limited subset of values this is possible just more complicated. You would need to leverage Reduce card. The reduce card iterates like foreach but each pass can have the memo returned. So essentially your flow would iterate each object in the list. Build a new object (as text), concatenate it with a "," and the memo, then pass the new memo back. Rinse/repeat and it will build a new "String" structure. You can then clean up the data to make it proper JSON structure, then using the JSON card turn it into a JSON object, finally make what ever other modifications are needed.