Showing results for 
Search instead for 
Did you mean: 
Helper IV
Helper IV

Update SP list item from canvas app with different form controls

My canvas app submits a new SP form [Form1] to a SP list, runs a Flow to create a site based on info in the form, and then displays a success/error message based on the response from PowerAutomate.  When they get the failure screen, a button is presented that they can click on to navigate to a new screen where they can edit the field which caused the fail message.

I cannot figure out how to update the current item on the new screen which displays a new form control [Form3] with just the field they need to edit [ProjectName].   Below is a screenshot of the screen, and I have included relevant properties and their corresponding code I have entered.

 Form3 Properties:

DefaultMode: Edit
Item: [blank]

Project Name_DataCard3 Properties:

  !IsBlank(Form1.LastSubmit.ID), Form1.LastSubmit.ProjectName,

Also note, when testing [hitting play button], Form3 states it is 'getting your data,' but never loads.  Certain this is due to the fact that there isn't any filter on the Form properties to get the values of Form1.LastSubmit.


Accepted Solutions
Helper IV
Helper IV

Lol, apparently my original code was fine and I was accidentally checking the wrong list 🙃

View solution in original post




Use the Patch function


Modify or create a set of records in a data source

Patch( DataSource, BaseRecordsTable, ChangeRecordTable1 [, ChangeRecordTable2, … ] )

  • DataSource – Required. The data source that contains the records that you want to modify or will contain the records that you want to create.
  • BaseRecordTable – Required. A table of records to modify or create. If the record came from a data source, the record is found and modified. If the result of Defaults is used, a record is created.
  • ChangeRecordTable(s) – Required. One or more tables of records that contain properties to modify for each record of the BaseRecordTable. Change records are processed in order from the beginning of the argument list to the end, with later property values overriding earlier ones.



You can also use the UpdateIf function

but if so, you should double check the conditions and change record.


Use the Update function to replace an entire record in a data source. In contrast, the UpdateIf and the Patch functions modify one or more values in a record, leaving the other values alone.

UpdateIf( DataSource, Condition1, ChangeRecord1 [, Condition2, ChangeRecord2, ... ] )

  • DataSource – Required. The data source that contains the record or records that you want to modify.
  • Condition(s) – Required. A formula that evaluates to true for the record or records that you want to modify. You can use column names of DataSource in the formula.
  • ChangeRecord(s) - Required. For each corresponding condition, a change record of new property values to apply to records of DataSource that satisfy the condition. If you provide the record inline using curly braces, property values of the existing record can be used in the property formulas.


In your case, you should double check that Form1.LastSubmit has a value or else Form1.LastSubmit.ID will not have any value as well. The form Form1 must be submitted for this to have a value.


Also, does Form1.LastSubmit.ID need to have Value surrounding it? When we re-checked it now, Form1.LastSubmit.ID already should return a number when used in SharePoint List, and the data type should match the underlying data source of this particular formula - is there specific reason it must have Value surrounding it?

Thanks, I had Patch first but this created an entirely new record in the SP list.  And you are correct, I only want to change that one field which is why I used UpdateIf or Patch, but thanks for the additional reference info!


Yes, in order to get to that screen, I would have already submitted the Form1 form -- as the reason I need this screen is because the Flow was not able to create the site because the site with that Project Name already exists.  


Yes, Value needs to be there otherwise I get an error that PowerApps can't read the function because it's expecting an integer.  I appreciate this text, but I'm not sure this helps my specific issue as I'm not sure what to do with this information since I already know this??  Thanks for your input all the same!

Helper IV
Helper IV

Lol, apparently my original code was fine and I was accidentally checking the wrong list 🙃

Helpful resources

Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

Carousel_PP_768x460_Wave2 (1).png

2022 Release Wave 2 Plan

Power Platform release plan for the 2022 release wave 2 describes all new features releasing from October 2022 through March 2023.

365 EduCon 768x460.png

Microsoft 365 EduCon

Join us for two optional days of workshops and a 3-day conference, you can choose from over 130 sessions in multiple tracks and 25 workshops.

Top Solution Authors
Users online (3,064)