Jun 28 2023 09:20 AM
Redirect of initial post on Power Automate board: Re: SharePoint Person column JSON properties chang... - Power Platform Community (microsoft.com)
On what appears to be Friday the behavior of SPO person columns has changed and now only shows the ID, Value, and @OData.type (when looking at the JSON outputs for, say, a Get Item(s) or SPO trigger).
If you want to see the other information, the SPO column must now be configured to show secondary columns:
This has caused a slew of problems that I'm sorting through, but what I want to learn from this post is what does that "Id" property reference? Where is the lookup to?
The Get User Profile v2 connector for Office does not run off the CC People "Id", just the UPN; same for AAD. When I check the SharePoint members I don't see an Id associated in the advanced settings.
I have several flows that depend on a multi-select Person column from SPO. The JSON for the Person object used to be something like this:
"CCPeople": [ { "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", "Id": 22, "Email": email address removed for privacy reasons, "Department": "HR", "Value": "Person Name 1" }, { "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", "Id": 1027, "Email": email address removed for privacy reasons, "Department": "HR", "Value": "Person Name 2" } ],
Each Object in the Array of CC People had the AAD/Office attributes like internal email address, department, etc, now they are spread out across several columns like this:
"CCPeople": [ { "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", "Id": 22, "Value": "Person Name 1" }, { "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", "Id": 1027, "Value": "Person Name 2" } ], "email address removed for privacy reasons": "#Collection(Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference)", "CCPeople#Id": [ 22, 1027 ], "CCPeople#email address removed for privacy reasons": "#Collection(Int64)", "CC_x0020_People_x003a_E_x002d_Ma": [ { "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", "Id": 22, "Value": "email address removed for privacy reasons" }, { "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", "Id": 1027, "Value": "email address removed for privacy reasons" } ], "email address removed for privacy reasons": "#Collection(Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference)", "CC_x0020_People_x003a_E_x002d_Ma#Id": [ 22, 1027 ], "CC_x0020_People_x003a_E_x002d_Ma#email address removed for privacy reasons": "#Collection(Int64)", "CC_x0020_People_x003a_Department": [ { "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", "Id": 22, "Value": "1301" }, { "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", "Id": 1027, "Value": "1330" } ], "email address removed for privacy reasons": "#Collection(Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference)", "CC_x0020_People_x003a_Department#Id": [ 22, 1027 ], "CC_x0020_People_x003a_Department#email address removed for privacy reasons": "#Collection(Int64)", "CC_x0020_People_x003a_Name": [ { "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", "Id": 22, "Value": "Person Name 1" }, { "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference", "Id": 1027, "Value": "Person Name 2" } ], "email address removed for privacy reasons": "#Collection(Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference)", "CC_x0020_People_x003a_Name#Id": [ 22, 1027 ], "CC_x0020_People_x003a_Name#email address removed for privacy reasons": "#Collection(Int64)",
I realize I can add the new columns and iterate through the root column, take the Id and iterate through the email column to find a match and then use this UPN to perform a Get User Profile / Office action to see all of the properties - at this point I'm just curious and a little hopeful there's a better way to retrieve all of a User's properties.
I also realize these are the typical values for a lookup, so check out this weird situation:
1) Lookup column values while creating a new item in sharepoint list (these are users and AAD groups):
2) CC People lookup reference table (supposedly!):
3) The columns and data available in the ScopeType table:
You'll notice that the lookup results shown in the CC People field do not match the items ScopeType table. The CC People field was originally configured as a Person column that could be multiple selected and also accepted the selection of Groups. Now it shows an connection to the ScopeType table, which is blatantly not the case as I'm being shown AAD Groups, all Users (even system users), and Sharing Links.
Any thoughts on how to fix this? The CC People column has the column type greyed out - I didnt think this sort of switch possible!
Here's a JSON snip from the trigger two weeks ago: