How to Fix the “Expected Record Value” Error in Power Apps

I was building an issue tracker for an appliance repair team when Power Apps put a red line under a formula that looked perfectly reasonable, with the message “Expected Record value.” I wanted the Assigned To box to show the technician from the selected ticket. I gave it the technician’s name, and Power Apps said no.

The fix takes one line, but it helps to understand why the error happens, because the same mistake shows up in combo boxes, people pickers, dropdowns and Patch formulas. In this post, I’ll explain the cause and show the fix for classic and modern controls.

Quick answer: The error means a property needs a record (a whole row, such as a person with a name, email and claims) but your formula gave it text, such as .DisplayName. In a combo box, don’t use the deprecated Default property. Set DefaultSelectedItems to the record itself, for example varIssue.'Issue Assigned To'. The modern combo box needs a table, so wrap it: Table(varIssue.'Issue Assigned To').

How the error happens

My SharePoint list, Product Issue Tracker, has these columns:

ColumnType
Product IDSingle line of text (the Title column)
ProductChoice: Washing Machine, Television, Oven, Refrigerator
Issue Assigned ToPerson or Group
Is Still Issue Is ActiveYes/No
Issue Start DateDate and Time
Issue Resolved DateDate and Time
SharePoint Product Issue Tracker list with product, assigned person, status and dates

In the app, a gallery lists the issues, and an edit form shows the selected one. The gallery’s OnSelect saves the selected item with Set(varIssue, ThisItem):

Power Apps edit form showing the issue selected in the gallery

The Issue Assigned To field in the form is a combo box. I tried to set its default to the assigned person’s name:

Default = varIssue.'Issue Assigned To'.DisplayName

And that’s where Power Apps showed the error:

Expected Record value error on the combo box Default property formula

Why Power Apps expects a record

In Power Apps, a record is one row with several fields, like {DisplayName: "Adele Vance", Email: "adelev@contoso.com", ...}. A table is a list of records. A person column in SharePoint is a record, and a combo box works with records from its Items, so it can match what you select against the list of people.

.DisplayName takes just the name out of the record, so the combo box gets the text “Adele Vance” instead of the person. It can’t use text where it needs a record, hence “Expected Record value.” The related error, “Expected Table value,” means the property needed a table and got a single record or a value.

The fix: use DefaultSelectedItems with the record

The Default property of the combo box is deprecated. Select the combo box, clear Default, and set DefaultSelectedItems to the person record, without .DisplayName:

DefaultSelectedItems = varIssue.'Issue Assigned To'

If you don’t use a variable, the gallery’s selection works too: Gallery1.Selected.'Issue Assigned To'. Use the same source you use for the form’s Item, so they always match:

Combo box DefaultSelectedItems property set to the Issue Assigned To column of the selected item

Preview the app and select an issue. The combo box shows the assigned person:

Combo box showing the person assigned to the issue selected in the gallery

Other cases and their fixes

You’re using the modern combo box

The modern Combobox is stricter: its DefaultSelectedItems must be a table of records. Wrap the single record in Table():

Table(varIssue.'Issue Assigned To')

The modern combo box also allows multiple selections by default. For a single-person column, set SelectMultiple to false.

The column allows multiple selections

If the SharePoint column allows multiple people or choices, the value is already a table. Pass the column itself, and don’t add First(), .DisplayName or .Value. Mixing a multi-select column with a single-select combo box (or the other way around) is one of the most common triggers of this error, so check both settings.

The combo box is inside an edit form

Inside a form’s data card, you usually don’t need to set anything on the combo box. Set the form’s Item to the selected record (varIssue), and the data card fills the people picker for you. Hand-set DefaultSelectedItems only for a combo box outside a form.

You’re building a person record by hand

For a default of “me” or in a Patch, you need the full person shape, not just a name. This pattern is widely used for SharePoint person columns; test it in your app:

{
    Claims: "i:0#.f|membership|" & Lower(User().Email),
    DisplayName: User().FullName,
    Email: User().Email,
    Department: "",
    JobTitle: "",
    Picture: ""
}

A dropdown or choice column

The same rule applies to choice columns: a choice is a record with a Value field. Set a default with {Value: "Oven"} or LookUp(Choices([@'Product Issue Tracker'].Product), Value = "Oven"), not with the text “Oven” alone.

If the default doesn’t update

DefaultSelectedItems only applies until someone changes the selection. If you change the source record and the combo box still shows the old person, reset it with Reset(ComboBox1). For more on defaults, see how to set a combo box default value in Power Apps.

These Power Apps combo box tutorials may help next:

Frequently Asked Questions

What does “Expected Record value” mean in Power Apps?

The property needs a record, such as a whole person or choice, but the formula gave it text, a number or a table. Microsoft explains the combo box properties in its Combo box control reference.

How do I set a default person in a Power Apps combo box?

Set DefaultSelectedItems to the person record, for example varIssue.’Issue Assigned To’. For the modern combo box, wrap it in Table().

Should I use Default or DefaultSelectedItems?

Use DefaultSelectedItems. The Default property of the combo box is deprecated.

What’s the difference between a record and a table in Power Apps?

A record is one row with fields. A table is a list of records. Selected returns a record, and SelectedItems returns a table.