Alright @Oktay I made an example.
This has 2 flows. Flow 1 triggers when an item is created in the orders SharePoint list and sends an email to the contractor. Flow 2 triggers when a form is submitted and will verify the submission information and then update the item in the orders SharePoint list.
Flow 1 - Create Email - Overview
Flow 1 is pretty straightforward. It just needs to send an email when the item is created. In my example I added some variables that can be used to format the hyperlink that is in the email.
Flow 2 - FormResponse UpdateItem - Overview
Flow 2 may seems more complicated, but it is really just using some Condition actions to double check what the contractor submitted in the form.
First I am starting by showing my Orders SharePoint list and the info that I have in the columns. Primarily the OrderID is a text type column where it can be a unique identifier for the order. There should be no other orders in the list with the same OrderID.
The column ConfirmationStatus_Choice is a choice type column that is default to "Pending", but can have the options for "Confirmed" and "Decline". These choice responses match the options that will be on the contractor's confirmation form.
SharePoint List - Confirmation Choice Column
The column Confirmation_DateTime is a datetime type column and will be filled in with the time that the contractor submits their form. So it is blank when an item is created.
SharePoint List - Confirmation DateTime Column
The automatic ID number column for the SharePoint list is what I will be referring to as OrderNumber.
OrderID = unique text type identifier for an order such as "AB1234"
OrderNumber = SharePoint Automatic ID number column
So I created my first item/order in the SharePoint list
SharePoint List Orders
This will trigger the Flow 1 which sends an email to the contractor.
Flow 1 Overview - Send Email
Here are the individual actions.
Flow 1 Actions Detail
The first action - Initialize Variable - is where you will copy and paste the link to the form that the contractor will submit.
The second action - Initialize Variable 2 - is where you will type the text that you want the hyperlink to the form to say in the email. If you want the form hyperlink to say "Click Here for Form" then you will just type that text into this variable.
The third action - Initialize Variable 3 - Is the variable that you will put into the email. It uses the previous variables to format the HTML link. To format a hyperlink in an email you have to use the html format:
<A HREF = "{link}">{hyperlinktext}</A>
I have put the variables into the {link} and {hyperlinktext} spaces. So you don't need to do anything with this variable. It will work exactly like the example.
The fourth action is Send an Email (V2) - this is the email that will go to the contractor. You can edit the text however you want obviously.
Below is an example of the email received:
Email to Contractor
The contractor will follow the hyperlink to complete the submission form.
I made an example submission form below.
Example Confirmation Form
The main parts of the form are the first question which is a text response for them to put the OrderID. The second question which is a number response for them to put the OrderNumber which is basically the SharePoint list item number. And the last question which is a choice for them to Confirmed or Decline the order.
When they submit the form, the second flow will trigger.
Flow 2 Overview - FormResponse UpdateItem
The first part of the second flow is to get the form response and put the OrderID and OrderNumber that the contractor submitted into variables. These variables will be used throughout the flow.
In the first Initialize Variable OrderNumberFormSubmission this is an integer type variable. The form response must be put into the int() integer expression so that the value will be an integer. (I don't know why the MS Form will have a number response that goes into Power Automate as a string, but we have to convert the string into a number using int() expression.)
The second Initialize Variable 2 OrderIDFormSubmission is a string variable that will hold the OrderID that the contractor typed into the form. If you wanted to wrap this in a trim() expression to remove any spaces you could, but I didn't in the example.
Flow 2 - Detail 1 - FormResponse Initialize Variables
The second part of Flow 2 will be to Get Items from the Order SharePoint list while using a Filter Query with the OrderID from the form response. This is used to check if there even is an OrderID that matches what the contractor wrote in their form. You can use the variable OrderIDFormSubmission or the dynamic content from the form response, but in the example I used the form response dynamic content.
The Condition - Check Results from Get Items will check how many items were returned from the Get Items action by using the length() expression on the values of Get Items. If no values were returned, that means the contractor put in an incorrect OrderID and the length() of the Get Items will be 0 zero.
So if the contractor put in the incorrect OrderID, it will send the condition to Yes which is an action to send You an email to go double check the issue.
Flow 2 - Detail 2 - Get Items Condition Check
The third part of the flow is based on the Condition - Check Results of Get Items which checked the length of the Get Items. So if no OrderID is found in the SharePoint list you can send yourself an email or something to go doublecheck the issue.
If the length of Get Items is not 0 zero; then some item or items were found with the same OrderID that was written by the contractor.
So there is a Get Item step which uses the variable OrderNumberFormSubmission as the Id for the Get Item. This will return the item with the same number.
The next step is to compare the item that was just pulled from Get Item and the OrderID for that item with the OrderID that was submitted by the contractor. This condition compares the two OrderID to determine if it is the same that matches the OrderNumber (ItemID).
Flow 2 - Detail 2 - Get Item Compare OrderID
NOTE: There is a option ... on the Condition which is Configure Run After. Select this option and set the configuration to Is Successful AND Has Failed. This is so that if the contractor puts in an OrderNumber that doesn't exist, it will still send an error email instead of failing the entire flow at the Get Item action.
Condition Configure Run After
The final part of Flow 2 will update the item with the Confirmation Status choice from the form response question the contractor selected and the Confirmation Datetime with the form response submission date.
If the OrderID from the Get Item and the OrderID from the form response variable do not match (or the Get Item failed due to non-existent Id number), you can send an email to yourself to check on the issue.
Flow 2 - Detail 4 - Update Item
When the flow is successful and the OrderID and the OrderNumber match correctly then the item in the SharePoint list will have to ConfirmationStatus_Choice and Confirmation_DateTime columns updated accordingly.
SharePoint List Item Confirmed
Your flows do not have to look exactly like mine, but I wanted to add the option for using OrderID and OrderNumber as a way to confirm the contractor used the correct information.
If this helps please mark this as a solution to your post, and if you have any specific questions or issues please ask them, but also include screenshots with whatever error you are having.