When you start building real apps in Power Apps, the combo box and the Patch function quickly become two of your best friends.
They give you a lot of control over how users select data and how that data is saved to SharePoint or collections. But they can also be a bit confusing, especially when you deal with choices, people fields, or lookup columns.
In this Power Apps tutorial, we will walk through the topics below:
- Power Apps Patch function works with combo boxes
- Patch a single combo box value to a SharePoint list
- Power Apps patch multiple selected values
- How to patch people fields and lookup columns
- Patch Power Apps combo box values to a collection
Assume you already know how to create a Power Apps canvas app and connect it to SharePoint. We will focus on the combo box and the Patch part.
Scenario 1: Patch Power Apps Combo Box Value to SharePoint List
Imagine a SharePoint list named Workers with:
| Column | Data type |
|---|---|
| Title | Single line of text |
| WorkMode | Choice [WFH, WFO, Hybrid] |

In a Power Apps canvas app:
- Connect the Workers list as a data source.
- Add a Text input Txt_WorkerTitle for the worker’s name.
- Add a Combo box Cmb_WorkMode and set its Items property:
Choices(Workers.WorkMode)

This tells Power Apps to load all the allowed choices from the WorkMode column. The combo box now returns records in the correct format for that column.
Add a Save button and set OnSelect:
Patch(
Workers,
Defaults(Workers),
{
Title: Txt_WorkerTitle.Text,
WorkMode: Cmb_WorkMode.Selected
}
)

Key points:
- For a SharePoint Choice column, you can pass
Selecteddirectly when Items uses Choices(List.Column). - You do not need to manually build { Value: “WFH” } in this case.
Preview the app, enter “Smith”, select “Hybrid”, and click Save.

Refresh the SharePoint list. You should see a new item in the Workers list with the correct WorkMode as below.

Scenario 2: Patch Combo Box Selected Value Without a Power Apps Button
Sometimes you want to automatically patch when the user selects a value, without a Save button. For example, each time the user selects a work mode, a new record is created.
Use the same combo box and text input. This time, set the combo box’s OnChange property:
Patch(
Workers,
Defaults(Workers),
{
Title: Txt_WorkerTitle.Text,
WorkMode: Cmb_WorkMode.Selected
}
)

Now, when the user types a name and changes the combo box selection, a new row is patched into the Workers list immediately.


When to use:
- Small utility apps.
- Internal tools where instant save is fine.
When not to use:
- Forms where the user expects a chance to review and then save.
- Scenarios that need validation before saving.
Scenario 3: Power Apps Patch Combo Box Multiple Values (multi‑select choice)
Combo boxes really shine when you enable multi‑select. Let’s extend the Workers list so one person can have multiple work modes.
Steps in SharePoint:
- Edit the WorkMode column.
- Turn on Allow multiple selections.
- Save the column.

Back in Power Apps:
- Select Cmb_WorkMode.
- Turn on Allow multiple selection in the right pane.
- Keep Items as:
Choices(Workers.WorkMode)

Now update the Save button to:
Patch(
Workers,
Defaults(Workers),
{
Title: Txt_WorkerTitle.Text,
WorkMode: Cmb_WorkMode.SelectedItems
}
)

Important details:
- For multi‑choice columns, you must pass a table of records.
- SelectedItems already returns a table of choice records, so you do not need to loop or use ForAll.
- Make sure the SharePoint column allows multiple choices, only one will be stored.
Example:
- Title: “Elena”
- WorkMode: WFH and WFO selected in the combo box

Save the record and check the list: both choices should be stored in the same row.

Scenario 4: Patch Power Apps Combo Box to a SharePoint Person Field
SharePoint Person columns are more complex because, behind the scenes, they store an object with email, claims, and other metadata.
Let’s say your Workers list now has:
- Name (Person or Group, single selection)
- WorkMode (Choice)

Step 1: Build a People Combo Box
- Add the Office365Users connector.
- Add a combo box
Cmb_Worker. - Set Items:
Office365Users.SearchUser()
- In the Fields section on the right:
- Primary text: DisplayName
- Search field: Mail
Now, the combo box searches for users by name and displays their display names.

Add a radio control Rdo_WorkMode and set Items:
Choices(Workers.WorkMode)

Step 2: Simple pattern when using a SharePoint person card
If you are using a Power Apps Edit form and the person data card it created for you, the combo box in that card will already be wired correctly. In that case, you can often just use the Form and the SubmitForm function, and you do not need a custom Patch for the Person field.
Step 3: Build the Person object manually
When your Items come from Office365Users.SearchUser() is not using a SharePoint Person data card, you can build the person value yourself:
Patch(
Workers,
Defaults(Workers),
{
Name: {
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
Claims: "i:0#.f|membership|" & Cmb_Worker.Selected.Mail,
DisplayName: Cmb_Worker.Selected.DisplayName,
Email: Cmb_Worker.Selected.Mail,
Department: "",
JobTitle: "",
Picture: ""
},
WorkMode: Rdo_WorkMode.Selected
}
)
Notes:
- The Claims format can vary between tenants, but the “i:0#.f|membership|” & Email pattern is very common.
- You can leave Department, JobTitle, and Picture empty if you do not use them.
- This pattern is useful when you have a completely custom screen.

Scenario 5: Power Apps Patch Combo Box to a SharePoint Lookup Column
SharePoint Lookup columns also store records behind the scenes. A combo box is a good way to select one or more related records.
Assume you have two lists:
- Organizer
- Title (text)
- Organizer ID (Number)

- Events
- Title (text)
- Organizer (Lookup to Organizer.Title)
- ID_Organizer (Lookup to Organizer.Organizer ID)
- The default lookup created by SharePoint (Organizer:ID)

Step 1: Bind the combo box
In Power Apps:
- Connect the Events list.
- Add a text input
Txt_Event_Title. - Add a combo box
Cmb_Organizer. - Set Items:
Choices(Events.Organizer)

Because you are using Choices(Events.Organizer), the combo box returns records in the right shape for the lookup column.
Step 2: Patch the lookup value
Set the Save button OnSelect:
Patch(
Events,
Defaults(Events),
{
Title: Txt_Event_Title.Text,
Organizer: {
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
Id: Cmb_Organizer.Selected.Id,
Value: Cmb_Organizer.Selected.Value
}
}
)
Why this works:
- SharePoint expects the SPListExpandedReference type for lookup fields.
Idis the ID of the related item in the Organizer list.Valueis the text value shown in the lookup column (Organizer Title).

If the Events list also includes a lookup to Organizer ID, you can configure a second combo box or reuse the same selection and patch that lookup column in a similar way, using the right Id and Value from the related list.


Scenario 6: Patch combo box value to a Power Apps collection
You do not always need SharePoint. Sometimes you just want to build a collection and show the data in a gallery.
Let’s build a simple project list in a collection collProject with:
- ProjectName (text)
- Technology (text)
Step 1: Create the collection
On the screen’s OnVisible:
ClearCollect(
collProject,
{ ProjectName: "Project1", Technology: "Python" }
)
Add a vertical gallery and set Items:
collProject

Step 2: Add the combo box and patch
Add:
- Text input Txt_ProjectName
- Combo box
Cmb_Technology
Set Items of Cmb_Technology:
["Python", "SharePoint", "Power Apps"]

Now set the Save button OnSelect:
Patch(
collProject,
Defaults(collProject),
{
ProjectName: Txt_ProjectName.Text,
Technology: Cmb_Technology.Selected.Value
}
);
Reset(Txt_ProjectName);
Reset(Cmb_Technology);

What is happening:
- Defaults(collProject) returns an empty record shape.
- The Power Apps Patch adds a new record to the collection.
- The gallery updates automatically because it is bound to the collProject.

You can later patch this collection to SharePoint or Dataverse, or keep it local for temporary data.

Updating existing records with Power Apps Combo box and Patch
So far, we focused on creating new records using Defaults(DataSource). Very often, you want to update an existing record instead.
A common pattern:
Patch(
Workers,
LookUp(Workers, ID = Gallery_Workers.Selected.ID),
{
WorkMode: Cmb_WorkMode.Selected
}
)
Key ideas:
- Use LookUp on the data source to get the existing record you want to change.
- Change only the fields you want to update; other fields stay as they are.
- This pattern is ideal for “Edit details” screens where the combo box is inside a form or gallery.
You can use the same idea for person fields, lookup columns, and collections.
Common mistakes and how to avoid them
Here are some issues you will probably run into at some point, and how to fix them.
- Using .Selected.Value when the column expects a record
- Symptom: Patch fails or stores a blank value.
- Fix: For Choice and Lookup columns where Items is Choices(List.Column), use .Selected or .SelectedItems instead of .Selected.Value.
- Not enabling multiple selections in SharePoint
- Symptom: Only one value is saved even when using SelectedItems.
- Fix: In SharePoint, open the column settings and turn on Allow multiple selections.
- Combo box Items not matching the SharePoint field
- Symptom: Patch works for the visible text but related fields are blank or the patch fails.
- Fix:
- For SharePoint Choice/Lookup: use Choices(List.Column) as Items.
- For Person columns: use a people data card or build the user object using @odata.type.
- Wrong
@odata.typefor Person or Lookup columns- Symptom: Patch fails with a type or schema error.
- Fix:
- Person:
"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser". - Lookup:
"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference".
- Person:
- Trying to patch multiple complex values using a dropdown
- Symptom: You cannot select more than one item or store multiple people or choices.
- Fix: Use a combo box for multi‑select Person, Lookup, and Choice fields; dropdown does not support multiple selection.
We have seen how to use the Patch function with Power Apps combo boxes in different real‑world scenarios, such as patch a single combo box value to a SharePoint list, Patch selected values without a button, patch multiple values to a multi‑choice column, and more.
Also, you may like some more Power Apps tutorials:
- Patch Dataverse Choice Column in Power Apps
- Patch Power Apps Date Picker
- Patch a Collection in Power Apps
- Patch Power Apps Date Picker
- Power Apps Gallery Patch
- Power Apps Stuck On “Getting your data”

Preeti Sahu is an expert in Power Apps and has over six years of experience working with SharePoint Online and the Power Platform. She is the co-author of Microsoft Power Platform: A Deep Dive book. As a Power Platform developer, she has worked on developing various tools using Power Apps and Power Automate. She also makes Microsoft 365 videos and shares them on YouTube.