How to Patch SharePoint Choice, Lookup and Person Columns in Power Apps
Text columns are easy to Patch. Choice, lookup and person columns expect records, and the wrong shape gives errors like 'the type of this argument does not match the expected type'. Here's the syntax for each.
Choice column
Patch(Requests, Defaults(Requests), { Status: { Value: "Approved" } })Multi-select choice takes a table:
{ Tags: Table({ Value: "Urgent" }, { Value: "Finance" }) }Lookup column
A lookup needs the ID of the item in the other list, plus its value:
{ Department: { Id: DeptDropdown.Selected.ID, Value: DeptDropdown.Selected.Title } }Person column
A person needs a claims string and the user's details. For the current user:
{ Owner: { Claims: "i:0#.f|membership|" & Lower(User().Email), DisplayName: User().FullName, Email: User().Email, Department: "", JobTitle: "", Picture: "" } }For someone picked in a combo box bound to Office365Users, build the same record from the selected user's Mail and DisplayName.
Yes/No, number and date
- Yes/No: { Paid: true }
- Number: { Amount: Value(AmountInput.Text) }
- Date: { DueDate: DueDatePicker.SelectedDate }
When Patch still fails
- Use the column's internal name if it was renamed after creation.
- Required columns must be included when creating a new item.
- Wrap Patch in IfError() and show the message with Notify() so users see what went wrong.
Want this done for you?
I build this for clients every week. Book a free 30-minute call and I'll tell you exactly what your team needs.