Upsert Operations in PowerApps How to Update or Insert Data Efficiently

Upsert Operations in PowerApps: How to Update or Insert Data Efficiently

In many business scenarios, the need arises to either update an existing database record or create a new one if it doesn’t already exist. This operation, often referred to as “upsert” (update + insert), can be efficiently handled in PowerApps. This guide provides a step-by-step approach to implementing this functionality, using a client database as an example.

Understanding the Upsert Requirement

Maintaining data integrity and avoiding redundancy is vital in database management. The ‘upsert’ operation can be a lifesaver here. For instance, consider a SharePoint client list where the unique identifier is the email address. The objective is to update the client’s information if their email already exists, or insert a new client record if it doesn’t.

Employing the Patch Function

PowerApps offers the patch function, which facilitates upsert operations. This function needs a data source, the record to be updated or inserted, and the relevant data to be added or updated.

For comprehensive details on the patch function, visit the official documentation.

Creating the Data Entry Interface

Start by incorporating an edit form on your screen. Ensure the data source is set to your intended list, such as the ‘client’ SharePoint list. Modify the ‘default mode’ of the form to ‘new’. Utilize the ‘edit fields’ link from the properties panel to insert the necessary fields into the data form. Finally, append a button to your screen. Assign the subsequent formula to the OnSelect property to execute the upsert:

Patch(ClientList, Coalesce(LookUp(ClientList, Email=EmailInput.Text)
,Defaults(ClientList)), FormUpdates.Updates)

In this formula, the LookUp function attempts to find a record based on the email input. If none is found, Defaults ensures a new record is generated. FormUpdates represents the form containing the client’s details.

Running Your Application

Once all steps are completed, run your app. Enter client data and observe how the application efficiently handles the insertion of new records or updates existing ones, ensuring that your database remains accurate and up-to-date.


In summary, the implementation of the upsert operation in PowerApps using the patch function offers a streamlined and efficient approach to database management. This functionality is crucial for maintaining data integrity and avoiding redundancy, especially in business scenarios where data accuracy is paramount. By following the steps outlined in this guide, users can create a robust data entry interface in PowerApps that intelligently decides whether to update an existing record or insert a new one based on unique identifiers such as email addresses. This not only enhances the functionality of your PowerApps application but also ensures a smoother, error-free data management process. Remember, the key to successful implementation lies in understanding the specific requirements of your database and tailoring the upsert operation accordingly. With these tools and techniques, PowerApps developers are well-equipped to handle complex data scenarios with ease and efficiency.
Need further assistance or have questions ? We’re here to help. Please feel free to reach out to us


About The Author