You are trying to update multiple SharePoint user profile properties, but each API call only supports one property at a time. So your current flow sends many HTTP requests, which is not efficient.
1. There is no SharePoint API to update multiple properties in one request
2. /SetSingleValueProfileProperty only supports one property per call
3. Best option is to use a loop with one HTTP action inside
4. First create an array variable in your flow with property names and values
[
{
"propertyName": "SPS-ParkingLot",
"propertyValue": "P1"
},
{
"propertyName": "SPS-Birthday",
"propertyValue": "23 januari"
}
]
5. Use "Apply to each" on that array
6. Inside the loop, add HTTP request to SharePoint
7. Method is POST
8. URI is
_api/SP.UserProfiles.PeopleManager/SetSingleValueProfileProperty
9. Headers are
accept: application/json;odata=verbose
content-type: application/json;odata=verbose
10. Body is
{
"accountName": "i:0#.f|membership|user@domain.com",
"propertyName": "@{items('Apply_to_each')?['propertyName']}",
"propertyValue": "@{items('Apply_to_each')?['propertyValue']}"
}
11. This will send one HTTP call per property, but the flow is cleaner and reusable
12. This method still makes multiple API calls, but you don’t need to repeat actions manually